package com.jkcredit.sysnews.resource.web.newsArticle; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jkcredit.sysnews.model.dto.newsArticle.NewsArticleDto; import com.jkcredit.sysnews.model.dto.photo.PhotoDto; import com.jkcredit.sysnews.model.vo.newsArticle.NewsArticleVo; import com.jkcredit.sysnews.model.vo.photo.PhotoVo; import com.jkcredit.sysnews.resource.base.WebResource; import com.jkcredit.sysnews.resource.web.newsArticle.fb.NewsArticleFB; import com.jkcredit.sysnews.resource.web.newsArticle.fb.NewsArticleQueryFB; import com.jkcredit.sysnews.resource.web.photo.fb.PhotoFB; import com.jkcredit.sysnews.service.newsArticle.NewsArticleService; import com.jkcredit.sysnews.spi.lang.exception.ServiceException; import com.jkcredit.sysnews.spi.web.data.ResponseData; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; /** * @description: * @author: xusonglin * @create: 2020/3/1 0:24 * @version: V1.0 **/ @Slf4j @RestController public class NewsArticleResource extends WebResource { @Autowired NewsArticleService newsArticleService; @ApiOperation(value = "获取新闻列表") @GetMapping("/page/newsArticle") @PreAuthorize("hasPermission('article','read')") public ResponseData getNewsArticle(Page page, NewsArticleQueryFB queryFB) { try { NewsArticleDto newsArticleDto = mapper.map(queryFB, NewsArticleDto.class); IPage newsArticleVoIPage = newsArticleService.getNewsArticles(page, newsArticleDto); return ResponseData.success(newsArticleVoIPage); } catch (ServiceException e) { return ResponseData.failed("获取新闻列表失败"); } } @GetMapping("/newsArticle/{id}") @PreAuthorize("hasPermission('article','read')") @ApiOperation(value = "根据id获取新闻") public ResponseData getNewsArticleById(@PathVariable("id") Long id) { try { NewsArticleVo newsArticleVo = newsArticleService.getNewsArticleById(id); return ResponseData.success(newsArticleVo); } catch (Exception e) { return ResponseData.failed("获取新闻信息失败"); } } @PostMapping("/newsArticle") @PreAuthorize("hasPermission('article','edit')") @ApiOperation(value = "新增新闻") public ResponseData saveNewsArticle(NewsArticleFB newsArticleFB) { try { validate(newsArticleFB); NewsArticleDto newsArticleDto = mapper.map(newsArticleFB, NewsArticleDto.class); newsArticleService.saveNewsArticle(newsArticleDto); return ResponseData.success("新增新闻成功"); } catch (ServiceException e) { log.error(e.getMessage()); return ResponseData.failed("新增新闻失败,失败原因:" + e.getMessage()); } } @PutMapping("/newsArticle") @PreAuthorize("hasPermission('article','edit')") @ApiOperation(value = "编辑新闻") public ResponseData updateNewsArticle(NewsArticleFB newsArticleFB) { try { validate(newsArticleFB); NewsArticleDto newsArticleDto = mapper.map(newsArticleFB, NewsArticleDto.class); newsArticleService.editNewsArticle(newsArticleDto); return ResponseData.success("编辑新闻成功"); } catch (ServiceException e) { return ResponseData.failed("编辑新闻失败,失败原因" + e.getMessage()); } } @PutMapping("/newsArticle/{id}") @PreAuthorize("hasPermission('article','edit')") @ApiOperation(value = "删除新闻") public ResponseData deleteNewsArticle(@PathVariable("id") Long id) { try { newsArticleService.deleteNewsArticle(id); return ResponseData.success("删除新闻成功"); } catch (ServiceException e) { log.error(e.getMessage()); return ResponseData.failed("删除新闻失败"); } } }