LotFansController.java 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package cn.hobbystocks.auc.web;
  2. import cn.hobbystocks.auc.common.core.domain.AjaxResult;
  3. import cn.hobbystocks.auc.common.user.UserUtils;
  4. import cn.hobbystocks.auc.domain.LotFans;
  5. import cn.hobbystocks.auc.request.LotFansTogglePageRequest;
  6. import cn.hobbystocks.auc.request.LotFansToggleRequest;
  7. import cn.hobbystocks.auc.response.FavoriteOperationResponse;
  8. import cn.hobbystocks.auc.response.LotFansResponse;
  9. import cn.hobbystocks.auc.service.LotFansService;
  10. import cn.hobbystocks.auc.vo.FansVO;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiOperation;
  13. import lombok.extern.slf4j.Slf4j;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.util.CollectionUtils;
  16. import org.springframework.web.bind.annotation.PostMapping;
  17. import org.springframework.web.bind.annotation.RequestBody;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RestController;
  20. import java.util.List;
  21. import static cn.hobbystocks.auc.common.utils.PageUtils.startPage;
  22. @RestController
  23. @RequestMapping("/api/bid/fans")
  24. @Slf4j
  25. @Api(tags = "关注拍品相关接口")
  26. public class LotFansController {
  27. @Autowired
  28. private LotFansService lotFansService;
  29. /**
  30. * 收藏/取消收藏拍品
  31. */
  32. @ApiOperation(value = "收藏/取消收藏拍品", notes = "根据isLike参数进行收藏或取消收藏操作", response = FavoriteOperationResponse.class)
  33. @PostMapping("/toggle")
  34. public AjaxResult toggleFavorite(@RequestBody LotFansToggleRequest request) {
  35. Boolean result = lotFansService.toggleFavorite(request);
  36. if (Boolean.TRUE.equals(result)) {
  37. return AjaxResult.success();
  38. } else {
  39. return AjaxResult.error();
  40. }
  41. }
  42. /**
  43. * 查询用户收藏的拍品列表(分页)
  44. */
  45. @ApiOperation(value = "查询用户收藏的拍品列表(分页)", notes = "分页查询当前用户收藏的拍品列表", response = LotFansResponse.class, responseContainer = "List<LotFansResponse>")
  46. @PostMapping("/fansPage")
  47. public AjaxResult page(@RequestBody LotFansTogglePageRequest request) {
  48. startPage(request);
  49. List<LotFansResponse> list = lotFansService.page(request);
  50. return AjaxResult.successPage(list);
  51. }
  52. @ApiOperation("检查当前用户是否关注了指定的拍卖品")
  53. @PostMapping("/isFans")
  54. public AjaxResult isFans(@RequestBody FansVO fansVO) {
  55. List<LotFans> lotFansList = lotFansService.selectLotFansList(LotFans.builder()
  56. .lotId(fansVO.getLotId())
  57. .userId(UserUtils.getSimpleUserInfo().getId().longValue())
  58. .type("user_like")
  59. .build());
  60. return AjaxResult.success(!CollectionUtils.isEmpty(lotFansList));
  61. }
  62. }