package com.yupi.springbootinit.controller; import com.yupi.springbootinit.common.BaseResponse; import com.yupi.springbootinit.common.ErrorCode; import com.yupi.springbootinit.common.ResultUtils; import com.yupi.springbootinit.exception.BusinessException; import com.yupi.springbootinit.model.dto.postthumb.PostThumbAddRequest; import com.yupi.springbootinit.model.entity.User; import com.yupi.springbootinit.service.PostThumbService; import com.yupi.springbootinit.service.UserService; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * 帖子点赞接口 * * @author 程序员鱼皮 * @from 编程导航知识星球 */ @RestController @RequestMapping("/post_thumb") @Slf4j public class PostThumbController { @Resource private PostThumbService postThumbService; @Resource private UserService userService; /** * 点赞 / 取消点赞 * * @param postThumbAddRequest * @param request * @return resultNum 本次点赞变化数 */ @PostMapping("/") public BaseResponse doThumb(@RequestBody PostThumbAddRequest postThumbAddRequest, HttpServletRequest request) { if (postThumbAddRequest == null || postThumbAddRequest.getPostId() <= 0) { throw new BusinessException(ErrorCode.PARAMS_ERROR); } // 登录才能点赞 final User loginUser = userService.getLoginUser(request); long postId = postThumbAddRequest.getPostId(); int result = postThumbService.doPostThumb(postId, loginUser); return ResultUtils.success(result); } }