57 lines
1.9 KiB
Java
57 lines
1.9 KiB
Java
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 <a href="https://github.com/liyupi">程序员鱼皮</a>
|
|
* @from <a href="https://yupi.icu">编程导航知识星球</a>
|
|
*/
|
|
@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<Integer> 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);
|
|
}
|
|
|
|
}
|