CommentController.java 2.97 KB
Newer Older
刘基明's avatar
刘基明 committed
1 2 3 4
package com.tanpu.community.controller;


import com.tanpu.common.api.CommonResp;
刘基明's avatar
刘基明 committed
5 6
import com.tanpu.common.auth.AuthLogin;
import com.tanpu.common.auth.UserHolder;
刘基明's avatar
刘基明 committed
7
import com.tanpu.community.api.beans.qo.CommentQo;
刘基明's avatar
刘基明 committed
8
import com.tanpu.community.api.beans.req.comment.CreateCommentReq;
刘基明's avatar
刘基明 committed
9
import com.tanpu.community.api.beans.req.comment.LikeCommentReq;
刘基明's avatar
刘基明 committed
10
import com.tanpu.community.api.beans.req.comment.QueryCommentReq;
11
import com.tanpu.community.api.beans.req.comment.ReportCommentReq;
刘基明's avatar
刘基明 committed
12
import com.tanpu.community.api.beans.req.page.Page;
刘基明's avatar
刘基明 committed
13
import com.tanpu.community.manager.CommentManager;
王亚雷's avatar
王亚雷 committed
14
import com.tanpu.community.util.HttpServletHelper;
刘基明's avatar
刘基明 committed
15
import com.tanpu.community.util.PageUtils;
刘基明's avatar
刘基明 committed
16 17 18
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
刘基明's avatar
刘基明 committed
19
import org.springframework.validation.annotation.Validated;
刘基明's avatar
刘基明 committed
20 21
import org.springframework.web.bind.annotation.*;

刘基明's avatar
刘基明 committed
22
import javax.annotation.Resource;
刘基明's avatar
刘基明 committed
23 24 25 26 27 28 29 30 31 32
import java.util.List;

@RestController
@Slf4j
@RequestMapping(value = "/api/theme")
public class CommentController {

    @Autowired
    private CommentManager commentManager;

刘基明's avatar
刘基明 committed
33 34
    @Resource
    private UserHolder userHolder;
王亚雷's avatar
王亚雷 committed
35 36
    @Resource
    private HttpServletHelper httpServletHelper;
刘基明's avatar
刘基明 committed
37

刘基明's avatar
刘基明 committed
38
    @ApiOperation("发表评论")
刘基明's avatar
刘基明 committed
39
    @AuthLogin
刘基明's avatar
刘基明 committed
40 41
    @PostMapping(value = "/publishComment")
    @ResponseBody
刘基明's avatar
刘基明 committed
42
    public CommonResp<CommentQo> publishCommet(@Validated @RequestBody CreateCommentReq req) {
刘基明's avatar
刘基明 committed
43
        String userId = userHolder.getUserId();
刘基明's avatar
刘基明 committed
44
        return CommonResp.success(commentManager.comment(req, userId));
刘基明's avatar
刘基明 committed
45 46
    }

刘基明's avatar
刘基明 committed
47
    @ApiOperation("评论列表")
刘基明's avatar
刘基明 committed
48
    @PostMapping(value = "/queryComment")
刘基明's avatar
刘基明 committed
49
    @ResponseBody
刘基明's avatar
刘基明 committed
50
    public CommonResp<Page<CommentQo>> queryComment(@Validated @RequestBody QueryCommentReq req) {
王亚雷's avatar
王亚雷 committed
51
        String selfUserId = httpServletHelper.getCurrentUserId();
王亚雷's avatar
王亚雷 committed
52
        List<CommentQo> result = commentManager.queryComments(req.getThemeId(), selfUserId);
刘基明's avatar
刘基明 committed
53
        return CommonResp.success(PageUtils.page(req.getPage(), result));
刘基明's avatar
刘基明 committed
54 55 56
    }

    @ApiOperation("点赞评论")
刘基明's avatar
刘基明 committed
57
    @PostMapping(value = "/likeComment")
刘基明's avatar
刘基明 committed
58
    @AuthLogin
刘基明's avatar
刘基明 committed
59
    @ResponseBody
刘基明's avatar
刘基明 committed
60
    public CommonResp<Void> likeComment(@Validated @RequestBody LikeCommentReq req) {
刘基明's avatar
刘基明 committed
61
        String userId = userHolder.getUserId();
刘基明's avatar
刘基明 committed
62
        commentManager.likeComment(req, userId);
刘基明's avatar
刘基明 committed
63 64 65 66
        return CommonResp.success();
    }

    @ApiOperation("举报评论")
67
    @PostMapping(value = "/reportComment")
刘基明's avatar
刘基明 committed
68
    @AuthLogin
刘基明's avatar
刘基明 committed
69
    @ResponseBody
70
    public CommonResp<Void> reportComment(@Validated @RequestBody ReportCommentReq req) {
刘基明's avatar
刘基明 committed
71
        String userId = userHolder.getUserId();
刘基明's avatar
刘基明 committed
72
        commentManager.report(req, userId);
73
        return CommonResp.success();
刘基明's avatar
刘基明 committed
74
    }
刘基明's avatar
刘基明 committed
75 76 77 78 79

    @ApiOperation("删除评论")
    @GetMapping(value = "/deleteComment")
    @AuthLogin
    @ResponseBody
刘基明's avatar
刘基明 committed
80
    public CommonResp<Void> reportComment(@RequestParam(value = "commentId") String commentId) {
刘基明's avatar
刘基明 committed
81
        String userId = userHolder.getUserId();
刘基明's avatar
刘基明 committed
82
        commentManager.delete(commentId, userId);
刘基明's avatar
刘基明 committed
83 84
        return CommonResp.success();
    }
刘基明's avatar
刘基明 committed
85
}