UserRelationshipsController.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.zhentao.userRelationships.controller;
  2. import com.zhentao.config.NullLogin;
  3. import com.zhentao.tool.TokenUtils;
  4. import com.zhentao.userRelationships.domain.UserRelationships;
  5. import com.zhentao.userRelationships.domain.UserRequest;
  6. import com.zhentao.userRelationships.dto.FriendDto;
  7. import com.zhentao.userRelationships.service.UserRelationshipsService;
  8. import com.zhentao.vo.Result;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.web.bind.annotation.*;
  11. import java.util.List;
  12. import java.util.Map;
  13. @RestController
  14. @RequestMapping("/userRelationships")
  15. public class UserRelationshipsController {
  16. @Autowired
  17. private UserRelationshipsService userRelationshipsService;
  18. @GetMapping("/getByUserId")
  19. @NullLogin
  20. public Result getByUserId(Long userId){
  21. List<UserRelationships> friendIdsByUserId = userRelationshipsService.getFriendIdsByUserId(userId);
  22. return Result.OK(friendIdsByUserId,"查询成功");
  23. }
  24. //添加好友发送申请
  25. @PostMapping( "/sendFriendRequest")
  26. @NullLogin
  27. public Result sendFriendRequest(@RequestHeader("token") String token, @RequestParam Long receiverId, @RequestParam String message) {
  28. String userIdFromToken = TokenUtils.getUserIdFromToken(token);
  29. return userRelationshipsService.sendFriendRequest(userIdFromToken, receiverId, message);
  30. }
  31. // 查询好友申请表
  32. @GetMapping("/getFriendRequests")
  33. @NullLogin
  34. public Result getFriendRequests(@RequestHeader("token") String token) {
  35. String userIdFromToken = TokenUtils.getUserIdFromToken(token);
  36. System.err.println(userIdFromToken);
  37. List<UserRequest> friendRequestsByUserId = userRelationshipsService.getFriendRequestsByUserId(userIdFromToken);
  38. return Result.OK(friendRequestsByUserId, "查询成功");
  39. }
  40. // 查询待处理的申请
  41. // @GetMapping("/getPendingFriendRequests")
  42. // @NullLogin
  43. // public Result getPendingFriendRequests(Long userId) {
  44. // List<UserRequest> pendingRequests = userRelationshipsService.getPendingFriendRequests(userId);
  45. // return Result.OK(pendingRequests, "查询成功");
  46. // }
  47. // 处理申请添加好友成功
  48. @PostMapping("/handleFriendRequest")
  49. @NullLogin
  50. public Result handleFriendRequest(@RequestParam Long requestId, @RequestParam boolean isAccepted) {
  51. return userRelationshipsService.handleFriendRequest(requestId, isAccepted);
  52. }
  53. //根据当前登录的用户获取所有好友并且按照首字母进行排序
  54. @GetMapping("/getFriendsByUserIdAndSort")
  55. @NullLogin
  56. public Result getFriendsByUserIdAndSort(@RequestHeader("token") String token) {
  57. try {
  58. // 从Token中解析用户ID
  59. String userIdFromToken = TokenUtils.getUserIdFromToken(token);
  60. if (userIdFromToken == null || userIdFromToken.isEmpty()) {
  61. return Result.error(null, "用户未登录");
  62. }
  63. Long userId = Long.parseLong(userIdFromToken);
  64. // 调用服务层获取排序后的好友列表
  65. List<Map<String, Object>> friends = userRelationshipsService.getFriendsByUserIdAndSort(userId);
  66. return Result.OK(friends, "查询成功");
  67. } catch (Exception e) {
  68. e.printStackTrace();
  69. return Result.error(null, "查询失败:" + e.getMessage());
  70. }
  71. }
  72. }