Browse Source

楼长单元长导入end

dev
yinzuomei 2 years ago
parent
commit
c755f9010d
  1. 100
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java

100
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<Communi
} }
} }
//删除小区缓存、楼栋缓存、单元缓存 //删除小区缓存、楼栋缓存、单元缓存
redisUtils.deleteByPrex(redisKey); redisUtils.deleteByPrex(redisKey+"*");
} }
@ -401,12 +401,12 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
continue; continue;
} }
String gridId = gridMap.get(dto.getGridName()); String gridId = gridMap.get(dto.getGridName());
entity.setGridId(gridId);
entity.setOrgIdPath(CustomerOrgRedis.getOrgIdPath(gridId, OrgTypeEnum.GRID.getCode())); entity.setOrgIdPath(CustomerOrgRedis.getOrgIdPath(gridId, OrgTypeEnum.GRID.getCode()));
// 查询当前网格下的小区 // 查询当前网格下的小区
// 所属小区 // 所属小区
List<OptionResultDTO> viliageList =queryViliageList(customerId,staffId,agencyId,gridId,rediPrex); Map<String, String> viliageMap =queryViliageList(customerId,staffId,agencyId,gridId,rediPrex);
Map<String, String> viliageMap = viliageList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue));
if (MapUtils.isEmpty(viliageMap) || !viliageMap.containsKey(dto.getViliageName()) || StringUtils.isBlank(viliageMap.get(dto.getViliageName()))) { if (MapUtils.isEmpty(viliageMap) || !viliageMap.containsKey(dto.getViliageName()) || StringUtils.isBlank(viliageMap.get(dto.getViliageName()))) {
CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class);
errorRow.setErrorInfo("小区不存在"); errorRow.setErrorInfo("小区不存在");
@ -419,8 +419,9 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
// 查询当前小区下的楼栋 // 查询当前小区下的楼栋
// 所属楼栋 // 所属楼栋
List<OptionResultDTO> buildingList=queryBuildingList(viliageId,rediPrex); // List<OptionResultDTO> buildingList=queryBuildingList(viliageId,rediPrex);
Map<String, String> buildingMap = buildingList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); // Map<String, String> buildingMap = buildingList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue));
Map<String, String> buildingMap =queryBuildingList(viliageId,rediPrex);;
if (MapUtils.isEmpty(buildingMap) || !buildingMap.containsKey(dto.getBuildingName()) || StringUtils.isBlank(buildingMap.get(dto.getBuildingName()))) { if (MapUtils.isEmpty(buildingMap) || !buildingMap.containsKey(dto.getBuildingName()) || StringUtils.isBlank(buildingMap.get(dto.getBuildingName()))) {
CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class);
errorRow.setErrorInfo("楼栋不存在"); errorRow.setErrorInfo("楼栋不存在");
@ -434,8 +435,9 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
String unitId = ""; String unitId = "";
if (StringUtils.isNotBlank(dto.getUnitName())) { if (StringUtils.isNotBlank(dto.getUnitName())) {
// 查询楼栋下的单元列表 // 查询楼栋下的单元列表
List<OptionResultDTO> unitList=queryUnitList(buildingId,rediPrex); // List<OptionResultDTO> unitList=queryUnitList(buildingId,rediPrex);
Map<String, String> unitMap = unitList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); // Map<String, String> unitMap = unitList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue));
Map<String, String> unitMap = queryUnitList(buildingId, rediPrex);
if (MapUtils.isEmpty(unitMap) || !unitMap.containsKey(dto.getUnitName()) || StringUtils.isBlank(unitMap.get(dto.getUnitName()))) { if (MapUtils.isEmpty(unitMap) || !unitMap.containsKey(dto.getUnitName()) || StringUtils.isBlank(unitMap.get(dto.getUnitName()))) {
CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class);
errorRow.setErrorInfo("单元不存在"); errorRow.setErrorInfo("单元不存在");
@ -450,7 +452,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
countQuery.eq(CommunityBuildingManagerEntity::getType, entity.getType()) countQuery.eq(CommunityBuildingManagerEntity::getType, entity.getType())
.eq(CommunityBuildingManagerEntity::getBuildingId, buildingId) .eq(CommunityBuildingManagerEntity::getBuildingId, buildingId)
.eq(StringUtils.isNotBlank(unitId), CommunityBuildingManagerEntity::getUnitId, unitId) .eq(StringUtils.isNotBlank(unitId), CommunityBuildingManagerEntity::getUnitId, unitId)
.ne(CommunityBuildingManagerEntity::getId, null); .ne(StringUtils.isNotBlank(entity.getId()),CommunityBuildingManagerEntity::getId, entity.getId());
CommunityBuildingManagerEntity origin = baseDao.selectOne(countQuery); CommunityBuildingManagerEntity origin = baseDao.selectOne(countQuery);
if (null == origin) { if (null == origin) {
insertList.add(entity); insertList.add(entity);
@ -476,51 +478,69 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
} }
} }
// 同步到ic_building // 同步到ic_building
this.insertBatch(insertList); if(!CollectionUtils.isEmpty(insertList)){
this.updateBatchById(updateList); this.insertBatch(insertList);
SpringContextUtils.getBean(IcBuildingService.class).updateBuildingLeader(buildingUpdateList); }
if(!CollectionUtils.isEmpty(updateList)){
this.updateBatchById(updateList);
}
if(!CollectionUtils.isEmpty(buildingUpdateList)){
SpringContextUtils.getBean(IcBuildingService.class).updateBuildingLeader(buildingUpdateList);
}
} }
private List<OptionResultDTO> queryViliageList(String customerId, String staffId, String agencyId, String gridId, String rediPrex) { private Map<String, String> 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); String redisKey = rediPrex.concat(StrConstant.COLON).concat("viliage_list").concat(StrConstant.COLON).concat(gridId);
List<OptionResultDTO> viliageList = redisUtils.lrange(redisKey, NumConstant.ZERO, NumConstant.ONE_NEG, OptionResultDTO.class); Map<String, Object> viliageMap = redisUtils.hGetAll(redisKey);
if (!CollectionUtils.isEmpty(viliageList)) { if (MapUtils.isEmpty(viliageMap)) {
return viliageList; NeighborHoodOptionFormDTO neighborHoodOptionFormDTO = new NeighborHoodOptionFormDTO();
neighborHoodOptionFormDTO.setCustomerId(customerId);
neighborHoodOptionFormDTO.setStaffId(staffId);
neighborHoodOptionFormDTO.setAgencyId(agencyId);
neighborHoodOptionFormDTO.setGridId(gridId);
List<OptionResultDTO> 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(); Map<String, String> resultMap = new HashMap<>();
neighborHoodOptionFormDTO.setCustomerId(customerId); viliageMap.forEach((k, v) ->
neighborHoodOptionFormDTO.setStaffId(staffId); resultMap.put(k, (String) v)
neighborHoodOptionFormDTO.setAgencyId(agencyId); );
neighborHoodOptionFormDTO.setGridId(gridId); return resultMap;
List<OptionResultDTO> resultList = SpringContextUtils.getBean(IcNeighborHoodService.class).queryNeighborHoodOptions(neighborHoodOptionFormDTO);
// 有效时间1小时
redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE);
return resultList;
} }
private List<OptionResultDTO> queryBuildingList(String viliageId, String rediPrex) { private Map<String, String> queryBuildingList(String viliageId, String rediPrex) {
String redisKey = rediPrex.concat(StrConstant.COLON).concat("building_List").concat(StrConstant.COLON).concat(viliageId); String redisKey = rediPrex.concat(StrConstant.COLON).concat("building_List").concat(StrConstant.COLON).concat(viliageId);
List<OptionResultDTO> buildingList = redisUtils.lrange(redisKey, NumConstant.ZERO, NumConstant.ONE_NEG, OptionResultDTO.class); Map<String, Object> buildingMap = redisUtils.hGetAll(redisKey);
if (!CollectionUtils.isEmpty(buildingList)) { if (MapUtils.isEmpty(buildingMap)) {
return buildingList; List<OptionResultDTO> 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<OptionResultDTO> resultList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId); Map<String, String> resultMap = new HashMap<>();
// 有效时间1小时 buildingMap.forEach((k, v) ->
redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); resultMap.put(k, (String) v)
return resultList; );
return resultMap;
} }
private List<OptionResultDTO> queryUnitList(String buildingId, String rediPrex) { private Map<String, String> queryUnitList(String buildingId, String rediPrex) {
String redisKey = rediPrex.concat(StrConstant.COLON).concat("unit_List").concat(StrConstant.COLON).concat(buildingId); String redisKey = rediPrex.concat(StrConstant.COLON).concat("unit_List").concat(StrConstant.COLON).concat(buildingId);
List<OptionResultDTO> unitList = redisUtils.lrange(redisKey, NumConstant.ZERO, NumConstant.ONE_NEG, OptionResultDTO.class); Map<String, Object> unitMap = redisUtils.hGetAll(redisKey);
if (!CollectionUtils.isEmpty(unitList)) { if (MapUtils.isEmpty(unitMap)) {
return unitList; List<OptionResultDTO> 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<OptionResultDTO> resultList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId); Map<String, String> resultMap = new HashMap<>();
// 有效时间1小时 unitMap.forEach((k, v) ->
redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE); resultMap.put(k, (String) v)
return resultList; );
return resultMap;
} }

Loading…
Cancel
Save