Skip to content

Commit

Permalink
app完善
Browse files Browse the repository at this point in the history
  • Loading branch information
cph999 committed Oct 13, 2024
1 parent 91313a9 commit 8d1a1db
Show file tree
Hide file tree
Showing 19 changed files with 893 additions and 203 deletions.
58 changes: 0 additions & 58 deletions musicBackend/src/main/java/com/cph/musicbackend/Test.java

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.cph.musicbackend.entity.Music;
import com.cph.musicbackend.entity.User;
import com.cph.musicbackend.mapper.MusicMapper;
Expand Down Expand Up @@ -40,7 +41,6 @@ private void pointCutMethodController() {}
@Around(value = "pointCutMethodController()")
public Object doAroundService(ProceedingJoinPoint joinPoint) throws Throwable {
ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
User user = new User();
if (requestAttributes != null) {
HttpServletRequest request = requestAttributes.getRequest();

Expand All @@ -56,21 +56,16 @@ public Object doAroundService(ProceedingJoinPoint joinPoint) throws Throwable {
ipAddress = request.getRemoteAddr();
}
ipAddress = ipAddress.split(",")[0]; // 如果有多个代理IP,取第一个

String token = request.getHeader("authorization");
if(StringUtils.isBlank(token)){
throw new Exception("请先登录");
}
User user = userMapper.selectOne(new QueryWrapper<User>().eq("token", token));
if(user == null )throw new Exception("请先登录");
user.setIpAddress(ipAddress);
}
// 没有用户,创建用户,添加默认歌曲
User ipAddress = userMapper.selectOne(new QueryWrapper<User>().eq("ip_address", user.getIpAddress()));
if(ipAddress == null){
userMapper.insert(user);
List<Music> musics = musicMapper.selectList(new QueryWrapper<Music>()
.like("url", "https://app102.acapp.acwing.com.cn").last("limit 20").orderByDesc("id"));
user.setMusics(musics);
userMapper.addDefaultMusics(user, new Date());
UserContext.setCurrentUser(user);
}else{
UserContext.setCurrentUser(ipAddress);
}

// 执行方法
Object result = joinPoint.proceed();
return result;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
package com.cph.musicbackend.common;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;

@Data
@Accessors(chain = true)
public class CommonResult<T> {
private Integer code;
private String message;
private T data;
private List<T> datas;

public CommonResult() {
}

public CommonResult(Integer code, String message, T data, List<T> datas) {
this.code = code;
this.message = message;
this.data = data;
this.datas = datas;
}

public CommonResult(Integer code, String message, T data) {
this.code = code;
this.message = message;
this.data = data;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.cph.musicbackend;
package com.cph.musicbackend.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.cph.musicbackend.aspect.RecognizeAddress;
import com.cph.musicbackend.aspect.UserContext;
import com.cph.musicbackend.common.CommonResult;
import com.cph.musicbackend.entity.Music;
import com.cph.musicbackend.entity.User;
import com.cph.musicbackend.mapper.MusicMapper;
Expand Down Expand Up @@ -44,10 +45,6 @@ public class MusicController {
@RecognizeAddress
public List<Music> getMusciList() {
User currentUser = UserContext.getCurrentUser();
if (!CollectionUtils.isEmpty(currentUser.getMusics())) {
return currentUser.getMusics();
}
//个性化音乐列表
User personalMuicList = userMapper.getPersonalMuicList(currentUser);
return personalMuicList.getMusics();
}
Expand Down Expand Up @@ -93,6 +90,18 @@ public Object add(@RequestBody Music music) {
return "添加成功";
}

/**
* 我的喜欢列表
* @return
*/
@PostMapping("/api/likeList")
@RecognizeAddress
public CommonResult likeList() {
User currentUser = UserContext.getCurrentUser();
User personalMuicList = userMapper.getLikeMuicList(currentUser);
return new CommonResult(200,"查新成功",null,personalMuicList.getMusics());
}

@PostMapping("/api/like")
@RecognizeAddress
public Object like(@RequestBody Music song) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package com.cph.musicbackend.controller;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cph.musicbackend.aspect.RecognizeAddress;
import com.cph.musicbackend.common.CommonResult;
import com.cph.musicbackend.entity.Music;
import com.cph.musicbackend.entity.User;
import com.cph.musicbackend.mapper.MusicMapper;
import com.cph.musicbackend.mapper.UserMapper;
import com.cph.musicbackend.utils.MD5Utils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.rmi.server.UID;
import java.util.Date;
import java.util.List;
import java.util.UUID;

@RestController
public class UserController {

@Autowired
UserMapper userMapper;

@Value("${md5.salt}")
private String salt;

@Autowired
MusicMapper musicMapper;

@PostMapping("/api/login")
public CommonResult login(@RequestBody User loginUser) {
User user = userMapper.selectOne(new QueryWrapper<User>().eq("username", loginUser.getUsername()));
Assert.notNull(user,"用户不存在");
String s = MD5Utils.MD5Lower(loginUser.getPassword(), salt);
if(s.equals(user.getPassword())){
user.setToken( UUID.randomUUID().toString());
userMapper.updateById(user);
return new CommonResult(200,"登录成功",user);
}else{
return new CommonResult(400,"账号或密码错误",null);
}
}

@PostMapping("/api/register")
public CommonResult register(@RequestBody User registerUser) {
User user = userMapper.selectOne(new QueryWrapper<User>().eq("username", registerUser.getUsername()));
Assert.isNull(user,"用户已存在");
registerUser.setPassword(MD5Utils.MD5Lower(registerUser.getPassword(), salt));
registerUser.setCover("https://yup1.oss-cn-hangzhou.aliyuncs.com/images/images/3.png");
userMapper.insert(registerUser);
List<Music> musics = musicMapper.selectList(new QueryWrapper<Music>()
.like("url", "https://app102.acapp.acwing.com.cn").eq("is_save",1).last("limit 20").orderByDesc("id"));
registerUser.setMusics(musics);
userMapper.addDefaultMusics(registerUser, new Date());
return new CommonResult(200,"注册成功",null);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@ public class User {
private String mac;
private String ipAddress;

private String password;
private String phone;
private String email;
private String nickname;
private String cover;

private String token;

@TableField(exist = false)
private List<Music> musics;

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ public interface UserMapper extends BaseMapper<User> {
*/
public User getPersonalMuicList(@Param("u") User user);

/**
* 查询喜欢的音乐
* @param user
* @return
*/
public User getLikeMuicList(@Param("u") User user);

/**
* 添加默认歌曲
*
Expand Down
Loading

0 comments on commit 8d1a1db

Please sign in to comment.