From ecad870fe1896c8c3e48506d50bb5818974253bf Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期一, 16 一月 2023 11:33:58 +0800
Subject: [PATCH] 机场公安前后端联调内容

---
 ycl-platform/src/main/java/com/ycl/controller/NewsColumnInformationController.java |  239 +++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 151 insertions(+), 88 deletions(-)

diff --git a/ycl-platform/src/main/java/com/ycl/controller/NewsColumnInformationController.java b/ycl-platform/src/main/java/com/ycl/controller/NewsColumnInformationController.java
index 0dbdeea..538a5f9 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/NewsColumnInformationController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/NewsColumnInformationController.java
@@ -1,88 +1,151 @@
-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.NewsColumnInformation;
-import com.ycl.service.NewsColumnInformationService;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import java.io.Serializable;
-import java.util.List;
-
-/**
- * 鏍忕洰棰戦亾涓棿琛�(NewsColumnInformation)琛ㄦ帶鍒跺眰
- *
- * @author makejava
- * @since 2022-11-16 16:52:30
- */
-@RestController
-@RequestMapping("newsColumnInformation")
-public class NewsColumnInformationController extends ApiController {
-    /**
-     * 鏈嶅姟瀵硅薄
-     */
-    @Resource
-    private NewsColumnInformationService newsColumnInformationService;
-
-    /**
-     * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
-     *
-     * @param page 鍒嗛〉瀵硅薄
-     * @param newsColumnInformation 鏌ヨ瀹炰綋
-     * @return 鎵�鏈夋暟鎹�
-     */
-    @GetMapping
-    public R selectAll(Page<NewsColumnInformation> page, NewsColumnInformation newsColumnInformation) {
-        return success(this.newsColumnInformationService.page(page, new QueryWrapper<>(newsColumnInformation)));
-    }
-
-    /**
-     * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁
-     *
-     * @param id 涓婚敭
-     * @return 鍗曟潯鏁版嵁
-     */
-    @GetMapping("{id}")
-    public R selectOne(@PathVariable Serializable id) {
-        return success(this.newsColumnInformationService.getById(id));
-    }
-
-    /**
-     * 鏂板鏁版嵁
-     *
-     * @param newsColumnInformation 瀹炰綋瀵硅薄
-     * @return 鏂板缁撴灉
-     */
-    @PostMapping
-    public R insert(@RequestBody NewsColumnInformation newsColumnInformation) {
-        return success(this.newsColumnInformationService.save(newsColumnInformation));
-    }
-
-    /**
-     * 淇敼鏁版嵁
-     *
-     * @param newsColumnInformation 瀹炰綋瀵硅薄
-     * @return 淇敼缁撴灉
-     */
-    @PutMapping
-    public R update(@RequestBody NewsColumnInformation newsColumnInformation) {
-        return success(this.newsColumnInformationService.updateById(newsColumnInformation));
-    }
-
-    /**
-     * 鍒犻櫎鏁版嵁
-     *
-     * @param idList 涓婚敭缁撳悎
-     * @return 鍒犻櫎缁撴灉
-     */
-    @DeleteMapping
-    public R delete(@RequestParam("idList") List<Long> idList) {
-        return success(this.newsColumnInformationService.removeByIds(idList));
-    }
-}
-
+package com.ycl.controller;
+
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.api.ApiController;
+import com.baomidou.mybatisplus.extension.api.R;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
+import com.ycl.entity.NewsColumnInformation;
+import com.ycl.entity.NewsInformation;
+import com.ycl.service.NewsColumnInformationService;
+import com.ycl.service.NewsInformationService;
+import com.ycl.vo.depart.UmsDepartVO;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+/**
+ * 鏍忕洰鍜ㄨ涓棿琛�(NewsColumnInformation)琛ㄦ帶鍒跺眰
+ *
+ * @author makejava
+ * @since 2022-11-17 11:38:27
+ */
+@RestController
+@RequestMapping("newsColumnInformation")
+@Api(tags = "鏍忕洰鍜ㄨ涓棿琛ㄦ帶鍒跺眰")
+public class NewsColumnInformationController extends ApiController {
+    /**
+     * 鏈嶅姟瀵硅薄
+     */
+    @Resource
+    private NewsColumnInformationService newsColumnInformationService;
+
+    @Autowired
+    private NewsInformationService newsInformationService;
+    /**
+     * 鍒嗛〉鏌ヨ鎵�鏈夋暟鎹�
+     *
+     * @param page 鍒嗛〉瀵硅薄
+     * @param newsColumnInformation 鏌ヨ瀹炰綋
+     * @return 鎵�鏈夋暟鎹�
+     */
+    @GetMapping
+    @ApiOperation(value = "鏌ヨ鎵�鏈夋暟鎹�")
+    public R selectAll(Page<NewsColumnInformation> page, NewsColumnInformation newsColumnInformation) {
+        return success(this.newsColumnInformationService.page(page, new QueryWrapper<>(newsColumnInformation)));
+    }
+
+    /**
+     * 閫氳繃涓婚敭鏌ヨ鍗曟潯鏁版嵁
+     *
+     * @param id 涓婚敭
+     * @return 鍗曟潯鏁版嵁
+     */
+    @GetMapping("{id}")
+    @ApiOperation(value = "鎸塱d鏌ヨ鏁版嵁")
+    public R selectOne(@PathVariable Serializable id) {
+        return success(this.newsColumnInformationService.getById(id));
+    }
+
+    /**
+     * 鏂板鏁版嵁
+     *
+     * @param newsColumnInformation 瀹炰綋瀵硅薄
+     * @return 鏂板缁撴灉
+     */
+    @PostMapping
+    @ApiOperation(value = "鏂板鏁版嵁")
+    public R insert(@RequestBody NewsColumnInformation newsColumnInformation) {
+        return success(this.newsColumnInformationService.save(newsColumnInformation));
+    }
+
+    /**
+     * 淇敼鏁版嵁
+     *
+     * @param newsColumnInformation 瀹炰綋瀵硅薄
+     * @return 淇敼缁撴灉
+     */
+    @PutMapping
+    @ApiOperation(value = "淇敼鏁版嵁")
+    public R update(@RequestBody NewsColumnInformation newsColumnInformation) {
+        return success(this.newsColumnInformationService.updateById(newsColumnInformation));
+    }
+
+    /**
+     * 鍒犻櫎鏁版嵁
+     *
+     * @param idList 涓婚敭缁撳悎
+     * @return 鍒犻櫎缁撴灉
+     */
+    @DeleteMapping
+    @ApiOperation(value = "鍒犻櫎鏁版嵁")
+    public R delete(@RequestParam("idList") List<Long> idList) {
+        return success(this.newsColumnInformationService.removeByIds(idList));
+    }
+
+    /**
+     * 閫氳繃鏍忕洰id鏌ュ搴旇祫璁�
+     *
+     * @param id 鏍忕洰id
+     * @return 璧勮鏌ヨ缁撴灉
+     */
+    @GetMapping("column/{id}")
+    @ApiOperation(value = "鎸夋爮鐩甶d鏌ヨ璁伅")
+    public R selectInformationByColumnId(@PathVariable Serializable id ,@RequestParam(value = "pageNum", required = false,defaultValue = "1")Integer pageNum,@RequestParam(value = "pageSize", required = false,defaultValue = "10")Integer pageSize) {
+        List<NewsColumnInformation> newsColumnInformationList = newsColumnInformationService.list(new QueryWrapper<NewsColumnInformation>().eq("column_id", id));
+        List<NewsInformation> resultList=new ArrayList<>();
+        IPage<NewsInformation> page = new Page<>(pageNum, pageSize);
+        for (NewsColumnInformation newsColumnInformation:newsColumnInformationList){
+            resultList.add(newsInformationService.selectInformationById(newsColumnInformation.getInformationId()));
+        }
+        page.setTotal(resultList.size());
+        if (pageSize>resultList.size()){
+            page.setRecords(resultList);
+        }
+        else {
+            List<List<NewsInformation>> lists = split8(resultList, pageSize);
+            page.setRecords(lists.get(pageNum-1));
+        }
+        return success(page);
+    }
+
+    public static <T> List<List<T>> split8(List<T> list,int splitSize){
+        // 姣忎唤涓暟 splitSize
+        if( null == list || list.isEmpty() ){ return Collections.emptyList(); }
+        // 鍒楄〃鍏冪礌鏁帮紝鎬讳唤鏁�
+        int size = list.size(), cnt = (size + splitSize - 1 ) / splitSize;
+        return Stream
+                .iterate(0,i -> i+1 )
+                .limit(cnt)
+                .parallel()
+                .map(i -> list.parallelStream().skip( i * splitSize ).limit(splitSize).collect(Collectors.toList()))
+                .filter(a -> !a.isEmpty())
+                .collect(Collectors.toList());
+    }
+
+
+}
+

--
Gitblit v1.8.0