统计报表接口,数据梳理接口

This commit is contained in:
shuo.wang
2025-05-16 10:56:49 +08:00
parent 234789f88f
commit c65dd376f3

View File

@@ -58,8 +58,8 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
request.setRegionIds(regionIdByGroupName);
} else {
request.getRegionIds().retainAll(regionIdByGroupName);
if (CollectionUtils.isEmpty(request.getRegionIds())){
throw new ServiceException(ErrorCodeEnum.REGION_INTERSECTION_IS_NULL);
if (CollectionUtils.isEmpty(request.getRegionIds())) {
throw new ServiceException(ErrorCodeEnum.REGION_INTERSECTION_IS_NULL);
}
}
}
@@ -76,22 +76,25 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
List<BigRegionDO> bigRegionDOList = bigRegionDAO.getByRegionIdList(new ArrayList<>(regionSet));
Map<Long, BigRegionDO> bigRegionDOMap = bigRegionDOList.stream().collect(Collectors.toMap(BigRegionDO::getRegionId, bigRegionDO -> bigRegionDO));
Map<Long, FranchiseReportResponse> responseByRegionIdMap = new HashMap<>();
Map<String ,FranchiseReportResponse> responseByJoinGroupNameMap = new HashMap<>();
Map<String, FranchiseReportResponse> responseByJoinGroupNameMap = new HashMap<>();
for (FranchiseReportDTO shopFranchiseReportDTO : shopFranchiseReportList) {
FranchiseReportResponse response = new FranchiseReportResponse();
if(CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())){
BigRegionDO bigRegionDO = bigRegionDOMap.get(shopFranchiseReportDTO.getRegionId());
response = responseByJoinGroupNameMap.get(bigRegionDO.getGroupName());
BigRegionDO bigRegionDO = bigRegionDOMap.get(shopFranchiseReportDTO.getRegionId());
if (bigRegionDO == null) {
continue;
}
else {
response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId());
FranchiseReportResponse response = new FranchiseReportResponse();
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
response = responseByJoinGroupNameMap.getOrDefault(bigRegionDO.getGroupName(), new FranchiseReportResponse());
response.setJoinGroupName(bigRegionDO.getGroupName());
} else {
response = responseByRegionIdMap.get(shopFranchiseReportDTO.getRegionId());
}
if (response == null) {
if (response == null && CollectionUtils.isNotEmpty(request.getJoinGroupName()) && CollectionUtils.isNotEmpty(request.getRegionIds())) {
response = new FranchiseReportResponse();
response.setRegionId(shopFranchiseReportDTO.getRegionId());
response.setRegionName(bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getRegionName());
String groupName = bigRegionDOMap.getOrDefault(shopFranchiseReportDTO.getRegionId(), new BigRegionDO()).getGroupName();
response.setRegionName(bigRegionDO.getRegionName());
String groupName = bigRegionDO.getGroupName();
if (StringUtils.isBlank(groupName)) {
continue;
}
@@ -117,7 +120,11 @@ public class FranchiseReportServiceImpl implements FranchiseReportService {
.add(new BigDecimal(franchiseFeeDO.getFirstYearFee()))
.add(new BigDecimal(franchiseFeeDO.getPerformanceBond())));
}
responseByRegionIdMap.put(shopFranchiseReportDTO.getRegionId(), response);
if (CollectionUtils.isEmpty(request.getJoinGroupName()) && CollectionUtils.isEmpty(request.getRegionIds())) {
responseByJoinGroupNameMap.put(bigRegionDO.getGroupName(), response);
} else {
responseByRegionIdMap.put(shopFranchiseReportDTO.getRegionId(), response);
}
}
FranchiseReportRequest yesterdayRequest = new FranchiseReportRequest();
yesterdayRequest.setRegionIds(request.getRegionIds());