diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java index 03346cb6fc..459fb1bcca 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/dto/result/IcHouseListResultDTO.java @@ -89,5 +89,8 @@ public class IcHouseListResultDTO implements Serializable { */ private String houseCode; - + /** + * 灵山项目:是否党员中心户:1是;0不是 + */ + private String partyCenterHouseFlag; } diff --git a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java index bd8cd9a1be..e10170853d 100644 --- a/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java +++ b/epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/enums/HouseChangeEnums.java @@ -14,8 +14,9 @@ public enum HouseChangeEnums { RENT_FLAG("RENT_FLAG","房屋状态"), OWNER_NAME("OWNER_NAME","房主姓名"), OWNER_PHONE("OWNER_PHONE","房主电话"), - OWNER_ID_CARD("OWNER_ID_CARD","房主身份证"); - + OWNER_ID_CARD("OWNER_ID_CARD","房主身份证"), + // 灵山项目:是否党员中心户:1是;0不是 + PARTY_CENTER_HOUSE_FLAG("PARTY_CENTER_HOUSE_FLAG", "党员中心户"); private String column; private String columnName; diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java index aaeb853332..7b712e100c 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/dao/LingshanPartyCenterHouseLianhuDao.java @@ -14,4 +14,6 @@ import org.apache.ibatis.annotations.Mapper; public interface LingshanPartyCenterHouseLianhuDao extends BaseDao { int deleteByPartyCenterHouseId(String partyCenterHouseId); + + LingshanPartyCenterHouseLianhuEntity selectByHouseId(String houseId); } \ No newline at end of file diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java index d47c6e0132..a642150cf9 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/HouseServiceImpl.java @@ -356,6 +356,44 @@ public class HouseServiceImpl implements HouseService, ResultDataResolver { e.setChangeBefore(StringUtils.isNotBlank(entity.getOwnerIdCard()) ? entity.getOwnerIdCard() : "无"); entityList.add(e); } + if (StringUtils.isNotBlank(entity.getPartyCenterHouseFlag())) { + if(!entity.getPartyCenterHouseFlag().equals(houseDTO.getPartyCenterHouseFlag())){ + String originName=NumConstant.ZERO_STR.equals(entity.getPartyCenterHouseFlag())?"否":"是"; + String nowName=""; + if(NumConstant.ZERO_STR.equals(houseDTO.getPartyCenterHouseFlag())){ + nowName="否"; + }else if(NumConstant.ONE_STR.equals(houseDTO.getPartyCenterHouseFlag())){ + nowName="是"; + }else{ + nowName="-"; + } + sbAfter.append(HouseChangeEnums.PARTY_CENTER_HOUSE_FLAG.getColumnName()).append(":").append(nowName).append(";"); + sbBefore.append(HouseChangeEnums.PARTY_CENTER_HOUSE_FLAG.getColumnName()).append(":").append(originName).append(";"); + IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); + e.setChangeCol(HouseChangeEnums.PARTY_CENTER_HOUSE_FLAG.getColumn()); + e.setChangeAfter(nowName); + e.setChangeBefore(originName); + entityList.add(e); + } + } else { + // 原来不确定是否是党员中心户 + String nowName=""; + if(NumConstant.ZERO_STR.equals(houseDTO.getPartyCenterHouseFlag())){ + nowName="否"; + }else if(NumConstant.ONE_STR.equals(houseDTO.getPartyCenterHouseFlag())){ + nowName="是"; + }else{ + nowName="-"; + } + sbAfter.append(HouseChangeEnums.PARTY_CENTER_HOUSE_FLAG.getColumnName()).append(":").append(nowName).append(";"); + sbBefore.append(HouseChangeEnums.PARTY_CENTER_HOUSE_FLAG.getColumnName()).append(":").append("-").append(";"); + IcHouseChangeDetailEntity e = new IcHouseChangeDetailEntity(); + e.setChangeCol(HouseChangeEnums.PARTY_CENTER_HOUSE_FLAG.getColumn()); + e.setChangeAfter(nowName); + e.setChangeBefore("-"); + entityList.add(e); + } + if (StringUtils.isNotBlank(sbAfter)) { String before = sbBefore.substring(NumConstant.ZERO, sbBefore.length() - NumConstant.ONE); String after = sbAfter.substring(NumConstant.ZERO, sbAfter.length() - NumConstant.ONE); diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java index 34cebde341..8a782c376a 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/IcHouseServiceImpl.java @@ -39,6 +39,7 @@ import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.redis.IcHouseRedis; import com.epmet.service.CustomerGridService; +import com.epmet.service.HouseService; import com.epmet.service.IcHouseService; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -445,6 +446,7 @@ public class IcHouseServiceImpl extends BaseServiceImpl lianHuHouseList) { IcHouseEntity partyCenterHouse=baseDao.selectById(partyCenterHouseId); @@ -470,19 +472,22 @@ public class IcHouseServiceImpl extends BaseServiceImpl update = new LambdaUpdateWrapper<>(); - update.set(IcHouseEntity::getPartyCenterHouseFlag, partyCenterHouseFlag).eq(IcHouseEntity::getId, houseId); - baseDao.update(null, update); if(NumConstant.ZERO_STR.equals(partyCenterHouseFlag)){ //房屋如果不是党员中心户,自动删除绑定的联户 partyCenterHouseLianhuDao.deleteByPartyCenterHouseId(houseId); } + //加一条变更记录吧。。 就当留痕了 + IcHouseEntity origin = baseDao.selectById(houseId); + IcHouseDTO icHouseDTO = ConvertUtils.sourceToTarget(origin, IcHouseDTO.class); + icHouseDTO.setPartyCenterHouseFlag(partyCenterHouseFlag); + SpringContextUtils.getBean(HouseService.class).houseChangeRecord(houseId, icHouseDTO.getCustomerId(), icHouseDTO); + //修改 + LambdaUpdateWrapper update = new LambdaUpdateWrapper<>(); + update.set(IcHouseEntity::getPartyCenterHouseFlag, partyCenterHouseFlag) + .set(IcHouseEntity::getUpdatedTime,new Date()) + .eq(IcHouseEntity::getId, houseId); + baseDao.update(null, update); } diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml index fb4e43e0bf..7ffaff80a2 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/IcHouseDao.xml @@ -118,7 +118,8 @@ gr.GRID_NAME, IFNULL(a.sort,0) as sort, IFNULL(a.REMARK,'') AS remark, - a.CUSTOMER_ID + a.CUSTOMER_ID, + a.PARTY_CENTER_HOUSE_FLAG as partyCenterHouseFlag from ic_house a LEFT JOIN ic_building b on a.BUILDING_ID = b.ID and b.DEL_FLAG = '0' LEFT JOIN ic_neighbor_hood c on a.NEIGHBOR_HOOD_ID = c.ID and c.DEL_FLAG = '0' diff --git a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml index cae8f215d7..285b47922e 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml +++ b/epmet-module/gov-org/gov-org-server/src/main/resources/mapper/LingshanPartyCenterHouseLianhuDao.xml @@ -26,4 +26,12 @@ delete from lingshan_party_center_house_lianhu where PARTY_CENTER_HOUSE_ID=#{partyCenterHouseId} + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java index c1328f548a..8d9b07a7ab 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/mq/listener/ICWarnStatsEventListener.java @@ -15,6 +15,7 @@ import com.epmet.constant.SystemMessageType; import com.epmet.service.IcNatService; import com.epmet.service.IcResiUserService; import com.epmet.service.StatsResiWarnService; +import com.epmet.service.impl.IcResiUserServiceImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext; @@ -77,6 +78,10 @@ public class ICWarnStatsEventListener implements MessageListenerConcurrently { if (!updateIcNatResiFlag(tags, obj)){ throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"消费失败,等待重新消费"); } + + //灵山需求:如果放屋里的人,有党员中心户, 将ic_house.party_center_house_flag置为1,说明该房屋是党员中心户 + SpringContextUtils.getBean(IcResiUserServiceImpl.class).syncHousePartyCenterHouse(null,obj.getIcResiUser()); + } catch (RenException e) { // 如果是我们手动抛出的异常,说明在业务可控范围内。目前不需要MQ重试 logger.error("【开放数据事件监听器】-居民信息变动MQ失败:".concat(ExceptionUtils.getErrorStackTrace(e))); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/ResiImportDyzxhPostProcessor.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/ResiImportDyzxhPostProcessor.java index a88b085b6c..ec5628378d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/ResiImportDyzxhPostProcessor.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/ResiImportDyzxhPostProcessor.java @@ -1,13 +1,35 @@ package com.epmet.processor; +import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; +import com.epmet.constant.SystemMessageType; +import com.epmet.dto.form.SystemMsgFormDTO; +import com.epmet.feign.EpmetMessageOpenFeignClient; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.Map; +@Slf4j @Component public class ResiImportDyzxhPostProcessor extends ResiImportPostProcessor{ + @Autowired + private EpmetMessageOpenFeignClient epmetMessageOpenFeignClient; + + @Override public void consume(Map resiInfoMap) { System.out.println(resiInfoMap); + String customerId=resiInfoMap.get("CUSTOMER_ID"); + // String userId=resiInfoMap.get("ID"); + String userId=resiInfoMap.get("IC_RESI_USER"); + //推送MQ事件 + IcResiUserAddMQMsg mqMsg = new IcResiUserAddMQMsg(); + mqMsg.setCustomerId(customerId); + mqMsg.setIcResiUser(userId); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(SystemMessageType.IC_RESI_USER_ADD); + form.setContent(mqMsg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java index 0e6a5ba8eb..b5151a3cb7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserImportServiceImpl.java @@ -13,7 +13,6 @@ import com.epmet.bean.ResiImportChangedData; import com.epmet.bean.ResiImportResiCategoryChangedCache; import com.epmet.commons.rocketmq.messages.PartymemberSyncMQMsg; import com.epmet.commons.tools.constant.AppClientConstant; -import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.ServiceConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; @@ -41,7 +40,6 @@ import com.epmet.dto.form.HouseFormDTO; import com.epmet.dto.form.IcResiUserOrgMsgFormDTO; import com.epmet.dto.form.ImportTaskCommonFormDTO; import com.epmet.dto.result.*; -import com.epmet.dto.result.lingshan.ConfigPartyCenterHouseFormDTO; import com.epmet.entity.*; import com.epmet.enums.IcResiUserTableEnum; import com.epmet.excel.handler.IcResiImportDynamicExcelListener; @@ -63,7 +61,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.http.entity.ContentType; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.web.multipart.commons.CommonsMultipartFile; @@ -589,8 +586,6 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res categoryData = null; } - // 居民信息导入后置处理器回调 - resiImportPostProcessors.forEach(p -> p.consume(columnAndValues)); } catch (Exception e) { String errorMsg; @@ -770,6 +765,12 @@ public class IcResiUserImportServiceImpl implements IcResiUserImportService, Res // 将成功的居民的身份证号添加到列表中 successIdCards.add(row.get(ID_CARD_COLUMN_NO)); + + // 居民信息-党员信息导入后置处理器回调 + LinkedHashMap finalColumnAndValues = columnAndValues; + resiImportPostProcessors.forEach(p -> { + p.consume(finalColumnAndValues); + }); } catch (Exception e) { String errorMsg; if (e instanceof RenException || e instanceof EpmetException) { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 681c0cc358..b149345970 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -219,8 +219,6 @@ public class IcResiUserServiceImpl extends BaseServiceImpl