CommentController.java 2.85 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.PageUtils;
刘基明's avatar
刘基明 committed
15 16 17
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
刘基明's avatar
刘基明 committed
18
import org.springframework.validation.annotation.Validated;
刘基明's avatar
刘基明 committed
19 20
import org.springframework.web.bind.annotation.*;

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

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

    @Autowired
    private CommentManager commentManager;

刘基明's avatar
刘基明 committed
32 33 34
    @Resource
    private UserHolder userHolder;

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

刘基明's avatar
刘基明 committed
44
    @ApiOperation("评论列表")
刘基明's avatar
刘基明 committed
45
    @AuthLogin
刘基明's avatar
刘基明 committed
46
    @PostMapping(value = "/queryComment")
刘基明's avatar
刘基明 committed
47
    @ResponseBody
刘基明's avatar
刘基明 committed
48
    public CommonResp<Page<CommentQo>> queryComment(@Validated @RequestBody QueryCommentReq req) {
刘基明's avatar
刘基明 committed
49
        String userId = userHolder.getUserId();
刘基明's avatar
刘基明 committed
50
        List<CommentQo> result = commentManager.queryComments(req.getThemeId(), userId);
刘基明's avatar
刘基明 committed
51
        return CommonResp.success(PageUtils.page(req.getPage(), result));
刘基明's avatar
刘基明 committed
52 53 54
    }

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

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

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