PostsCommentsController.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.nosum.deliver.posts.controller;
  2. import com.nosum.common.annotation.LoginRequired;
  3. import com.nosum.common.base.domain.Result;
  4. import com.nosum.deliver.posts.domain.validator.InsertPostsComments;
  5. import com.nosum.deliver.posts.domain.validator.QueryPostsComments;
  6. import com.nosum.deliver.posts.domain.vo.PostsCommentsVO;
  7. import com.nosum.deliver.posts.service.PostsCommentsService;
  8. import com.nosum.system.enums.RoleEnum;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.validation.annotation.Validated;
  11. import org.springframework.web.bind.annotation.*;
  12. /**
  13. * @author sumbytes
  14. * @since 2019-09-03
  15. */
  16. @RestController
  17. @RequestMapping("/comments")
  18. public class PostsCommentsController {
  19. @Autowired
  20. private PostsCommentsService postsCommentsService;
  21. @LoginRequired(role = RoleEnum.USER)
  22. @PostMapping("/comments/v1/add")
  23. public Result savePostsComments(@Validated({InsertPostsComments.class}) @RequestBody PostsCommentsVO postsCommentsVO) {
  24. return this.postsCommentsService.savePostsComments(postsCommentsVO);
  25. }
  26. @LoginRequired(role = RoleEnum.USER)
  27. @PostMapping("/admin/v1/reply")
  28. public Result replyComments(@RequestBody PostsCommentsVO postsCommentsVO) {
  29. return this.postsCommentsService.replyComments(postsCommentsVO);
  30. }
  31. @LoginRequired
  32. @DeleteMapping("/comments/v1/{id}")
  33. public Result deletePostsComments(@PathVariable(value = "id") Long id) {
  34. return this.postsCommentsService.deletePostsComments(id);
  35. }
  36. @LoginRequired
  37. @GetMapping("/comments/v1/{id}")
  38. public Result getPostsComment(@PathVariable(value = "id") Long id) {
  39. return this.postsCommentsService.getPostsComment(id);
  40. }
  41. @GetMapping("/comments-posts/v1/list")
  42. public Result getPostsCommentsByPostsIdList(@Validated({QueryPostsComments.class}) PostsCommentsVO postsCommentsVO) {
  43. return this.postsCommentsService.getPostsCommentsByPostsIdList(postsCommentsVO);
  44. }
  45. @LoginRequired
  46. @GetMapping("/comments/v1/list")
  47. public Result getPostsCommentsList(PostsCommentsVO postsCommentsVO) {
  48. return this.postsCommentsService.getPostsCommentsList(postsCommentsVO);
  49. }
  50. }