PublishThumbsController.java 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.ruoyi.app.controller;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.ruoyi.app.annotation.LoginAppUser;
  4. import com.ruoyi.app.base.AppLoginUser;
  5. import com.ruoyi.app.controller.base.AppBaseController;
  6. import com.ruoyi.app.domain.TbAppUser;
  7. import com.ruoyi.app.domain.TbPublishThumbs;
  8. import com.ruoyi.app.domain.vo.AppMemberVo;
  9. import com.ruoyi.app.service.ITbPublishThumbsService;
  10. import com.ruoyi.common.core.domain.AjaxResult;
  11. import io.swagger.annotations.Api;
  12. import io.swagger.annotations.ApiImplicitParam;
  13. import io.swagger.annotations.ApiImplicitParams;
  14. import io.swagger.annotations.ApiOperation;
  15. import lombok.RequiredArgsConstructor;
  16. import org.apache.poi.ss.formula.functions.T;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.web.bind.annotation.GetMapping;
  19. import org.springframework.web.bind.annotation.RequestMapping;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import java.util.Date;
  22. import java.util.List;
  23. /**
  24. * 点赞记录
  25. *
  26. * @author Alex
  27. * @date 2020-10-09
  28. */
  29. @Api(value = "点赞记录",tags = "点赞记录")
  30. @RequiredArgsConstructor(onConstructor_ = @Autowired)
  31. @RestController
  32. @RequestMapping("/app/thumbs" )
  33. public class PublishThumbsController extends AppBaseController {
  34. private final ITbPublishThumbsService thumbsService;
  35. /**
  36. * 点赞/取消
  37. * @param appUserId
  38. * @param publishId
  39. * @return
  40. */
  41. @ApiOperation("点赞/取消")
  42. @ApiImplicitParams({
  43. @ApiImplicitParam(name = "appUserId", value = "点赞人id",paramType="Long"),
  44. @ApiImplicitParam(name = "publishId", value = "发表id",paramType="Long")
  45. })
  46. @GetMapping("/action")
  47. public AjaxResult action(Long appUserId, Long publishId){
  48. // TODO 在点赞或取消时,APP端的点赞数组异步增加或去掉记录
  49. if (appUserId == null || publishId == null) {
  50. return AjaxResult.error("参数不能为空");
  51. }
  52. TbPublishThumbs thumbs = thumbsService.getOne(new LambdaQueryWrapper<TbPublishThumbs>()
  53. .eq(TbPublishThumbs::getPublishId, publishId)
  54. .eq(TbPublishThumbs::getAppUserId,appUserId)
  55. .last("limit 1")
  56. );
  57. AppMemberVo user = getLoginUser().getUser();
  58. Date date = new Date();
  59. // 点赞
  60. if (thumbs == null) {
  61. thumbs = new TbPublishThumbs();
  62. thumbs.setAppUserId(appUserId);
  63. thumbs.setPublishId(publishId);
  64. thumbs.setCreateBy(user.getUserId().toString());
  65. thumbs.setCreateTime(date);
  66. thumbsService.save(thumbs);
  67. } else { // 取消
  68. thumbsService.removeById(thumbs.getId());
  69. }
  70. // 点赞或取消后,返回点赞记录
  71. List<TbPublishThumbs> list = thumbsService.selectList(new LambdaQueryWrapper<TbPublishThumbs>()
  72. .eq(TbPublishThumbs::getPublishId,publishId)
  73. );
  74. return AjaxResult.success(list);
  75. }
  76. }