NewsArticleResource.java 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. package com.jkcredit.sysnews.resource.web.newsArticle;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.jkcredit.sysnews.model.dto.newsArticle.NewsArticleDto;
  5. import com.jkcredit.sysnews.model.dto.photo.PhotoDto;
  6. import com.jkcredit.sysnews.model.vo.newsArticle.NewsArticleVo;
  7. import com.jkcredit.sysnews.model.vo.photo.PhotoVo;
  8. import com.jkcredit.sysnews.resource.base.WebResource;
  9. import com.jkcredit.sysnews.resource.web.newsArticle.fb.NewsArticleFB;
  10. import com.jkcredit.sysnews.resource.web.newsArticle.fb.NewsArticleQueryFB;
  11. import com.jkcredit.sysnews.resource.web.photo.fb.PhotoFB;
  12. import com.jkcredit.sysnews.service.newsArticle.NewsArticleService;
  13. import com.jkcredit.sysnews.spi.lang.exception.ServiceException;
  14. import com.jkcredit.sysnews.spi.web.data.ResponseData;
  15. import io.swagger.annotations.ApiOperation;
  16. import lombok.extern.slf4j.Slf4j;
  17. import org.springframework.beans.factory.annotation.Autowired;
  18. import org.springframework.security.access.prepost.PreAuthorize;
  19. import org.springframework.web.bind.annotation.*;
  20. /**
  21. * @description:
  22. * @author: xusonglin
  23. * @create: 2020/3/1 0:24
  24. * @version: V1.0
  25. **/
  26. @Slf4j
  27. @RestController
  28. public class NewsArticleResource extends WebResource {
  29. @Autowired
  30. NewsArticleService newsArticleService;
  31. @ApiOperation(value = "获取新闻列表")
  32. @GetMapping("/page/newsArticle")
  33. @PreAuthorize("hasPermission('article','read')")
  34. public ResponseData getNewsArticle(Page page, NewsArticleQueryFB queryFB) {
  35. try {
  36. NewsArticleDto newsArticleDto = mapper.map(queryFB, NewsArticleDto.class);
  37. IPage<NewsArticleVo> newsArticleVoIPage = newsArticleService.getNewsArticles(page, newsArticleDto);
  38. return ResponseData.success(newsArticleVoIPage);
  39. } catch (ServiceException e) {
  40. return ResponseData.failed("获取新闻列表失败");
  41. }
  42. }
  43. @GetMapping("/newsArticle/{id}")
  44. @PreAuthorize("hasPermission('article','read')")
  45. @ApiOperation(value = "根据id获取新闻")
  46. public ResponseData getNewsArticleById(@PathVariable("id") Long id) {
  47. try {
  48. NewsArticleVo newsArticleVo = newsArticleService.getNewsArticleById(id);
  49. return ResponseData.success(newsArticleVo);
  50. } catch (Exception e) {
  51. return ResponseData.failed("获取新闻信息失败");
  52. }
  53. }
  54. @PostMapping("/newsArticle")
  55. @PreAuthorize("hasPermission('article','edit')")
  56. @ApiOperation(value = "新增新闻")
  57. public ResponseData saveNewsArticle(NewsArticleFB newsArticleFB) {
  58. try {
  59. validate(newsArticleFB);
  60. NewsArticleDto newsArticleDto = mapper.map(newsArticleFB, NewsArticleDto.class);
  61. newsArticleService.saveNewsArticle(newsArticleDto);
  62. return ResponseData.success("新增新闻成功");
  63. } catch (ServiceException e) {
  64. log.error(e.getMessage());
  65. return ResponseData.failed("新增新闻失败,失败原因:" + e.getMessage());
  66. }
  67. }
  68. @PutMapping("/newsArticle")
  69. @PreAuthorize("hasPermission('article','edit')")
  70. @ApiOperation(value = "编辑新闻")
  71. public ResponseData updateNewsArticle(NewsArticleFB newsArticleFB) {
  72. try {
  73. validate(newsArticleFB);
  74. NewsArticleDto newsArticleDto = mapper.map(newsArticleFB, NewsArticleDto.class);
  75. newsArticleService.editNewsArticle(newsArticleDto);
  76. return ResponseData.success("编辑新闻成功");
  77. } catch (ServiceException e) {
  78. return ResponseData.failed("编辑新闻失败,失败原因" + e.getMessage());
  79. }
  80. }
  81. @PutMapping("/newsArticle/{id}")
  82. @PreAuthorize("hasPermission('article','edit')")
  83. @ApiOperation(value = "删除新闻")
  84. public ResponseData deleteNewsArticle(@PathVariable("id") Long id) {
  85. try {
  86. newsArticleService.deleteNewsArticle(id);
  87. return ResponseData.success("删除新闻成功");
  88. } catch (ServiceException e) {
  89. log.error(e.getMessage());
  90. return ResponseData.failed("删除新闻失败");
  91. }
  92. }
  93. }