feat: friends related logic refactor

This commit is contained in:
merlin
2025-12-02 10:09:57 +08:00
parent 0ea6e13064
commit 3fce5b2f01
14 changed files with 353 additions and 11 deletions

View File

@@ -0,0 +1,69 @@
package xin.merlin.myplayerbackend.controller;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import xin.merlin.myplayerbackend.entity.Inviting;
import xin.merlin.myplayerbackend.entity.UserInfo;
import xin.merlin.myplayerbackend.service.impl.InvitingServiceImpl;
import xin.merlin.myplayerbackend.utils.JwtUtil;
import xin.merlin.myplayerbackend.utils.result.Response;
import xin.merlin.myplayerbackend.utils.result.ResultCode;
import java.util.Map;
import java.util.Objects;
import static com.baomidou.mybatisplus.extension.ddl.DdlScriptErrorHandler.PrintlnLogErrorHandler.log;
@RequestMapping("/inviting")
@RestController
@RequiredArgsConstructor
public class InvitingController {
private final InvitingServiceImpl invitingService;
private final JwtUtil jwtUtil;
@PostMapping("/friends")
Response requestFriend(@RequestHeader("Authorization")String token, @RequestBody UserInfo userInfo) {
try {
token = token.substring(7);
Integer id = jwtUtil.getId(token);
if (Objects.equals(id, userInfo.getId())) return Response.success(ResultCode.INVITING_ILLEGAL_REQUEST);
if(invitingService.inviting(id,userInfo.getId(),null)) return Response.success(ResultCode.SUCCESS);
return Response.success(ResultCode.INVITING_REQUEST_ERROR);
} catch (Exception e) {
log.error(e.getMessage());
return Response.fail(ResultCode.SERVER_ERROR);
}
}
@GetMapping("/friends/get")
Response getFriend(@RequestHeader("Authorization")String token, @RequestParam Integer size, @RequestParam Integer page) {
try {
token = token.substring(7);
Integer id = jwtUtil.getId(token);
return Response.success(ResultCode.SUCCESS, invitingService.getInvitingDetail(id,size,page));
} catch (Exception e) {
log.error(e.getMessage());
return Response.fail(ResultCode.SERVER_ERROR);
}
}
@PostMapping("/friends/handle")
Response handleFriend(@RequestHeader("Authorization")String token, @RequestBody Inviting inviting) {
try {
token = token.substring(7);
Integer id = jwtUtil.getId(token);
if(!inviting.getTarget().equals(id)) return Response.success(ResultCode.INVITING_ILLEGAL_RESPONSE);
if(!invitingService.handleFriendInviting(inviting)) return Response.success(ResultCode.SERVER_ERROR);
return Response.success(ResultCode.SUCCESS);
} catch (Exception e) {
log.error(e.getMessage());
return Response.fail(ResultCode.SERVER_ERROR);
}
}
}