diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java index 538671377e..3a26479c71 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java @@ -361,7 +361,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl viliageList =queryViliageList(customerId,staffId,agencyId,gridId,rediPrex); - Map viliageMap = viliageList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + Map viliageMap =queryViliageList(customerId,staffId,agencyId,gridId,rediPrex); if (MapUtils.isEmpty(viliageMap) || !viliageMap.containsKey(dto.getViliageName()) || StringUtils.isBlank(viliageMap.get(dto.getViliageName()))) { CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); errorRow.setErrorInfo("小区不存在"); @@ -419,8 +419,9 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl buildingList=queryBuildingList(viliageId,rediPrex); - Map buildingMap = buildingList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + // List buildingList=queryBuildingList(viliageId,rediPrex); + // Map buildingMap = buildingList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + Map buildingMap =queryBuildingList(viliageId,rediPrex);; if (MapUtils.isEmpty(buildingMap) || !buildingMap.containsKey(dto.getBuildingName()) || StringUtils.isBlank(buildingMap.get(dto.getBuildingName()))) { CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); errorRow.setErrorInfo("楼栋不存在"); @@ -434,8 +435,9 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl unitList=queryUnitList(buildingId,rediPrex); - Map unitMap = unitList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + // List unitList=queryUnitList(buildingId,rediPrex); + // Map unitMap = unitList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + Map unitMap = queryUnitList(buildingId, rediPrex); if (MapUtils.isEmpty(unitMap) || !unitMap.containsKey(dto.getUnitName()) || StringUtils.isBlank(unitMap.get(dto.getUnitName()))) { CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); errorRow.setErrorInfo("单元不存在"); @@ -450,7 +452,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl queryViliageList(String customerId, String staffId, String agencyId, String gridId, String rediPrex) { + private Map queryViliageList(String customerId, String staffId, String agencyId, String gridId, String rediPrex) { String redisKey = rediPrex.concat(StrConstant.COLON).concat("viliage_list").concat(StrConstant.COLON).concat(gridId); - List viliageList = redisUtils.lrange(redisKey, NumConstant.ZERO, NumConstant.ONE_NEG, OptionResultDTO.class); - if (!CollectionUtils.isEmpty(viliageList)) { - return viliageList; + Map viliageMap = redisUtils.hGetAll(redisKey); + if (MapUtils.isEmpty(viliageMap)) { + NeighborHoodOptionFormDTO neighborHoodOptionFormDTO = new NeighborHoodOptionFormDTO(); + neighborHoodOptionFormDTO.setCustomerId(customerId); + neighborHoodOptionFormDTO.setStaffId(staffId); + neighborHoodOptionFormDTO.setAgencyId(agencyId); + neighborHoodOptionFormDTO.setGridId(gridId); + List resultList = SpringContextUtils.getBean(IcNeighborHoodService.class).queryNeighborHoodOptions(neighborHoodOptionFormDTO); + viliageMap = resultList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + // 有效时间1小时 + redisUtils.hMSet(redisKey, viliageMap, RedisUtils.HOUR_ONE_EXPIRE); } - NeighborHoodOptionFormDTO neighborHoodOptionFormDTO = new NeighborHoodOptionFormDTO(); - neighborHoodOptionFormDTO.setCustomerId(customerId); - neighborHoodOptionFormDTO.setStaffId(staffId); - neighborHoodOptionFormDTO.setAgencyId(agencyId); - neighborHoodOptionFormDTO.setGridId(gridId); - List resultList = SpringContextUtils.getBean(IcNeighborHoodService.class).queryNeighborHoodOptions(neighborHoodOptionFormDTO); - // 有效时间1小时 - redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); - return resultList; + Map resultMap = new HashMap<>(); + viliageMap.forEach((k, v) -> + resultMap.put(k, (String) v) + ); + return resultMap; } - private List queryBuildingList(String viliageId, String rediPrex) { + private Map queryBuildingList(String viliageId, String rediPrex) { String redisKey = rediPrex.concat(StrConstant.COLON).concat("building_List").concat(StrConstant.COLON).concat(viliageId); - List buildingList = redisUtils.lrange(redisKey, NumConstant.ZERO, NumConstant.ONE_NEG, OptionResultDTO.class); - if (!CollectionUtils.isEmpty(buildingList)) { - return buildingList; + Map buildingMap = redisUtils.hGetAll(redisKey); + if (MapUtils.isEmpty(buildingMap)) { + List resultList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId); + buildingMap = resultList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + // 有效时间1小时 + redisUtils.hMSet(redisKey, buildingMap, RedisUtils.HOUR_ONE_EXPIRE); } - List resultList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId); - // 有效时间1小时 - redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); - return resultList; + Map resultMap = new HashMap<>(); + buildingMap.forEach((k, v) -> + resultMap.put(k, (String) v) + ); + return resultMap; } - private List queryUnitList(String buildingId, String rediPrex) { + private Map queryUnitList(String buildingId, String rediPrex) { String redisKey = rediPrex.concat(StrConstant.COLON).concat("unit_List").concat(StrConstant.COLON).concat(buildingId); - List unitList = redisUtils.lrange(redisKey, NumConstant.ZERO, NumConstant.ONE_NEG, OptionResultDTO.class); - if (!CollectionUtils.isEmpty(unitList)) { - return unitList; + Map unitMap = redisUtils.hGetAll(redisKey); + if (MapUtils.isEmpty(unitMap)) { + List resultList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId); + unitMap = resultList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); + // 有效时间1小时 + redisUtils.hMSet(redisKey, unitMap, RedisUtils.HOUR_ONE_EXPIRE); } - List resultList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId); - // 有效时间1小时 - redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); - return resultList; + Map resultMap = new HashMap<>(); + unitMap.forEach((k, v) -> + resultMap.put(k, (String) v) + ); + return resultMap; }