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