From 81263112d55af5e3107574ecfeed160bb5993947 Mon Sep 17 00:00:00 2001 From: "shuo.wang" Date: Fri, 16 May 2025 13:18:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=EF=BC=8C=E6=95=B0=E6=8D=AE=E6=A2=B3=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../response/FranchiseReportResponse.java | 4 ++ .../impl/FranchiseReportServiceImpl.java | 39 ++++++++++++++----- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java index a896f8c2a..337230335 100644 --- a/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java +++ b/coolstore-partner-model/src/main/java/com/cool/store/response/FranchiseReportResponse.java @@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.util.List; /** * @Author: WangShuo @@ -89,6 +90,9 @@ public class FranchiseReportResponse { private Integer yesterdayStoreNum = 0; @ExcelIgnore private Long regionId; + //集团维度使用 + @ExcelIgnore + private List regionIds; } diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java index f38099ef4..102573166 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/FranchiseReportServiceImpl.java @@ -83,10 +83,16 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { continue; } FranchiseReportResponse response = new FranchiseReportResponse(); + //查集团维度 if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) { response = responseByJoinGroupNameMap.getOrDefault(bigRegionDO.getGroupName(), new FranchiseReportResponse()); response.setJoinGroupName(bigRegionDO.getGroupName()); + if (CollectionUtils.isEmpty(response.getRegionIds())){ + response.setRegionIds(new ArrayList<>()); + } + response.getRegionIds().add(shopFranchiseReportDTO.getRegionId()); } else { + //查大区维度 response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId()); } @@ -143,22 +149,37 @@ public class FranchiseReportServiceImpl implements FranchiseReportService { DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd"); if (CollectionUtils.isNotEmpty(yesterdayShopFranchiseReportList)) { Map> yesterdayMap = yesterdayShopFranchiseReportList.stream().collect(Collectors.groupingBy(FranchiseReportDTO::getRegionId)); - for (Long regionId : responseByRegionIdMap.keySet()) { - FranchiseReportResponse response = responseByRegionIdMap.get(regionId); - if (Objects.isNull(response)) { - continue; + //查集团维度 + if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) { + for (FranchiseReportResponse responseByJoinGroupName : responseByJoinGroupNameMap.values()){ + + List regionIds = responseByJoinGroupName.getRegionIds(); + for (Long regionId : regionIds){ + BigRegionDO bigRegionDO = bigRegionDOMap.get(regionId); + List yesterdayList = yesterdayMap.getOrDefault(bigRegionDO.getRegionId(),new ArrayList<>()); + responseByJoinGroupName.setYesterdayDate(yesterdayStartDate.format(formatter1)); + responseByJoinGroupName.setYesterdayStoreNum(responseByJoinGroupName.getYesterdayStoreNum() +(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size())); + } + } + }else{ + //大区维度 + for (Long regionId : responseByRegionIdMap.keySet()) { + FranchiseReportResponse response = responseByRegionIdMap.get(regionId); + if (Objects.isNull(response)) { + continue; + } + List yesterdayList = yesterdayMap.get(regionId); + response.setYesterdayDate(yesterdayStartDate.format(formatter1)); + response.setYesterdayStoreNum(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size()); + responseByRegionIdMap.put(regionId, response); } - List yesterdayList = yesterdayMap.get(regionId); - response.setYesterdayDate(yesterdayStartDate.format(formatter1)); - response.setYesterdayStoreNum(CollectionUtils.isEmpty(yesterdayList) ? 0 : yesterdayList.size()); - responseByRegionIdMap.put(regionId, response); } } List list = new ArrayList<>(); if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) { list.addAll(responseByJoinGroupNameMap.values()); - }else{ + } else { list.addAll(responseByRegionIdMap.values()); } if (CollectionUtils.isEmpty(list)) {