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)) {