package com.ruoyi.app.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.app.annotation.LoginAppUser; import com.ruoyi.app.base.AppLoginUser; import com.ruoyi.app.controller.base.AppBaseController; import com.ruoyi.app.domain.TbAppUser; import com.ruoyi.app.domain.TbPublishThumbs; import com.ruoyi.app.domain.vo.AppMemberVo; import com.ruoyi.app.service.ITbPublishThumbsService; import com.ruoyi.common.core.domain.AjaxResult; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.apache.poi.ss.formula.functions.T; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Date; import java.util.List; /** * 点赞记录 * * @author Alex * @date 2020-10-09 */ @Api(value = "点赞记录",tags = "点赞记录") @RequiredArgsConstructor(onConstructor_ = @Autowired) @RestController @RequestMapping("/app/thumbs" ) public class PublishThumbsController extends AppBaseController { private final ITbPublishThumbsService thumbsService; /** * 点赞/取消 * @param appUserId * @param publishId * @return */ @ApiOperation("点赞/取消") @ApiImplicitParams({ @ApiImplicitParam(name = "appUserId", value = "点赞人id",paramType="Long"), @ApiImplicitParam(name = "publishId", value = "发表id",paramType="Long") }) @GetMapping("/action") public AjaxResult action(Long appUserId, Long publishId){ // TODO 在点赞或取消时,APP端的点赞数组异步增加或去掉记录 if (appUserId == null || publishId == null) { return AjaxResult.error("参数不能为空"); } TbPublishThumbs thumbs = thumbsService.getOne(new LambdaQueryWrapper() .eq(TbPublishThumbs::getPublishId, publishId) .eq(TbPublishThumbs::getAppUserId,appUserId) .last("limit 1") ); AppMemberVo user = getLoginUser().getUser(); Date date = new Date(); // 点赞 if (thumbs == null) { thumbs = new TbPublishThumbs(); thumbs.setAppUserId(appUserId); thumbs.setPublishId(publishId); thumbs.setCreateBy(user.getUserId().toString()); thumbs.setCreateTime(date); thumbsService.save(thumbs); } else { // 取消 thumbsService.removeById(thumbs.getId()); } // 点赞或取消后,返回点赞记录 List list = thumbsService.selectList(new LambdaQueryWrapper() .eq(TbPublishThumbs::getPublishId,publishId) ); return AjaxResult.success(list); } }