From bb16b9ff7deb5019e8290d574038b828a8c7c700 Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Wed, 10 May 2023 11:09:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A5=BC=E9=95=BF=E5=8D=95=E5=85=8312?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CommunityBuildingManagerServiceImpl.java | 81 ++++++++++++++++--- .../service/impl/IcBuildingServiceImpl.java | 2 +- 2 files changed, 69 insertions(+), 14 deletions(-) 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 05a906abe5..538671377e 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 @@ -15,6 +15,7 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.*; @@ -23,6 +24,7 @@ import com.epmet.dao.CommunityBuildingManagerDao; import com.epmet.dao.IcBuildingDao; import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerGridDTO; +import com.epmet.dto.IcBuildingDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.NeighborHoodOptionFormDTO; import com.epmet.dto.form.yt.CommunityBuildingManagerPageFormDTO; @@ -78,7 +80,8 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl gridList=customerGridService.getGridOption(staffInfoCacheResult.getAgencyId(), "addorupdate"); Map gridMap = gridList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); String uuid = IdWorker.getIdStr(); + String redisKey = "community_building_manager_import".concat(StrConstant.COLON).concat(uuid); + try { - CommunityBuildingManagerImportListener listener = new CommunityBuildingManagerImportListener(gridMap,customerId,staffId,staffInfoCacheResult.getAgencyId(),districtId,streetId,uuid, + CommunityBuildingManagerImportListener listener = new CommunityBuildingManagerImportListener(gridMap,customerId,staffId,staffInfoCacheResult.getAgencyId(),districtId,streetId,redisKey, SpringContextUtils.getBean(CommunityBuildingManagerServiceImpl.class)); EasyExcel.read(filePath.toFile(), CommunityBuildingManagerImportExcelData.class, listener).headRowNumber(1).sheet(0).doRead(); @@ -355,8 +360,8 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl insertList = new ArrayList<>(); List updateList = new ArrayList<>(); + List buildingUpdateList=new ArrayList<>(); for (CommunityBuildingManagerDTO dto : excelDataList) { try { CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerEntity.class); @@ -399,12 +405,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl viliageList = SpringContextUtils.getBean(IcNeighborHoodService.class).queryNeighborHoodOptions(neighborHoodOptionFormDTO); + List viliageList =queryViliageList(customerId,staffId,agencyId,gridId,rediPrex); Map viliageMap = viliageList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); if (MapUtils.isEmpty(viliageMap) || !viliageMap.containsKey(dto.getViliageName()) || StringUtils.isBlank(viliageMap.get(dto.getViliageName()))) { CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); @@ -418,7 +419,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl buildingList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId); + List buildingList=queryBuildingList(viliageId,rediPrex); Map buildingMap = buildingList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); if (MapUtils.isEmpty(buildingMap) || !buildingMap.containsKey(dto.getBuildingName()) || StringUtils.isBlank(buildingMap.get(dto.getBuildingName()))) { CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); @@ -433,7 +434,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl unitList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId); + List unitList=queryUnitList(buildingId,rediPrex); Map unitMap = unitList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); if (MapUtils.isEmpty(unitMap) || !unitMap.containsKey(dto.getUnitName()) || StringUtils.isBlank(unitMap.get(dto.getUnitName()))) { CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); @@ -442,8 +443,8 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl countQuery = new LambdaQueryWrapper<>(); countQuery.eq(CommunityBuildingManagerEntity::getType, entity.getType()) @@ -457,6 +458,17 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl 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; + } + 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; + } + + private List 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; + } + List resultList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId); + // 有效时间1小时 + redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); + return resultList; + } + + private List 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; + } + List resultList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId); + // 有效时间1小时 + redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); + return resultList; } diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java index 4e201a5336..fa8737e051 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java @@ -189,7 +189,7 @@ public class IcBuildingServiceImpl extends BaseServiceImpl