From c9d9a680d60722048fec46019b4a7ca36f821c58 Mon Sep 17 00:00:00 2001 From: fangyuan <527392886@qq.com> Date: 星期五, 18 十一月 2022 11:06:44 +0800 Subject: [PATCH] 资讯相关接口,栏目相关接口2 --- ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java | 232 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 144 insertions(+), 88 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java b/ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java index 79096c0..9eef60c 100644 --- a/ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java +++ b/ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java @@ -1,88 +1,144 @@ -package com.ycl.controller; - - - -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.extension.api.ApiController; -import com.baomidou.mybatisplus.extension.api.R; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.ycl.entity.NewsInformation; -import com.ycl.service.NewsInformationService; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; -import java.io.Serializable; -import java.util.List; - -/** - * 鍜ㄨ琛�(NewsInformation)琛ㄦ帶鍒跺眰 - * - * @author makejava - * @since 2022-11-16 16:52:30 - */ -@RestController -@RequestMapping("newsInformation") -public class NewsInformationController extends ApiController { - /** - * 鏈嶅姟瀵硅薄 - */ - @Resource - private NewsInformationService newsInformationService; - - /** - * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹� - * - * @param page 鍒嗛〉瀵硅薄 - * @param newsInformation 鏌ヨ瀹炰綋 - * @return 鎵�鏈夋暟鎹� - */ - @GetMapping - public R selectAll(Page<NewsInformation> page, NewsInformation newsInformation) { - return success(this.newsInformationService.page(page, new QueryWrapper<>(newsInformation))); - } - - /** - * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁 - * - * @param id 涓婚敭 - * @return 鍗曟潯鏁版嵁 - */ - @GetMapping("{id}") - public R selectOne(@PathVariable Serializable id) { - return success(this.newsInformationService.getById(id)); - } - - /** - * 鏂板鏁版嵁 - * - * @param newsInformation 瀹炰綋瀵硅薄 - * @return 鏂板缁撴灉 - */ - @PostMapping - public R insert(@RequestBody NewsInformation newsInformation) { - return success(this.newsInformationService.save(newsInformation)); - } - - /** - * 淇敼鏁版嵁 - * - * @param newsInformation 瀹炰綋瀵硅薄 - * @return 淇敼缁撴灉 - */ - @PutMapping - public R update(@RequestBody NewsInformation newsInformation) { - return success(this.newsInformationService.updateById(newsInformation)); - } - - /** - * 鍒犻櫎鏁版嵁 - * - * @param idList 涓婚敭缁撳悎 - * @return 鍒犻櫎缁撴灉 - */ - @DeleteMapping - public R delete(@RequestParam("idList") List<Long> idList) { - return success(this.newsInformationService.removeByIds(idList)); - } -} - +package com.ycl.controller; + + + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.api.ApiController; +import com.baomidou.mybatisplus.extension.api.R; +import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ycl.entity.NewsColumnInformation; +import com.ycl.entity.NewsInformation; +import com.ycl.entity.NewsInformationPolice; +import com.ycl.entity.NewsPolice; +import com.ycl.service.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.io.Serializable; +import java.sql.SQLException; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +/** + * 璧勮琛�(NewsInformation)琛ㄦ帶鍒跺眰 + * + * @author makejava + * @since 2022-11-17 11:38:27 + */ +@RestController +@RequestMapping("newsInformation") +public class NewsInformationController extends ApiController { + /** + * 鏈嶅姟瀵硅薄 + */ + @Resource + private NewsInformationService newsInformationService; + + @Autowired + private NewsPoliceService policeService; + + @Autowired + private NewsInformationPoliceService newsInformationPoliceService; + + @Autowired + private NewsColumnInformationService newsColumnInformationService; + /** + * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹� + * + * @param page 鍒嗛〉瀵硅薄 + * @param newsInformation 鏌ヨ瀹炰綋 + * @return 鎵�鏈夋暟鎹� + */ + @GetMapping + public R selectAll(Page<NewsInformation> page, NewsInformation newsInformation) { + return success(this.newsInformationService.page(page, new QueryWrapper<>(newsInformation).orderByDesc("publish_time"))); + } + + /** + * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁 + * + * @param id 涓婚敭 + * @return 鍗曟潯鏁版嵁 + */ + @GetMapping("{id}") + public R selectOne(@PathVariable Serializable id) { + return success(this.newsInformationService.getById(id)); + } + + /** + * 鏂板鏁版嵁 + * + * @param newsInformation 瀹炰綋瀵硅薄 + * @return 鏂板缁撴灉 + */ + @Transactional(rollbackFor = SQLException.class) + @PostMapping + public R insert(@RequestBody NewsInformation newsInformation) { + Integer saveResult = this.newsInformationService.insertOneInformation(newsInformation); + Integer informationId=newsInformation.getId(); + if (newsInformation.getIsSign()==0){ + List<String> departmentIds = newsInformation.getDepartmentId(); + for (String departmentId:departmentIds){ + QueryWrapper<NewsPolice> wrapper = new QueryWrapper(); + wrapper.eq("news_department_id",departmentId); + List<NewsPolice> list = policeService.list(wrapper); + if (!list.isEmpty()){ + for (NewsPolice newsPolice:list){ + newsInformationPoliceService.save(NewsInformationPolice.builder().newsPoliceId(newsPolice.getId()).newsInformationId(informationId).isSign(0).build()); + } + } + } + } + + for (String columnId:newsInformation.getColumnId()){ + newsColumnInformationService.save(NewsColumnInformation.builder().columnId(Integer.parseInt(columnId)).informationId(informationId).build()); + } + return success(saveResult); + } + + /** + * 淇敼鏁版嵁 + * + * @param newsInformation 瀹炰綋瀵硅薄 + * @return 淇敼缁撴灉 + */ + @PutMapping + public R update(@RequestBody NewsInformation newsInformation) { + Integer informationId = newsInformation.getId(); + if (newsInformation.getIsSign()==0){ + newsInformationPoliceService.remove(new QueryWrapper<NewsInformationPolice>().eq("news_information_id",informationId)); + List<String> departmentIds = newsInformation.getDepartmentId(); + for (String departmentId:departmentIds){ + QueryWrapper<NewsPolice> wrapper = new QueryWrapper(); + wrapper.eq("news_department_id",departmentId); + List<NewsPolice> list = policeService.list(wrapper); + if (!list.isEmpty()){ + for (NewsPolice newsPolice:list){ + newsInformationPoliceService.save(NewsInformationPolice.builder().newsPoliceId(newsPolice.getId()).newsInformationId(informationId).isSign(0).build()); + } + } + } + } + newsColumnInformationService.remove(new QueryWrapper<NewsColumnInformation>().eq("information_id",informationId)); + for (String columnId:newsInformation.getColumnId()){ + newsColumnInformationService.save(NewsColumnInformation.builder().columnId(Integer.parseInt(columnId)).informationId(informationId).build()); + } + return success(this.newsInformationService.updateById(newsInformation)); + } + + /** + * 鍒犻櫎鏁版嵁 + * + * @param idList 涓婚敭缁撳悎 + * @return 鍒犻櫎缁撴灉 + */ + @DeleteMapping + public R delete(@RequestParam("idList") List<Long> idList) { + return success(this.newsInformationService.removeByIds(idList)); + } +} + -- Gitblit v1.8.0