From 69ee7c605579c009ee3c087fa265619ba55155f6 Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期五, 18 十一月 2022 10:57:33 +0800
Subject: [PATCH] 资讯相关接口,栏目相关接口

---
 ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java |   62 +++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 3 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 7813bbc..9eef60c 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/NewsInformationController.java
@@ -5,14 +5,23 @@
 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.service.NewsInformationService;
+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)琛ㄦ帶鍒跺眰
@@ -29,6 +38,14 @@
     @Resource
     private NewsInformationService newsInformationService;
 
+    @Autowired
+    private NewsPoliceService policeService;
+
+    @Autowired
+    private NewsInformationPoliceService newsInformationPoliceService;
+
+    @Autowired
+    private NewsColumnInformationService newsColumnInformationService;
     /**
      * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
      *
@@ -38,7 +55,7 @@
      */
     @GetMapping
     public R selectAll(Page<NewsInformation> page, NewsInformation newsInformation) {
-        return success(this.newsInformationService.page(page, new QueryWrapper<>(newsInformation)));
+        return success(this.newsInformationService.page(page, new QueryWrapper<>(newsInformation).orderByDesc("publish_time")));
     }
 
     /**
@@ -58,9 +75,29 @@
      * @param newsInformation 瀹炰綋瀵硅薄
      * @return 鏂板缁撴灉
      */
+    @Transactional(rollbackFor = SQLException.class)
     @PostMapping
     public R insert(@RequestBody NewsInformation newsInformation) {
-        return success(this.newsInformationService.save(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);
     }
 
     /**
@@ -71,6 +108,25 @@
      */
     @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));
     }
 

--
Gitblit v1.8.0