From 63fde2b21b4c32484d9fb7729ac9edac6a95b023 Mon Sep 17 00:00:00 2001 From: laixingyu Date: Wed, 26 Jul 2023 21:55:12 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E5=8A=A8=E9=87=8F?= =?UTF-8?q?=E8=B6=8B=E5=8A=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gupiao/controller/StockController.java | 8 ++ .../DongCaiSecondaryIndustryMapper.java | 17 +++- .../mapper/DongCaiSecondaryIndustryMapper.xml | 40 +++++++++ .../pojo/domain/DongCaiSecondaryIndustry.java | 8 ++ .../DongCaiSecondaryIndustryService.java | 8 ++ .../DongCaiSecondaryIndustryServiceImpl.java | 89 +++++++++++++++++++ 6 files changed, 168 insertions(+), 2 deletions(-) diff --git a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/controller/StockController.java b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/controller/StockController.java index 9343664..b03b0a1 100644 --- a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/controller/StockController.java +++ b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/controller/StockController.java @@ -45,6 +45,14 @@ public class StockController { return ok(dongCaiSecondaryIndustryService.trendPlate(dongCaiSecondaryIndustryRequest)); } + @PostMapping(value = "/trends") + @ApiOperation("动量趋势板块") + public Result> trends(@RequestBody DongCaiSecondaryIndustryRequest dongCaiSecondaryIndustryRequest) { + + + return ok(dongCaiSecondaryIndustryService.trends(dongCaiSecondaryIndustryRequest)); + } + @PostMapping(value = "/riseLossesStatistics") @ApiOperation("首页-涨跌统计") diff --git a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.java b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.java index 146c47e..3284e46 100644 --- a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.java +++ b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.java @@ -16,7 +16,7 @@ public interface DongCaiSecondaryIndustryMapper extends BaseMapper trends(@Param("page") Page pageInfo, + @Param("firstDate")Date firstDate, + @Param("secondDate")Date secondDate, + @Param("sortSort") String sortSort, + @Param("sortChangeSort")String sortChangeSort, + @Param("type")String type); } diff --git a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.xml b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.xml index c7c2ba3..8d213cf 100644 --- a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.xml +++ b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/mapper/DongCaiSecondaryIndustryMapper.xml @@ -44,4 +44,44 @@ + + + diff --git a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/pojo/domain/DongCaiSecondaryIndustry.java b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/pojo/domain/DongCaiSecondaryIndustry.java index 7a7902f..45d1f41 100644 --- a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/pojo/domain/DongCaiSecondaryIndustry.java +++ b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/pojo/domain/DongCaiSecondaryIndustry.java @@ -129,4 +129,12 @@ public class DongCaiSecondaryIndustry { @TableField(exist=false) private Integer sortChange; + @ApiModelProperty("动量值") + @TableField(exist=false) + private Integer trendValue; + + @ApiModelProperty("动量值变化") + @TableField(exist=false) + private Integer trendValueChange; + } diff --git a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/DongCaiSecondaryIndustryService.java b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/DongCaiSecondaryIndustryService.java index 69a8967..9e2d029 100644 --- a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/DongCaiSecondaryIndustryService.java +++ b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/DongCaiSecondaryIndustryService.java @@ -32,6 +32,14 @@ public interface DongCaiSecondaryIndustryService extends IService trendPlate(DongCaiSecondaryIndustryRequest dongCaiSecondaryIndustryRequest); + /** + * 动量趋势板块 + * + * @param dongCaiSecondaryIndustryRequest + * @return + */ + PageList trends(DongCaiSecondaryIndustryRequest dongCaiSecondaryIndustryRequest); + /** * 板块排名变化 * @param securityCode code diff --git a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/impl/DongCaiSecondaryIndustryServiceImpl.java b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/impl/DongCaiSecondaryIndustryServiceImpl.java index 38d83d6..485d311 100644 --- a/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/impl/DongCaiSecondaryIndustryServiceImpl.java +++ b/ssdmn-chat-gpt-api/src/main/java/com/ssdmn/biz/gupiao/service/impl/DongCaiSecondaryIndustryServiceImpl.java @@ -191,7 +191,96 @@ public class DongCaiSecondaryIndustryServiceImpl extends ServiceImpl trends(DongCaiSecondaryIndustryRequest dongCaiSecondaryIndustryRequest){ +// 分页 + Page page = Querys.page(dongCaiSecondaryIndustryRequest.getPageModel()); + + // 类型 + Integer trendType = 1; + + if(ObjectUtil.isNotEmpty(dongCaiSecondaryIndustryRequest.getTrendType()) && dongCaiSecondaryIndustryRequest.getTrendType() > 0){ + + trendType = dongCaiSecondaryIndustryRequest.getTrendType(); + } + + if(ObjectUtil.isEmpty(dongCaiSecondaryIndustryRequest.getBusinessDate())){ + dongCaiSecondaryIndustryRequest.setBusinessDate(DateUtil.parseDate(DateUtil.now())); + } + + + // 查询最后的日期 + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .select(DongCaiSecondaryIndustry::getBusinessDate) + .le(DongCaiSecondaryIndustry::getBusinessDate,dongCaiSecondaryIndustryRequest.getBusinessDate()) + .groupBy(DongCaiSecondaryIndustry::getBusinessDate) + .orderByDesc(DongCaiSecondaryIndustry::getBusinessDate).last("limit " + trendType); + + List dongCaiSecondaryIndustryList = list(queryWrapper); + + Date firstDate = null; + Date secondDate = null; + + if(dongCaiSecondaryIndustryList.size() > 1){ + firstDate = dongCaiSecondaryIndustryList.get(0).getBusinessDate(); + } + + if(dongCaiSecondaryIndustryList.size() > 2){ + secondDate = dongCaiSecondaryIndustryList.get(dongCaiSecondaryIndustryList.size() -1).getBusinessDate(); + } + + String sortField = dongCaiSecondaryIndustryRequest.getPageModel().getSortField(); + String sortWay = dongCaiSecondaryIndustryRequest.getPageModel().getSortWay(); + + // 排名的排序 + String sort = null; + + // 排名变化的排序 + String sortChange = null; + + if(ObjectUtil.isNotEmpty(sortField)){ + + String[] sortFieldArr = sortField.split(","); + String[] sortWayArr = sortWay.split(","); + + for (int i = 0; i < sortFieldArr.length; i++) { + String s = sortFieldArr[i]; + if("sort".equals(s)){ + try{ + sort = sortWayArr[i]; + }catch (Exception e){ + sort = "desc"; + } + + } + + if("sortChange".equals(s)){ + try{ + sortChange = sortWayArr[i]; + }catch (Exception e){ + sortChange = "desc"; + } + + } + } + } + + Page resultPage = baseMapper.trends(new Page<>(dongCaiSecondaryIndustryRequest.getPageModel().getPageNo(), + dongCaiSecondaryIndustryRequest.getPageModel().getPageSize()), + firstDate, + secondDate, + sort, + sortChange, + trendType.toString()); + + + List collect = resultPage.getRecords().stream().map(dongCaiSecondaryIndustry -> + BeanUtil.toBean(dongCaiSecondaryIndustry, DongCaiSecondaryIndustryResponse.class) + + ).collect(Collectors.toList()); + + return PageUtils.pageList((int)resultPage.getCurrent(),(int)resultPage.getSize(),(int)resultPage.getTotal(),collect); + } @Override public OriginalIssueStockSortResponseChange dongCaiSortChange(String securityCode) {