Browse Source

楼长单元12

master
yinzuomei 2 years ago
parent
commit
bb16b9ff7d
  1. 81
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CommunityBuildingManagerServiceImpl.java
  2. 2
      epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcBuildingServiceImpl.java

81
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.EpmetException;
import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.ExceptionUtils;
import com.epmet.commons.tools.page.PageData; 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.CustomerOrgRedis;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.*; import com.epmet.commons.tools.utils.*;
@ -23,6 +24,7 @@ import com.epmet.dao.CommunityBuildingManagerDao;
import com.epmet.dao.IcBuildingDao; import com.epmet.dao.IcBuildingDao;
import com.epmet.dto.CustomerAgencyDTO; import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.CustomerGridDTO; import com.epmet.dto.CustomerGridDTO;
import com.epmet.dto.IcBuildingDTO;
import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO;
import com.epmet.dto.form.NeighborHoodOptionFormDTO; import com.epmet.dto.form.NeighborHoodOptionFormDTO;
import com.epmet.dto.form.yt.CommunityBuildingManagerPageFormDTO; import com.epmet.dto.form.yt.CommunityBuildingManagerPageFormDTO;
@ -78,7 +80,8 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
private OssFeignClient ossFeignClient; private OssFeignClient ossFeignClient;
@Autowired @Autowired
private CustomerGridService customerGridService; private CustomerGridService customerGridService;
@Autowired
private RedisUtils redisUtils;
/** /**
* 列表分页查询 * 列表分页查询
@ -276,8 +279,10 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
List<OptionResultDTO> gridList=customerGridService.getGridOption(staffInfoCacheResult.getAgencyId(), "addorupdate"); List<OptionResultDTO> gridList=customerGridService.getGridOption(staffInfoCacheResult.getAgencyId(), "addorupdate");
Map<String, String> gridMap = gridList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); Map<String, String> gridMap = gridList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue));
String uuid = IdWorker.getIdStr(); String uuid = IdWorker.getIdStr();
String redisKey = "community_building_manager_import".concat(StrConstant.COLON).concat(uuid);
try { 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)); SpringContextUtils.getBean(CommunityBuildingManagerServiceImpl.class));
EasyExcel.read(filePath.toFile(), CommunityBuildingManagerImportExcelData.class, listener).headRowNumber(1).sheet(0).doRead(); EasyExcel.read(filePath.toFile(), CommunityBuildingManagerImportExcelData.class, listener).headRowNumber(1).sheet(0).doRead();
@ -355,8 +360,8 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
e.printStackTrace(); e.printStackTrace();
} }
} }
// todo 删除 网格缓存、小区缓存、楼栋缓存、单元缓存 //删除小区缓存、楼栋缓存、单元缓存
redisUtils.deleteByPrex(redisKey);
} }
@ -381,6 +386,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
CommunityBuildingManagerImportListener listener) { CommunityBuildingManagerImportListener listener) {
List<CommunityBuildingManagerEntity> insertList = new ArrayList<>(); List<CommunityBuildingManagerEntity> insertList = new ArrayList<>();
List<CommunityBuildingManagerEntity> updateList = new ArrayList<>(); List<CommunityBuildingManagerEntity> updateList = new ArrayList<>();
List<IcBuildingDTO> buildingUpdateList=new ArrayList<>();
for (CommunityBuildingManagerDTO dto : excelDataList) { for (CommunityBuildingManagerDTO dto : excelDataList) {
try { try {
CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerEntity.class); CommunityBuildingManagerEntity entity = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerEntity.class);
@ -399,12 +405,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
// 查询当前网格下的小区 // 查询当前网格下的小区
// 所属小区 // 所属小区
NeighborHoodOptionFormDTO neighborHoodOptionFormDTO = new NeighborHoodOptionFormDTO(); List<OptionResultDTO> viliageList =queryViliageList(customerId,staffId,agencyId,gridId,rediPrex);
neighborHoodOptionFormDTO.setCustomerId(customerId);
neighborHoodOptionFormDTO.setStaffId(staffId);
neighborHoodOptionFormDTO.setAgencyId(agencyId);
neighborHoodOptionFormDTO.setGridId(gridId);
List<OptionResultDTO> viliageList = SpringContextUtils.getBean(IcNeighborHoodService.class).queryNeighborHoodOptions(neighborHoodOptionFormDTO);
Map<String, String> viliageMap = viliageList.stream().collect(Collectors.toMap(OptionResultDTO::getLabel, OptionResultDTO::getValue)); 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);
@ -418,7 +419,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
// 查询当前小区下的楼栋 // 查询当前小区下的楼栋
// 所属楼栋 // 所属楼栋
List<OptionResultDTO> buildingList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId); 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));
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);
@ -433,7 +434,7 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
String unitId = ""; String unitId = "";
if (StringUtils.isNotBlank(dto.getUnitName())) { if (StringUtils.isNotBlank(dto.getUnitName())) {
// 查询楼栋下的单元列表 // 查询楼栋下的单元列表
List<OptionResultDTO> unitList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId); 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));
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);
@ -442,8 +443,8 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
continue; continue;
} }
unitId = unitMap.get(dto.getUnitName()); unitId = unitMap.get(dto.getUnitName());
entity.setUnitId(unitId);
} }
entity.setUnitId(unitId);
LambdaQueryWrapper<CommunityBuildingManagerEntity> countQuery = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CommunityBuildingManagerEntity> countQuery = new LambdaQueryWrapper<>();
countQuery.eq(CommunityBuildingManagerEntity::getType, entity.getType()) countQuery.eq(CommunityBuildingManagerEntity::getType, entity.getType())
@ -457,6 +458,17 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
entity.setId(origin.getId()); entity.setId(origin.getId());
updateList.add(entity); updateList.add(entity);
} }
// 同步更新至ic_building
IcBuildingDTO icBuildingDTO = new IcBuildingDTO();
icBuildingDTO.setId(entity.getBuildingId());
icBuildingDTO.setBuildingLeaderMobile(entity.getPhone());
icBuildingDTO.setBuildingLeaderIdCard(entity.getIdCard());
icBuildingDTO.setBuildingLeaderType(entity.getType());
icBuildingDTO.setBuildingLeaderName(entity.getName());
icBuildingDTO.setUpdatedBy(staffId);
icBuildingDTO.setUpdatedTime(new Date());
buildingUpdateList.add(icBuildingDTO);
} catch (Exception e) { } catch (Exception e) {
CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class); CommunityBuildingManagerImportExcelData.ErrorRow errorRow = ConvertUtils.sourceToTarget(dto, CommunityBuildingManagerImportExcelData.ErrorRow.class);
errorRow.setErrorInfo("数据处理异常"); errorRow.setErrorInfo("数据处理异常");
@ -466,6 +478,49 @@ public class CommunityBuildingManagerServiceImpl extends BaseServiceImpl<Communi
// 同步到ic_building // 同步到ic_building
this.insertBatch(insertList); this.insertBatch(insertList);
this.updateBatchById(updateList); this.updateBatchById(updateList);
SpringContextUtils.getBean(IcBuildingService.class).updateBuildingLeader(buildingUpdateList);
}
private List<OptionResultDTO> 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<OptionResultDTO> 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<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) {
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);
if (!CollectionUtils.isEmpty(buildingList)) {
return buildingList;
}
List<OptionResultDTO> resultList = SpringContextUtils.getBean(IcBuildingService.class).getBuildingOptions(viliageId);
// 有效时间1小时
redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE);
return resultList;
}
private List<OptionResultDTO> queryUnitList(String buildingId, String rediPrex) {
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);
if (!CollectionUtils.isEmpty(unitList)) {
return unitList;
}
List<OptionResultDTO> resultList = SpringContextUtils.getBean(IcBuildingUnitService.class).getUnitOptions(buildingId);
// 有效时间1小时
redisUtils.leftPush(redisKey, resultList, RedisUtils.HOUR_ONE_EXPIRE);
return resultList;
} }

2
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<IcBuildingDao, IcBuil
.set(IcBuildingEntity::getBuildingLeaderIdCard, dto.getBuildingLeaderIdCard()) .set(IcBuildingEntity::getBuildingLeaderIdCard, dto.getBuildingLeaderIdCard())
.set(IcBuildingEntity::getBuildingLeaderType, dto.getBuildingLeaderType()) .set(IcBuildingEntity::getBuildingLeaderType, dto.getBuildingLeaderType())
.set(IcBuildingEntity::getUpdatedBy, dto.getUpdatedBy()) .set(IcBuildingEntity::getUpdatedBy, dto.getUpdatedBy())
.set(IcBuildingEntity::getUpdatedTime, dto.getUpdatedTime()); .set(null != dto.getUpdatedTime(), IcBuildingEntity::getUpdatedTime, dto.getUpdatedTime());
baseDao.update(null, updateWrapper); baseDao.update(null, updateWrapper);
}); });
} }

Loading…
Cancel
Save