ソースを参照

1、各榜单数据分页接口;2、新闻列表分页接口;3、个人关注详情分页接口。

jessie 5 年 前
コミット
7965fec41c

+ 5 - 0
src/main/java/com/pavis/ai/app/fda/common/config/constants/Constants.java

@@ -12,6 +12,11 @@ public class Constants {
     public static final String CONCETPT_NODE = "Concept";
     public static final String KWYWORD_NODE = "KeyWord";
 
+    /**
+     * 分页个数。
+     */
+    public static final Long PAGES_NUM = 10L;
+
     /**
      *  根据code换取openId
      *  本接口应在后端服务器调用

+ 8 - 3
src/main/java/com/pavis/ai/app/fda/controller/FollowController.java

@@ -53,9 +53,14 @@ public class FollowController {
     @ApiOperation("个人关注详情接口")
     @ApiOperationSupport(order = 2)
     @PostMapping("/follow/list")
-    public ResultBody followDetails(@RequestBody FollowDetails userId) {
-        if (!StringUtils.isEmpty(userId.getUserId())) {
-            return ResultBody.ok().data(followService.followDetails(userId.getUserId()));
+    public ResultBody followDetails(@RequestBody FollowDetails followDetails) {
+        // if (!StringUtils.isEmpty(userId.getUserId())) {
+        //     return ResultBody.ok().data(followService.followDetails(userId.getUserId()));
+        // } else {
+        //     return ResultBody.failed().data(null).msg("获取失败,参数为空。");
+        // }
+        if (!StringUtils.isEmpty(followDetails.getUserId())) {
+            return ResultBody.ok().data(followService.followDetailsByPage(followDetails));
         } else {
             return ResultBody.failed().data(null).msg("获取失败,参数为空。");
         }

+ 31 - 24
src/main/java/com/pavis/ai/app/fda/controller/ListController.java

@@ -32,38 +32,42 @@ public class ListController {
     @ApiOperation("涨幅---上周实际榜")
     @ApiOperationSupport(order = 1)
     @GetMapping("/inc/last")
-    public ResultBody incLastWeek() {
+    public ResultBody incLastWeek(Long currPage) {
         // 返回hisInfos
         // 备注:此id是板块id,不传值。
         // 去数据库查,该表的结构与hisinfo相同。涨跌幅的值。
         // 返回结果按照涨--从大到小,取top10.
         // 跌 -- 从小到大 取top10。
         // 查close,排序值: 上周周五的close-上上上周五的close >0涨 <0跌
-        return ResultBody.ok().data(listService.incLastWeekActual());
+        // return ResultBody.ok().data(listService.incLastWeekActual());
+        return ResultBody.ok().data(listService.incLastWeekActualByPage(currPage));
     }
 
     @ApiOperation("涨幅-下周预测榜")
     @ApiOperationSupport(order = 2)
     @GetMapping("/inc/npred")
-    public ResultBody incNextWeekPred() {
+    public ResultBody incNextWeekPred(Long currPage) {
         // 返回hisInfos。
         // 备注close没值。pre
         // 预测:List<NextWeekPred>
 
         // 返回示例:List<NextWeekPred>:List<id date close pre>
-        return ResultBody.ok().data(listService.incNextWeekPred());
+        // return ResultBody.ok().data(listService.incNextWeekPred());
+        // return ResultBody.ok().data(listService.incNextWeekPred());
+        return ResultBody.ok().data(listService.incNextWeekPredByPage(currPage));
     }
 
     @ApiOperation("涨幅-上周预测榜")
     @ApiOperationSupport(order = 3)
     @GetMapping("/inc/lpred")
-    public ResultBody incLastWeekPred() {
+    public ResultBody incLastWeekPred(Long currPage) {
         // 返回hisInfos。
         // 备注close有值。从数据库查。
         // 预测:List<NextWeekPred>
 
         // 返回示例:List<NextWeekPred>:List<id date close pre>
-        return ResultBody.ok().data(listService.incLastWeekPred());
+        // return ResultBody.ok().data(listService.incLastWeekPred());
+        return ResultBody.ok().data(listService.incLastWeekPredByPage(currPage));
     }
 
     /**
@@ -74,35 +78,38 @@ public class ListController {
     @ApiOperation("跌幅-上周实际榜")
     @ApiOperationSupport(order = 4)
     @GetMapping("/dec/last")
-    public ResultBody decLastWeek() {
-        return ResultBody.ok().data(listService.decLastWeekActual());
+    public ResultBody decLastWeek(Long currPage) {
+        // return ResultBody.ok().data(listService.decLastWeekActual());
+        return ResultBody.ok().data(listService.decLastWeekActualByPage(currPage));
     }
 
     @ApiOperation("跌幅-下周预测榜")
     @ApiOperationSupport(order = 5)
     @GetMapping("/dec/npred")
-    public ResultBody decNextWeekPred() {
-        return ResultBody.ok().data(listService.decNextWeekPred());
+    public ResultBody decNextWeekPred(Long currPage) {
+        // return ResultBody.ok().data(listService.decNextWeekPred());
+        return ResultBody.ok().data(listService.decNextWeekPredByPage(currPage));
     }
 
     @ApiOperation("跌幅-上周预测榜")
     @ApiOperationSupport(order = 6)
     @GetMapping("/dec/lpred")
-    public ResultBody decLastWeekPred() {
-        return ResultBody.ok().data(listService.decLastWeekPred());
+    public ResultBody decLastWeekPred(Long currPage) {
+        // return ResultBody.ok().data(listService.decLastWeekPred());
+        return ResultBody.ok().data(listService.decLastWeekPredByPage(currPage));
     }
 
-    @ApiOperation("涨幅---上周实际榜分页")
-    @ApiOperationSupport(order = 7)
-    @GetMapping("/inc/last/page")
-    public ResultBody incLastWeekpage(Long currPage) {
-        // 返回hisInfos
-        // 备注:此id是板块id,不传值。
-        // 去数据库查,该表的结构与hisinfo相同。涨跌幅的值。
-        // 返回结果按照涨--从大到小,取top10.
-        // 跌 -- 从小到大 取top10。
-        // 查close,排序值: 上周周五的close-上上上周五的close >0涨 <0跌
-        return ResultBody.ok().data(listService.incLastWeekActualByPage(currPage));
-    }
+    // @ApiOperation("涨幅---上周实际榜分页")
+    // @ApiOperationSupport(order = 7)
+    // @GetMapping("/inc/last/page")
+    // public ResultBody incLastWeekpage(Long currPage) {
+    //     // 返回hisInfos
+    //     // 备注:此id是板块id,不传值。
+    //     // 去数据库查,该表的结构与hisinfo相同。涨跌幅的值。
+    //     // 返回结果按照涨--从大到小,取top10.
+    //     // 跌 -- 从小到大 取top10。
+    //     // 查close,排序值: 上周周五的close-上上上周五的close >0涨 <0跌
+    //     return ResultBody.ok().data(listService.incLastWeekActualByPage(currPage));
+    // }
 
 }

+ 3 - 2
src/main/java/com/pavis/ai/app/fda/controller/NewsController.java

@@ -33,8 +33,9 @@ public class NewsController {
     @ApiOperation("首页新闻列表,按时排序")
     @ApiOperationSupport(order = 1)
     @GetMapping("/news/list")
-    public ResultBody newsList(){
-        return ResultBody.ok().data(newsService.newsList());
+    public ResultBody newsList(Long currPage){
+        // return ResultBody.ok().data(newsService.newsList());
+        return ResultBody.ok().data(newsService.newsListByPage(currPage));
     }
 
     @ApiOperation("根据点击的新闻id 查看具体新闻内容")

+ 1 - 0
src/main/java/com/pavis/ai/app/fda/form/follow/FollowDetails.java

@@ -16,4 +16,5 @@ import lombok.Setter;
 @AllArgsConstructor
 public class FollowDetails {
     private String userId;
+    private Long currPage;
 }

+ 13 - 0
src/main/java/com/pavis/ai/app/fda/form/sel/QueryForm.java

@@ -13,8 +13,21 @@ import lombok.*;
 @AllArgsConstructor
 @Builder
 public class QueryForm {
+    //
+    private String sqlParam;
+    //
     private String plateId;
+    //
     private String plateName;
+    //
+    private String plateClose;
+
+    private String plateCloseUpPercent;
+    //
+    private String plateClosePredUpPercent;
+    //
     private String friday;
+    //
     private String lastFriday;
+
 }

+ 14 - 0
src/main/java/com/pavis/ai/app/fda/mapper/FollowInfoMapper.java

@@ -1,7 +1,13 @@
 package com.pavis.ai.app.fda.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pavis.ai.app.fda.form.follow.FollowDetails;
+import com.pavis.ai.app.fda.form.sel.QueryForm;
 import com.pavis.ai.app.fda.model.FollowInfo;
+import com.pavis.ai.app.fda.model.NewsInfo;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Component;
 
 /**
@@ -12,4 +18,12 @@ import org.springframework.stereotype.Component;
 @Component
 public interface FollowInfoMapper extends BaseMapper<FollowInfo> {
 
+    /**
+     * 个人关注详情分页接口。
+     * @param page
+     * @param params
+     * @return
+     */
+    IPage<FollowInfo> followedDetailsByPage(Page<FollowInfo> page,@Param("params") FollowDetails params);
+
 }

+ 27 - 1
src/main/java/com/pavis/ai/app/fda/mapper/IndustryPlateResMapper.java

@@ -21,5 +21,31 @@ public interface IndustryPlateResMapper extends BaseMapper<IndustryPlateRes> {
 
     List<IndustryPlateRes> findPlateByIdOrName(@Param("params") QueryForm params);
 
-    IPage<IndustryPlateRes> selectActualPlateByPage(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+    /**
+     * 实际榜分页。
+     * @param page
+     * @param params
+     * @return
+     */
+    IPage<IndustryPlateRes> pageByIncActualPlate(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+    IPage<IndustryPlateRes> pageByDecActualPlate(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+
+    /**
+     * 上周预测榜分页。
+     * @param page
+     * @param params
+     * @return
+     */
+    IPage<IndustryPlateRes> pageByIncPredLastPlate(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+    IPage<IndustryPlateRes> pageByDecPredLastPlate(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+
+    /**
+     * 下周预测榜分页。
+     * @param page
+     * @param params
+     * @return
+     */
+    IPage<IndustryPlateRes> pageByIncPredNextPlate(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+    IPage<IndustryPlateRes> pageByDecPredNextPlate(Page<IndustryPlateRes> page,@Param("params") QueryForm params);
+
 }

+ 12 - 0
src/main/java/com/pavis/ai/app/fda/mapper/NewsInfoMapper.java

@@ -1,9 +1,14 @@
 package com.pavis.ai.app.fda.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pavis.ai.app.fda.model.IndustryPlateRes;
 import com.pavis.ai.app.fda.model.NewsInfo;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+
 /**
  * @author guanhuijuan
  * @create 2020-07-16 16:14
@@ -11,4 +16,11 @@ import org.springframework.stereotype.Component;
  **/
 @Component
 public interface NewsInfoMapper extends BaseMapper<NewsInfo> {
+
+    /**
+     * 获取新闻列表分页。
+     * @param page
+     * @return
+     */
+    IPage<NewsInfo> newsListByPage(Page<NewsInfo> page);
 }

+ 3 - 0
src/main/java/com/pavis/ai/app/fda/service/FollowService.java

@@ -1,9 +1,11 @@
 package com.pavis.ai.app.fda.service;
 
+import com.pavis.ai.app.fda.form.follow.FollowDetails;
 import com.pavis.ai.app.fda.form.follow.Follower;
 import com.pavis.ai.app.fda.form.inc.IncInfo;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author guanhuijuan
@@ -25,6 +27,7 @@ public interface FollowService {
      * @return
      */
     List<IncInfo> followDetails(String userId);
+    Map<String,Object> followDetailsByPage(FollowDetails followDetails);
 
     /**
      * 取消关注。

+ 7 - 1
src/main/java/com/pavis/ai/app/fda/service/ListService.java

@@ -20,12 +20,14 @@ public interface ListService {
      * @return
      */
     List<IncInfo> incLastWeekActual();
+    Map<String,Object> incLastWeekActualByPage(Long currPage);
     /**
      * 跌幅表-上周实际榜
      *
      * @return
      */
     List<IncInfo> decLastWeekActual();
+    Map<String,Object> decLastWeekActualByPage(Long currPage);
 
     /**
      * 涨幅表-上周预测榜
@@ -33,6 +35,7 @@ public interface ListService {
      * @return
      */
     List<IncInfo> incLastWeekPred();
+    Map<String,Object> incLastWeekPredByPage(Long currPage);
 
     /**
      * 跌幅表-上周预测榜
@@ -40,6 +43,7 @@ public interface ListService {
      * @return
      */
     List<IncInfo> decLastWeekPred();
+    Map<String,Object> decLastWeekPredByPage(Long currPage);
 
     /**
      * 涨幅表-下周预测榜
@@ -47,6 +51,7 @@ public interface ListService {
      * @return
      */
     List<IncInfo> incNextWeekPred();
+    Map<String,Object> incNextWeekPredByPage(Long currPage);
 
     /**
      * 跌幅表-下周预测榜
@@ -54,12 +59,13 @@ public interface ListService {
      * @return
      */
     List<IncInfo> decNextWeekPred();
+    Map<String,Object> decNextWeekPredByPage(Long currPage);
 
     /**
      * 涨幅表-上周实际榜
      *
      * @return
      */
-    Map<String, Object> incLastWeekActualByPage(Long currPage);
+    // Map<String, Object> incLastWeekActualByPage(Long currPage);
 
 }

+ 2 - 0
src/main/java/com/pavis/ai/app/fda/service/NewsService.java

@@ -7,6 +7,7 @@ import com.pavis.ai.app.fda.form.search.SearchInfo;
 import com.pavis.ai.app.fda.model.NewsInfo;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author guanhuijuan
@@ -20,6 +21,7 @@ public interface NewsService {
      * @return
      */
     List<NewsList> newsList();
+    Map<String,Object> newsListByPage(Long currPage);
 
     /**
      * 根据id获取新闻详情。

+ 50 - 0
src/main/java/com/pavis/ai/app/fda/service/impl/FollowServiceImpl.java

@@ -2,9 +2,13 @@ package com.pavis.ai.app.fda.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pavis.ai.app.fda.common.config.constants.Constants;
 import com.pavis.ai.app.fda.common.utils.DateUtils;
 import com.pavis.ai.app.fda.common.utils.GeneralUtils;
 import com.pavis.ai.app.fda.form.TestCommon;
+import com.pavis.ai.app.fda.form.follow.FollowDetails;
 import com.pavis.ai.app.fda.form.follow.Follower;
 import com.pavis.ai.app.fda.form.inc.IncInfo;
 import com.pavis.ai.app.fda.mapper.FollowInfoMapper;
@@ -20,6 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -51,6 +56,11 @@ public class FollowServiceImpl implements FollowService {
         return toFollowDetails(userId);
     }
 
+    @Override
+    public Map<String, Object> followDetailsByPage(FollowDetails followDetails) {
+        return toFollowDetailsByPage(followDetails);
+    }
+
     @Override
     public int cancelFollowed(Follower follower) {
         return toCancelFollowed(follower);
@@ -93,6 +103,15 @@ public class FollowServiceImpl implements FollowService {
                 .eq(FollowInfo::getUserId, userId);
         List<FollowInfo> followInfos = followInfoMapper.selectList(followInfoQueryWrapper);
         // 2、构建返回数据。
+        return toDetails(followInfos);
+    }
+
+    /**
+     * 关注详情函数。
+     * @param followInfos
+     * @return
+     */
+    public List<IncInfo> toDetails(List<FollowInfo> followInfos){
         IncInfo incInfo;
         List<IncInfo> incInfos = new ArrayList<>();
         for (FollowInfo followInfo : followInfos) {
@@ -115,6 +134,37 @@ public class FollowServiceImpl implements FollowService {
         }
         return incInfos;
     }
+    /**
+     * 获取关注详情分页函数。
+     * @param followDetails
+     * @return
+     */
+    public Map<String,Object> toFollowDetailsByPage(FollowDetails followDetails){
+        // 1、根据用户id获取关注的信息。
+        IPage<FollowInfo> followIPage = null;
+        Page<FollowInfo> page = page(followDetails.getCurrPage());
+        followIPage = followInfoMapper.followedDetailsByPage(page,followDetails);
+        List<FollowInfo> followInfos = followIPage.getRecords();
+        // 2、构建返回数据。
+        return toPageMap(followIPage,followInfos);
+    }
+
+    public Page<FollowInfo> page(Long currPage){
+        Page<FollowInfo> page = new Page<>();
+        page.setCurrent(currPage);
+        page.setSize(Constants.PAGES_NUM);
+        return page;
+    }
+
+    public Map<String,Object> toPageMap(IPage<FollowInfo> followIPage, List<FollowInfo> followInfos){
+        Map<String, Object> pageMap = new HashMap<>();
+        pageMap.put("current", followIPage.getCurrent());
+        pageMap.put("size", followIPage.getSize());
+        pageMap.put("total", followIPage.getTotal());
+        pageMap.put("pages", followIPage.getPages());
+        pageMap.put("incInfos", followInfos);
+        return pageMap;
+    }
 
     /**
      * 计算close值。

+ 259 - 63
src/main/java/com/pavis/ai/app/fda/service/impl/ListServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pavis.ai.app.fda.common.config.constants.Constants;
 import com.pavis.ai.app.fda.common.utils.GeneralUtils;
 import com.pavis.ai.app.fda.form.inc.IncInfo;
 import com.pavis.ai.app.fda.form.sel.QueryForm;
@@ -36,8 +37,9 @@ public class ListServiceImpl implements ListService {
 
     /**
      * 涨幅上周实际榜:
-     *  1、res表查询条件:plateDate desc、top10。
-     *  2、求platecloseup值。
+     * 1、res表查询条件:plateDate desc、top10。
+     * 2、求platecloseup值。
+     *
      * @return
      */
     @Override
@@ -45,10 +47,17 @@ public class ListServiceImpl implements ListService {
         return toActual(true);
     }
 
+    @Override
+    public Map<String, Object> incLastWeekActualByPage(Long currPage) {
+        return toActualByPage(true, currPage);
+    }
+
+
     /**
      * 跌幅上周实际榜:
-     *  1、res表查询条件:plateDate desc、top10。
-     *  2、求platecloseup值。
+     * 1、res表查询条件:plateDate desc、top10。
+     * 2、求platecloseup值。
+     *
      * @return
      */
     @Override
@@ -56,6 +65,11 @@ public class ListServiceImpl implements ListService {
         return toActual(false);
     }
 
+    @Override
+    public Map<String, Object> decLastWeekActualByPage(Long currPage) {
+        return toActualByPage(false, currPage);
+    }
+
     /**
      * 涨幅表-上周预测榜
      *
@@ -66,6 +80,11 @@ public class ListServiceImpl implements ListService {
         return toLastPred(true);
     }
 
+    @Override
+    public Map<String, Object> incLastWeekPredByPage(Long currPage) {
+        return toLastPredByPage(true,currPage);
+    }
+
     /**
      * 跌幅表-上周预测榜
      *
@@ -75,6 +94,12 @@ public class ListServiceImpl implements ListService {
     public List<IncInfo> decLastWeekPred() {
         return toLastPred(false);
     }
+
+    @Override
+    public Map<String, Object> decLastWeekPredByPage(Long currPage) {
+        return toLastPredByPage(false,currPage);
+    }
+
     /**
      * 涨幅表-下周预测榜
      *
@@ -85,6 +110,11 @@ public class ListServiceImpl implements ListService {
         return toNextPred(true);
     }
 
+    @Override
+    public Map<String, Object> incNextWeekPredByPage(Long currPage) {
+        return toNextPredByPage(true,currPage);
+    }
+
     /**
      * 跌幅表-下周预测榜
      *
@@ -96,95 +126,166 @@ public class ListServiceImpl implements ListService {
     }
 
     @Override
-    public Map<String, Object> incLastWeekActualByPage(Long currPage) {
-        Boolean incOrDec = true;
+    public Map<String, Object> decNextWeekPredByPage(Long currPage) {
+        return toNextPredByPage(false,currPage);
+    }
+
+    // @Override
+    // public Map<String, Object> incLastWeekActualByPage(Long currPage) {
+    //     Boolean incOrDec = true;
+    //     // 1、获取实际榜数据。
+    //     List<IndustryPlateRes> plates = new ArrayList<>();
+    //     IPage<IndustryPlateRes> plateIPage = null;
+    //     Page<IndustryPlateRes> page = new Page<>();
+    //     page.setCurrent(currPage);
+    //     page.setSize(10);
+    //     QueryForm queryForm = QueryForm.builder()
+    //             .plateCloseUpPercent("0.0")
+    //             .build();
+    //     plateIPage = industryPlateResMapper.pageByIncActualPlate(page,queryForm);
+    //     if (incOrDec.equals(true)){
+    //         // 涨幅
+    //         // plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+    //         // 2、封装返回数据。
+    //         List<IncInfo> incInfos = toBackActualInfos(plateIPage.getRecords());
+    //         List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
+    //                 .collect(Collectors.toList());
+    //         IPage<IncInfo> incInfoIPage = new Page<>();
+    //         incInfoIPage.setCurrent(plateIPage.getCurrent());
+    //         incInfoIPage.setSize(plateIPage.getSize());
+    //         incInfoIPage.setPages(plateIPage.getPages());
+    //         incInfoIPage.setTotal(plateIPage.getTotal());
+    //         incInfoIPage.setRecords(finalIncInfos);
+    //         Map<String,Object> pageMap = new HashMap<>();
+    //         pageMap.put("current",plateIPage.getCurrent());
+    //         pageMap.put("size",plateIPage.getSize());
+    //         pageMap.put("pages",plateIPage.getPages());
+    //         pageMap.put("total",plateIPage.getTotal());
+    //         pageMap.put("incInfos",finalIncInfos);
+    //         return pageMap;
+    //     }else {
+    //         plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+    //         // 2、封装返回数据。
+    //         List<IncInfo> incInfos = toBackActualInfos(plates);
+    //         List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
+    //                 .collect(Collectors.toList());
+    //         return null;
+    //     }
+    // }
+
+
+    /**
+     * 上周实际榜。
+     *
+     * @param incOrDec true=涨幅 false=跌幅。
+     * @return
+     */
+    public List<IncInfo> toActual(Boolean incOrDec) {
         // 1、获取实际榜数据。
         List<IndustryPlateRes> plates = new ArrayList<>();
-        IPage<IndustryPlateRes> plateIPage = null;
-        Page<IndustryPlateRes> page = new Page<>();
-        page.setCurrent(currPage);
-        page.setSize(10);
-        QueryForm queryForm = QueryForm.builder()
-                // .plateId("0.0")
-                .plateName("0.0")
-                .build();
-        plateIPage = industryPlateResMapper.selectActualPlateByPage(page,queryForm);
-        if (incOrDec.equals(true)){
+        if (incOrDec.equals(true)) {
             // 涨幅
-            // plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+            plates = toActualByLastWeek(incOrDec, "plate_close_up_percent");
             // 2、封装返回数据。
-            List<IncInfo> incInfos = toBackActualInfos(plateIPage.getRecords());
+            List<IncInfo> incInfos = toBackActualInfos(plates);
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
                     .collect(Collectors.toList());
-            IPage<IncInfo> incInfoIPage = new Page<>();
-            incInfoIPage.setCurrent(plateIPage.getCurrent());
-            incInfoIPage.setSize(plateIPage.getSize());
-            incInfoIPage.setPages(plateIPage.getPages());
-            incInfoIPage.setTotal(plateIPage.getTotal());
-            incInfoIPage.setRecords(finalIncInfos);
-            Map<String,Object> pageMap = new HashMap<>();
-            pageMap.put("current",plateIPage.getCurrent());
-            pageMap.put("size",plateIPage.getSize());
-            pageMap.put("pages",plateIPage.getPages());
-            pageMap.put("total",plateIPage.getTotal());
-            pageMap.put("incInfos",finalIncInfos);
-            return pageMap;
-        }else {
-            plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+            return finalIncInfos;
+        } else {
+            plates = toActualByLastWeek(incOrDec, "plate_close_up_percent");
             // 2、封装返回数据。
             List<IncInfo> incInfos = toBackActualInfos(plates);
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
                     .collect(Collectors.toList());
-            return null;
+            return finalIncInfos;
         }
     }
 
+    /**
+     * 创建分页查询参数。
+     *
+     * @param sqlParam
+     * @param plateId
+     * @param plateName
+     * @param plateCloseUpPercent
+     * @param plateClosePredUpPercent
+     * @param friday
+     * @param lastFriday
+     * @return
+     */
+    public QueryForm toQueryForm(String sqlParam, String plateId, String plateName,
+                                 String plateCloseUpPercent, String plateClosePredUpPercent,
+                                 String friday, String lastFriday) {
+        QueryForm queryForm = QueryForm.builder()
+                .sqlParam(sqlParam)
+                .plateId(plateId)
+                .plateName(plateName)
+                .plateCloseUpPercent(plateCloseUpPercent)
+                .plateClosePredUpPercent(plateClosePredUpPercent)
+                .friday(friday)
+                .lastFriday(lastFriday)
+                .build();
+        return queryForm;
+    }
 
     /**
-     * 上周实际榜。
-     * @param incOrDec true=涨幅 false=跌幅。
+     * 上周实际榜分页接口。
+     *
+     * @param incOrDec
+     * @param currPage
      * @return
      */
-    public List<IncInfo> toActual(Boolean incOrDec){
+    public Map<String, Object> toActualByPage(Boolean incOrDec, Long currPage) {
+        Page<IndustryPlateRes> page = page(currPage);
+        IPage<IndustryPlateRes> plateIPage = null;
         // 1、获取实际榜数据。
         List<IndustryPlateRes> plates = new ArrayList<>();
-        if (incOrDec.equals(true)){
+        if (incOrDec.equals(true)) {
             // 涨幅
-            plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+            // plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+            QueryForm queryForm = QueryForm.builder().plateCloseUpPercent("0.0").build();
+            plateIPage = industryPlateResMapper.pageByIncActualPlate(page, queryForm);
             // 2、封装返回数据。
-            List<IncInfo> incInfos = toBackActualInfos(plates);
+            // 不分页此处需要修改。
+            List<IncInfo> incInfos = toBackActualInfos(plateIPage.getRecords());
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
                     .collect(Collectors.toList());
-            return finalIncInfos;
-        }else {
-            plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+            // return finalIncInfos;
+            return toPageMap(plateIPage,finalIncInfos);
+        } else {
+            // plates = toActualByLastWeek(incOrDec,"plate_close_up_percent");
+            QueryForm queryForm = QueryForm.builder().plateCloseUpPercent("0.0").build();
+            plateIPage = industryPlateResMapper.pageByDecActualPlate(page, queryForm);
             // 2、封装返回数据。
-            List<IncInfo> incInfos = toBackActualInfos(plates);
+            // 不分页此处需要修改。
+            List<IncInfo> incInfos = toBackActualInfos(plateIPage.getRecords());
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
                     .collect(Collectors.toList());
-            return finalIncInfos;
+            // return finalIncInfos;
+            return toPageMap(plateIPage,finalIncInfos);
         }
     }
 
 
     /**
      * 上周实际榜函数。
+     *
      * @param incOrDec true=涨幅 false=跌幅。
      *                 日期倒序去最新的上周数据。
      *                 涨幅 closeup倒序。
      *                 跌幅 closeup正序。
-     *        *  求plate_close_up
-     * * 上周预测榜函数
-     *      *  求plate_close_pred_up
+     *                 *  求plate_close_up
+     *                 * 上周预测榜函数
+     *                 *  求plate_close_pred_up
      * @return
      */
-    public List<IndustryPlateRes> toActualByLastWeek(Boolean incOrDec,String sqlParam){
+    public List<IndustryPlateRes> toActualByLastWeek(Boolean incOrDec, String sqlParam) {
         QueryWrapper<IndustryPlateRes> queryWrapper = new QueryWrapper<>();
         queryWrapper.orderByDesc("plate_date");
-        if (incOrDec.equals(true)){
+        if (incOrDec.equals(true)) {
             // 涨福,closeup倒序。
             queryWrapper.orderByDesc(sqlParam);
-        }else {
+        } else {
             // 跌幅 closeup正序。
             queryWrapper.orderByAsc(sqlParam);
         }
@@ -198,6 +299,7 @@ public class ListServiceImpl implements ListService {
 
     /**
      * 实际榜---返回信息创建接口。
+     *
      * @param plates 列表。
      * @return
      */
@@ -223,23 +325,24 @@ public class ListServiceImpl implements ListService {
 
     /**
      * 上周预测榜数据。
+     *
      * @param incOrDec
      * @return
      */
-    public List<IncInfo> toLastPred(Boolean incOrDec){
+    public List<IncInfo> toLastPred(Boolean incOrDec) {
         // 1、先获取数据库最新的日期,然后根据该日期获取上周五的日期。
         // 1、获取上周预测数据。
         List<IndustryPlateRes> plates = new ArrayList<>();
-        if (incOrDec.equals(true)){
+        if (incOrDec.equals(true)) {
             // 涨幅
-            plates = toActualByLastWeek(incOrDec,"plate_close_pred_up_percent");
+            plates = toActualByLastWeek(incOrDec, "plate_close_pred_up_percent");
             // 3、创建返回值。
             List<IncInfo> incInfos = toBackPredInfos(plates);
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
                     .collect(Collectors.toList());
             return finalIncInfos;
-        }else {
-            plates = toActualByLastWeek(incOrDec,"plate_close_pred_up_percent");
+        } else {
+            plates = toActualByLastWeek(incOrDec, "plate_close_pred_up_percent");
             List<IncInfo> incInfos = toBackPredInfos(plates);
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
                     .collect(Collectors.toList());
@@ -247,6 +350,59 @@ public class ListServiceImpl implements ListService {
         }
     }
 
+    public Page<IndustryPlateRes> page(Long currPage){
+        Page<IndustryPlateRes> page = new Page<>();
+        page.setCurrent(currPage);
+        page.setSize(Constants.PAGES_NUM);
+        return page;
+    }
+
+    public Map<String,Object> toPageMap(IPage<IndustryPlateRes> plateIPage,List<IncInfo> finalIncInfos){
+        Map<String, Object> pageMap = new HashMap<>();
+        pageMap.put("current", plateIPage.getCurrent());
+        pageMap.put("size", plateIPage.getSize());
+        pageMap.put("pages", plateIPage.getPages());
+        pageMap.put("total", plateIPage.getTotal());
+        pageMap.put("incInfos", finalIncInfos);
+        return pageMap;
+    }
+
+    /**
+     * 上周预测榜数据分页接口。
+     * @param incOrDec
+     * @param currPage
+     * @return
+     */
+    public Map<String, Object> toLastPredByPage(Boolean incOrDec,Long currPage) {
+        IPage<IndustryPlateRes> plateIPage = null;
+        Page<IndustryPlateRes> page = page(currPage);
+        // 1、先获取数据库最新的日期,然后根据该日期获取上周五的日期。
+        // 1.1、获取上周预测数据。
+        List<IndustryPlateRes> plates = new ArrayList<>();
+        if (incOrDec.equals(true)) {
+            // 涨幅
+            // plates = toActualByLastWeek(incOrDec, "plate_close_pred_up_percent");
+            QueryForm queryForm = QueryForm.builder().plateClosePredUpPercent("0.0").build();
+            plateIPage = industryPlateResMapper.pageByIncPredLastPlate(page,queryForm);
+            // 3、创建返回值。
+            // 不分页此处需要修改。
+            List<IncInfo> incInfos = toBackPredInfos(plateIPage.getRecords());
+            List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
+                    .collect(Collectors.toList());
+            // return finalIncInfos;
+            return toPageMap(plateIPage,finalIncInfos);
+        } else {
+            QueryForm queryForm = QueryForm.builder().plateClosePredUpPercent("0.0").build();
+            // plates = toActualByLastWeek(incOrDec, "plate_close_pred_up_percent");
+            plateIPage = industryPlateResMapper.pageByDecPredLastPlate(page,queryForm);
+            // 不分页此处需要修改。
+            List<IncInfo> incInfos = toBackPredInfos(plateIPage.getRecords());
+            List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
+                    .collect(Collectors.toList());
+            // return finalIncInfos;
+            return toPageMap(plateIPage,finalIncInfos);
+        }
+    }
     /**
      * 预测榜--返回信息创建接口。
      *
@@ -274,14 +430,15 @@ public class ListServiceImpl implements ListService {
 
     /**
      * 下周预测
+     *
      * @param incOrDec
      * @return
      */
-    public List<IncInfo> toNextPred(Boolean incOrDec){
+    public List<IncInfo> toNextPred(Boolean incOrDec) {
         // 1、先获取数据库最新的日期,然后根据该日期获取上周五的日期。
         // 1、获取上周预测数据。
         List<IndustryPlateRes> plates = new ArrayList<>();
-        if (incOrDec.equals(true)){
+        if (incOrDec.equals(true)) {
             // 涨幅
             plates = toPredByNext(incOrDec);
             // 3、创建返回值。
@@ -289,7 +446,7 @@ public class ListServiceImpl implements ListService {
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
                     .collect(Collectors.toList());
             return finalIncInfos;
-        }else {
+        } else {
             plates = toPredByNext(incOrDec);
             List<IncInfo> incInfos = toBackPredInfos(plates);
             List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
@@ -298,20 +455,59 @@ public class ListServiceImpl implements ListService {
         }
     }
 
+    /**
+     * 下周预测分页接口。
+     * @param incOrDec
+     * @param currPage
+     * @return
+     */
+    public Map<String, Object> toNextPredByPage(Boolean incOrDec, Long currPage) {
+        Page<IndustryPlateRes> page = page(currPage);
+        IPage<IndustryPlateRes> plateIPage = null;
+        // 1、先获取数据库最新的日期,然后根据该日期获取上周五的日期。
+        // 1、获取上周预测数据。
+        List<IndustryPlateRes> plates = new ArrayList<>();
+        if (incOrDec.equals(true)) {
+            // 涨幅
+            // plates = toPredByNext(incOrDec);
+            QueryForm queryForm = QueryForm.builder().plateClose("true")
+                    .plateClosePredUpPercent("0.0").build();
+            plateIPage = industryPlateResMapper.pageByIncPredNextPlate(page,queryForm);
+            // 3、创建返回值。
+            List<IncInfo> incInfos = toBackPredInfos(plateIPage.getRecords());
+            List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() > 0.0F)
+                    .collect(Collectors.toList());
+            // return finalIncInfos;
+            return toPageMap(plateIPage,finalIncInfos);
+        } else {
+            // plates = toPredByNext(incOrDec);
+            QueryForm queryForm = QueryForm.builder().plateClose("true")
+                    .plateClosePredUpPercent("0.0").build();
+            plateIPage = industryPlateResMapper.pageByDecPredNextPlate(page,queryForm);
+            // 不分页此处需要修改。
+            List<IncInfo> incInfos = toBackPredInfos(plateIPage.getRecords());
+            List<IncInfo> finalIncInfos = incInfos.stream().filter(s -> s.getIndustryValue() < 0.0F)
+                    .collect(Collectors.toList());
+            // return finalIncInfos;
+            return toPageMap(plateIPage,finalIncInfos);
+        }
+    }
+
     /**
      * 下周预测榜函数
-     *  求plate_close_pred_up满足close为空。
+     * 求plate_close_pred_up满足close为空。
+     *
      * @param incOrDec 涨跌幅。
      * @return
      */
-    public List<IndustryPlateRes> toPredByNext(Boolean incOrDec){
+    public List<IndustryPlateRes> toPredByNext(Boolean incOrDec) {
         QueryWrapper<IndustryPlateRes> queryWrapper = new QueryWrapper<>();
         queryWrapper.orderByDesc("plate_date");
         queryWrapper.isNull("plate_close");
-        if (incOrDec.equals(true)){
+        if (incOrDec.equals(true)) {
             // 涨福,closeup倒序。
             queryWrapper.orderByDesc("plate_close_pred_up_percent");
-        }else {
+        } else {
             // 跌幅 closeup正序。
             queryWrapper.orderByAsc("plate_close_pred_up_percent");
         }

+ 40 - 14
src/main/java/com/pavis/ai/app/fda/service/impl/NewsServiceImpl.java

@@ -4,13 +4,18 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.pavis.ai.app.fda.common.config.constants.Constants;
 import com.pavis.ai.app.fda.common.utils.DateUtils;
+import com.pavis.ai.app.fda.form.inc.IncInfo;
 import com.pavis.ai.app.fda.form.news.NewsDetailInfo;
 import com.pavis.ai.app.fda.form.news.NewsList;
 import com.pavis.ai.app.fda.form.search.HotSearch;
 import com.pavis.ai.app.fda.form.search.SearchInfo;
 import com.pavis.ai.app.fda.mapper.NewsInfoMapper;
 import com.pavis.ai.app.fda.mapper.SearchCountMapper;
+import com.pavis.ai.app.fda.model.IndustryPlateRes;
 import com.pavis.ai.app.fda.model.NewsInfo;
 import com.pavis.ai.app.fda.model.SearchCount;
 import com.pavis.ai.app.fda.service.NewsService;
@@ -43,9 +48,44 @@ public class NewsServiceImpl implements NewsService {
     public List<NewsList> newsList() {
         QueryWrapper<NewsInfo> newsInfoQueryWrapper = new QueryWrapper<>();
         newsInfoQueryWrapper.lambda()
+                .orderByDesc(NewsInfo::getNewsDate)
                 .isNotNull(NewsInfo::getId);
         List<NewsInfo> newsInfos = newsInfoMapper.selectList(newsInfoQueryWrapper);
+        return toNewsList(newsInfos);
+    }
+
+    @Override
+    public Map<String, Object> newsListByPage(Long currPage) {
+        IPage<NewsInfo> newsIPage = null;
+        Page<NewsInfo> page = page(currPage);
+        newsIPage = newsInfoMapper.newsListByPage(page);
+        List<NewsInfo> newsInfos = newsIPage.getRecords();
+        List<NewsList> newsLists = toNewsList(newsInfos);
+        return toPageMap(newsIPage,newsLists);
+    }
+
+    public Page<NewsInfo> page(Long currPage){
+        Page<NewsInfo> page = new Page<>();
+        page.setCurrent(currPage);
+        page.setSize(Constants.PAGES_NUM);
+        return page;
+    }
+    public Map<String,Object> toPageMap(IPage<NewsInfo> newsIPage,List<NewsList> newsLists){
+        Map<String, Object> pageMap = new HashMap<>();
+        pageMap.put("size", newsIPage.getSize());
+        pageMap.put("current", newsIPage.getCurrent());
+        pageMap.put("pages", newsIPage.getPages());
+        pageMap.put("total", newsIPage.getTotal());
+        pageMap.put("incInfos", newsLists);
+        return pageMap;
+    }
 
+    /**
+     * 新闻列表接口。
+     * @param newsInfos
+     * @return
+     */
+    public List<NewsList> toNewsList(List<NewsInfo> newsInfos){
         List<NewsList> newsLists = new ArrayList<>();
         NewsList newsList;
         for (NewsInfo newsInfo : newsInfos) {
@@ -104,20 +144,6 @@ public class NewsServiceImpl implements NewsService {
                 .sorted(Comparator.comparing(HotSearch::getSearchNum).reversed())
                 .collect(Collectors.toList());
         return newsSortList;
-
-        // List<HotSearch> hotSearches = new ArrayList<>();
-        // // 07-23 日期加七天。
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0422","交运物流",TestCommon.toInitFloat(),true));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0738","多元金融",Float.valueOf("0.0"),false));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK450","港口水运",Float.valueOf("0.0"),false));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0734","珠宝首饰",TestCommon.toInitFloat(),true));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0471","化纤行业",TestCommon.toInitFloat(),true));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0485","旅游酒店",TestCommon.toInitFloat(),true));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0475","银行",TestCommon.toInitFloat(),false));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0473","券商信托",TestCommon.toInitFloat(),false));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0474","保险",Float.valueOf("0.0"),true));
-        // hotSearches.add(TestCommon.toInitHotSearch("BK0478","有色金属",Float.valueOf("0.0"),true));
-        // return hotSearches;
     }
 
     @Override

+ 15 - 0
src/main/resources/mapper/FollowInfoMapper.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.pavis.ai.app.fda.mapper.FollowInfoMapper">
+    <select id="followedDetailsByPage" resultType="com.pavis.ai.app.fda.model.FollowInfo">
+        select fi.*
+        from follow_info fi
+        <where>
+            <if test="params.userId != null and '' != params.userId">
+                fi.user_id = #{params.userId}
+            </if>
+        </where>
+        order by fi.operate_time desc
+    </select>
+
+</mapper>

+ 61 - 7
src/main/resources/mapper/IndustryPlateResMapper.xml

@@ -18,17 +18,13 @@
         group by ipr.plate_id order by ipr.plate_date desc
     </select>
 
-    <select id="selectActualPlateByPage"  resultType="IndustryPlateRes" parameterType="map">
+    <select id="pageByIncActualPlate"  resultType="IndustryPlateRes" parameterType="map">
         select ipr.*
         from industry_plate_res ipr
         <where>
-            <if test="params.plateId != null and '' != params.plateId">
-                ipr.plate_close_up_percent &gt; #{params.plateId}
+            <if test="params.plateCloseUpPercent != null and '' != params.plateCloseUpPercent">
+                ipr.plate_close_up_percent &gt; #{params.plateCloseUpPercent}
             </if>
-            <if test="params.plateName != null and '' != params.plateName">
-                ipr.plate_close_up_percent &lt; #{params.plateName}
-            </if>
-
         </where>
 <!--        <where>-->
 <!--            <if test="params.lastFriday != null and '' != params.lastFriday and params.friday != null and '' != params.friday">-->
@@ -43,4 +39,62 @@
 <!--        </where>-->
         group by ipr.plate_id order by ipr.plate_date desc,ipr.plate_close_up_percent desc
     </select>
+    <select id="pageByDecActualPlate"  resultType="IndustryPlateRes" parameterType="map">
+        select ipr.*
+        from industry_plate_res ipr
+        <where>
+            <if test="params.plateCloseUpPercent != null and '' != params.plateCloseUpPercent">
+                ipr.plate_close_up_percent &lt; #{params.plateCloseUpPercent}
+            </if>
+        </where>
+        group by ipr.plate_id order by ipr.plate_date desc,ipr.plate_close_up_percent asc
+    </select>
+
+    <select id="pageByIncPredLastPlate"  resultType="IndustryPlateRes" parameterType="map">
+        select ipr.*
+        from industry_plate_res ipr
+        <where>
+            <if test="params.plateClosePredUpPercent != null and '' != params.plateClosePredUpPercent">
+                ipr.plate_close_pred_up_percent &gt; #{params.plateClosePredUpPercent}
+            </if>
+        </where>
+        group by ipr.plate_id order by ipr.plate_date desc,ipr.plate_close_pred_up_percent desc
+    </select>
+    <select id="pageByDecPredLastPlate"  resultType="IndustryPlateRes" parameterType="map">
+        select ipr.*
+        from industry_plate_res ipr
+        <where>
+            <if test="params.plateClosePredUpPercent != null and '' != params.plateClosePredUpPercent">
+                ipr.plate_close_pred_up_percent &lt; #{params.plateClosePredUpPercent}
+            </if>
+        </where>
+        group by ipr.plate_id order by ipr.plate_date desc,ipr.plate_close_pred_up_percent asc
+    </select>
+
+    <select id="pageByIncPredNextPlate"  resultType="IndustryPlateRes" parameterType="map">
+        select ipr.*
+        from industry_plate_res ipr
+        <where>
+            <if test="params.plateClose != null and '' != params.plateClose">
+                ipr.plate_close is null
+            </if>
+            <if test="params.plateClosePredUpPercent != null and '' != params.plateClosePredUpPercent">
+                and ipr.plate_close_pred_up_percent &gt; #{params.plateClosePredUpPercent}
+            </if>
+        </where>
+        group by ipr.plate_id order by ipr.plate_date desc,ipr.plate_close_pred_up_percent desc
+    </select>
+    <select id="pageByDecPredNextPlate"  resultType="IndustryPlateRes" parameterType="map">
+        select ipr.*
+        from industry_plate_res ipr
+        <where>
+            <if test="params.plateClose != null and '' != params.plateClose">
+                ipr.plate_close is null
+            </if>
+            <if test="params.plateClosePredUpPercent != null and '' != params.plateClosePredUpPercent">
+                and ipr.plate_close_pred_up_percent &lt; #{params.plateClosePredUpPercent}
+            </if>
+        </where>
+        group by ipr.plate_id order by ipr.plate_date desc,ipr.plate_close_pred_up_percent asc
+    </select>
 </mapper>

+ 10 - 0
src/main/resources/mapper/NewsInfoMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.pavis.ai.app.fda.mapper.NewsInfoMapper">
+    <select id="newsListByPage" resultType="com.pavis.ai.app.fda.model.NewsInfo">
+        select ni.*
+        from news_info ni
+        order by ni.news_date desc
+    </select>
+
+</mapper>