From 174452f2c433ebee9ef7d0b39e0a20a286d8d8dc Mon Sep 17 00:00:00 2001 From: sangelxiu1 <15781802@163.com> Date: Mon, 16 Jun 2025 10:00:11 +0800 Subject: [PATCH] =?UTF-8?q?##=20Fix=20-=20=E5=B8=82=E5=9C=BA=E5=8A=A8?= =?UTF-8?q?=E6=80=81-=E4=B8=9A=E7=BB=A9=E5=88=97=E8=A1=A8=E4=B8=BA0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../param/MarketDynamicsQueryDateParam.java | 4 ++++ .../retail/member/utils/DataStatisticsUtil.java | 16 ++++++++++++---- .../member/achieve/CuMemberRetailRangeMapper.xml | 14 +++++++------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java index d1dd7504..85e209b3 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/param/MarketDynamicsQueryDateParam.java @@ -38,4 +38,8 @@ public class MarketDynamicsQueryDateParam implements Serializable { private String keyWords; private Integer pageNum = 1; private Integer pageSize = 10; + /** + * 查询类型 1-盒数, 2-业绩 + */ + private Integer queryType; } diff --git a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java index 30b4f9b8..04273214 100644 --- a/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java +++ b/bd-business/bd-business-member/src/main/java/com/hzs/retail/member/utils/DataStatisticsUtil.java @@ -230,10 +230,18 @@ public class DataStatisticsUtil { if(StrUtil.isNotEmpty(param.getKeyWords())){ detailVOList = detailVOList.stream().filter(o -> o.getMemberCode().contains(param.getKeyWords()) || o.getMemberName().contains(param.getKeyWords())).collect(Collectors.toList()); } - MarketDynamicsDetailVO bigRange = detailVOList.stream() - .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) - .orElse(null); - detailVOList = detailVOList.stream().filter(o -> !o.getPkId().equals(bigRange.getPkId())).collect(Collectors.toList()); + MarketDynamicsDetailVO bigRange = null; + if(param.getQueryType().equals(1)){ + bigRange = detailVOList.stream() + .max(Comparator.comparingInt(MarketDynamicsDetailVO::getTotalBoxNum)) + .orElse(null); + }else{ + bigRange = detailVOList.stream() + .max(Comparator.comparing(MarketDynamicsDetailVO::getTodayPv)) + .orElse(null); + } + MarketDynamicsDetailVO finalBigRange = bigRange; + detailVOList = detailVOList.stream().filter(o -> !o.getPkId().equals(finalBigRange.getPkId())).collect(Collectors.toList()); PageResult result = MemoryPageUtils.paginate(detailVOList, param.getPageNum(), param.getPageSize()); result.setBigRange(bigRange); return result; diff --git a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml index a05d70de..6054564a 100644 --- a/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml +++ b/bd-business/bd-business-member/src/main/resources/mapper/member/achieve/CuMemberRetailRangeMapper.xml @@ -882,15 +882,15 @@ cu.PK_AWARDS, awards.AWARDS_NAME, currentMonth.ENABLE_STATUS, - NVL( currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) todayPv, - NVL( currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) todayBoxNum, - NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + currentMonth.TEAM_NEW_PV, 0 ) yesterdayPv, - NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + currentMonth.TEAM_NEW_BOX_NUM, 0 ) yesterdayBoxNum, - NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + currentDay.NEW_CONSUME_PV + currentDay.TEAM_NEW_PV, 0 ) currentMonthPv, - NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) currentMonthBoxNum, + NVL( NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) todayPv, + NVL( NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) todayBoxNum, + NVL( NVL( currentMonth.NEW_CONSUME_PV, 0 ) + NVL( currentMonth.TEAM_NEW_PV, 0 ), 0 ) yesterdayPv, + NVL( NVL( currentMonth.NEW_BOX_NUM, 0 ) + NVL( currentMonth.TEAM_NEW_BOX_NUM, 0 ), 0 ) yesterdayBoxNum, + NVL( NVL( currentMonth.MONTH_CONSUME_PV, 0 ) + NVL( currentDay.NEW_CONSUME_PV, 0 ) + NVL( currentDay.TEAM_NEW_PV, 0 ), 0 ) currentMonthPv, + NVL( NVL( currentMonth.MONTH_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) currentMonthBoxNum, NVL( lastMonth.MONTH_CONSUME_PV, 0 ) lastMonthPv, NVL( lastMonth.MONTH_BOX_NUM, 0 ) lastMonthBoxNum, - NVL( currentMonth.CONSUME_BOX_NUM + currentDay.NEW_BOX_NUM + currentDay.TEAM_NEW_BOX_NUM, 0 ) totalBoxNum + NVL( NVL( currentMonth.CONSUME_BOX_NUM, 0 ) + NVL( currentDay.NEW_BOX_NUM, 0 ) + NVL( currentDay.TEAM_NEW_BOX_NUM, 0 ), 0 ) totalBoxNum FROM cu_member cu LEFT JOIN ${param.currentDayTableName} currentDay ON cu.PK_ID = currentDay.PK_MEMBER