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