diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java index 95a4b56fa5..ed6bbfcc1a 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/constant/IcResiUserConstant.java @@ -24,4 +24,9 @@ public interface IcResiUserConstant { String BIRTH = "birth"; String IN = "in"; String ADD ="add"; + + String USER_CATEGORY = "category"; + String USER_CATEGORY_CN = "类别"; + String IS_CJ = "IS_CJ"; + String IS_CJ_CN = "残疾"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/AddRecordByResidentCategoryFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/AddRecordByResidentCategoryFormDTO.java new file mode 100644 index 0000000000..e855aa6b00 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/AddRecordByResidentCategoryFormDTO.java @@ -0,0 +1,34 @@ +package com.epmet.dto.form.dataSync; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @Author zxc + * @DateTime 2022/10/14 09:03 + * @DESC + */ +@Data +public class AddRecordByResidentCategoryFormDTO implements Serializable { + + private static final long serialVersionUID = -6932891703465769267L; + + private List icResiUserIds; + + /** + * 字段名【居民类别名】,与label相对应。eg:IS_CJ + */ + private String columnName; + + /** + * eg:残疾 + */ + private String label; + + private String userId; + private String userName; + + private String customerId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/CategoryStatusAndIdDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/CategoryStatusAndIdDTO.java new file mode 100644 index 0000000000..92327d1fe4 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/dataSync/CategoryStatusAndIdDTO.java @@ -0,0 +1,23 @@ +package com.epmet.dto.form.dataSync; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Author zxc + * @DateTime 2022/10/14 10:55 + * @DESC + */ +@Data +public class CategoryStatusAndIdDTO implements Serializable { + + private static final long serialVersionUID = 439600592532868368L; + + private String icResiUserId; + + /** + * 类别状态 是:1,否:0 + */ + private String categoryStatus; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java index b9e8cd3c15..55a2fe580a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncRecordDisabilityController.java @@ -97,7 +97,7 @@ public class DataSyncRecordDisabilityController { */ @PostMapping("batchUpdate") public Result batchUpdate(@RequestBody String[] ids,@LoginUser TokenDto tokenDto){ - dataSyncRecordDisabilityService.batchUpdate(ids,tokenDto.getCustomerId()); + dataSyncRecordDisabilityService.batchUpdate(ids,tokenDto); return new Result(); } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java index d7849f5592..7611a80a9f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserEntity.java @@ -17,6 +17,7 @@ package com.epmet.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.epmet.commons.mybatis.entity.BaseEpmetEntity; import lombok.Data; @@ -469,6 +470,13 @@ public class IcResiUserEntity extends BaseEpmetEntity { */ private String subStatus; + + /** + * 类别状态 是:1,否:0 + */ + @TableField(exist = false) + private String categoryStatus; + /** * 预留字段1 */ diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java index 3c1d294b05..b49becbc7f 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncRecordDisabilityService.java @@ -3,6 +3,7 @@ package com.epmet.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.dto.DataSyncRecordDisabilityDTO; import com.epmet.dto.form.dataSync.DataSyncRecordDisabilityFormDTO; import com.epmet.entity.DataSyncRecordDisabilityEntity; @@ -105,5 +106,5 @@ public interface DataSyncRecordDisabilityService extends BaseService page(Map params) { @@ -187,10 +193,12 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl all = Arrays.asList(ids); List entities = baseDao.selectBatchIds(all); IcFormOptionsQueryFormDTO formDTO = new IcFormOptionsQueryFormDTO(); @@ -221,11 +229,31 @@ public class DataSyncRecordDisabilityServiceImpl extends BaseServiceImpl collect = entities.stream().map(m -> { + CategoryStatusAndIdDTO dto = new CategoryStatusAndIdDTO(); + dto.setCategoryStatus(m.getDisabilityStatus().toString()); + dto.setIcResiUserId(m.getIcResiUserId()); + return dto; + }).collect(Collectors.toList()); + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(customerId, userId); + if (null == staffInfo){ + throw new EpmetException("查询工作人员信息失败:"+userId); + } + AddRecordByResidentCategoryFormDTO addRecordByResidentCategoryFormDTO = new AddRecordByResidentCategoryFormDTO(); + addRecordByResidentCategoryFormDTO.setIcResiUserIds(collect); + addRecordByResidentCategoryFormDTO.setColumnName(IcResiUserConstant.IS_CJ); + addRecordByResidentCategoryFormDTO.setLabel(IcResiUserConstant.IS_CJ_CN); + addRecordByResidentCategoryFormDTO.setUserId(userId); + addRecordByResidentCategoryFormDTO.setUserName(staffInfo.getRealName()); + addRecordByResidentCategoryFormDTO.setCustomerId(customerId); + disposeDisabilitybatchUpdate(entities,addRecordByResidentCategoryFormDTO); } @Transactional(rollbackFor = Exception.class) - public void disposeDisabilitybatchUpdate(List entities){ + public void disposeDisabilitybatchUpdate(List entities,AddRecordByResidentCategoryFormDTO addRecordByResidentCategoryFormDTO){ + // 新增变更记录 + icUserChangeRecordService.addRecordByResidentCategory(addRecordByResidentCategoryFormDTO); + // 更新 ic_resi_user baseDao.batchUpdateResiDisability(entities); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java index 2ccf5d5119..a764fc894a 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcUserChangeRecordServiceImpl.java @@ -19,6 +19,7 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; @@ -26,6 +27,8 @@ import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerStaffRedis; import com.epmet.commons.tools.utils.Result; +import com.epmet.constant.IcResiUserConstant; +import com.epmet.constant.SystemMessageType; import com.epmet.dao.IcResiUserDao; import com.epmet.dao.IcUserChangeRecordDao; import com.epmet.dto.IcResiCategoryStatsConfigDTO; @@ -33,16 +36,21 @@ import com.epmet.dto.IcUserChangeRecordDTO; import com.epmet.dto.form.IcResiUserChangeRecordFormDTO; import com.epmet.dto.form.IcUserChangeRecordInitFormDTO; import com.epmet.dto.form.IcUsercategoryAnalysisFormDTO; +import com.epmet.dto.form.SystemMsgFormDTO; +import com.epmet.dto.form.dataSync.AddRecordByResidentCategoryFormDTO; import com.epmet.dto.result.AllGridsByUserIdResultDTO; import com.epmet.dto.result.BuildingResultDTO; import com.epmet.dto.result.IcUserChangeRecordResultDTO; import com.epmet.dto.result.IcUsercategoryAnalysisResultDTO; +import com.epmet.entity.IcResiUserEntity; import com.epmet.entity.IcUserChangeDetailedEntity; import com.epmet.entity.IcUserChangeRecordEntity; +import com.epmet.feign.EpmetMessageOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.feign.OperCustomizeOpenFeignClient; import com.epmet.service.IcUserChangeDetailedService; import com.epmet.service.IcUserChangeRecordService; +import com.epmet.util.ModuleConstant; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; @@ -77,7 +85,8 @@ public class IcUserChangeRecordServiceImpl extends BaseServiceImpl { + IcResiUserEntity entity = icResiUserDao.selectById(i.getIcResiUserId()); + // 未变更前的记录 + Map categoryMap = icResiUserDao.getCategoryListMap(Arrays.asList(formDTO.getColumnName()), entity.getId()); + // 修改前跟要修改的值一样,不新增变更记录 + if (!categoryMap.get(formDTO.getColumnName()).equals(i.getCategoryStatus())) { + IcUserChangeRecordEntity icUserChangeRecordEntity = new IcUserChangeRecordEntity(); + icUserChangeRecordEntity.setCustomerId(formDTO.getCustomerId()); + icUserChangeRecordEntity.setOperatorId(formDTO.getUserId()); + icUserChangeRecordEntity.setIcUserId(entity.getId()); + icUserChangeRecordEntity.setOperatorName(formDTO.getUserName()); + icUserChangeRecordEntity.setIcUserName(entity.getName()); + icUserChangeRecordEntity.setType(IcResiUserConstant.USER_CATEGORY); + icUserChangeRecordEntity.setTypeName(IcResiUserConstant.USER_CATEGORY_CN); + icUserChangeRecordEntity.setBeforeChangeName(categoryMap.get(formDTO.getColumnName()).equals(NumConstant.ONE_STR) ? formDTO.getLabel().concat(":是") : formDTO.getLabel().concat(":否")); + icUserChangeRecordEntity.setAfterChangeName(i.getCategoryStatus().equals(NumConstant.ONE_STR) ? formDTO.getLabel().concat(":是") : formDTO.getLabel().concat(":否")); + icUserChangeRecordEntity.setChangeTime(new Date()); + icUserChangeRecordEntity.setRemark(formDTO.getColumnName().concat("数据更新")); + baseDao.insert(icUserChangeRecordEntity); + + IcUserChangeDetailedEntity icUserChangeDetailedEntity = new IcUserChangeDetailedEntity(); + icUserChangeDetailedEntity.setCustomerId(formDTO.getCustomerId()); + icUserChangeDetailedEntity.setIcUserChangeRecordId(icUserChangeRecordEntity.getId()); + icUserChangeDetailedEntity.setPids(StringUtils.isNotBlank(entity.getPids()) && entity.getPids().contains(":") ? entity.getPids().substring(NumConstant.ZERO, entity.getPids().lastIndexOf(":")) : ""); + icUserChangeDetailedEntity.setAgencyId(entity.getAgencyId()); + icUserChangeDetailedEntity.setGridId(entity.getGridId()); + icUserChangeDetailedEntity.setNeighborHoodId(entity.getVillageId()); + icUserChangeDetailedEntity.setBuildingId(entity.getBuildId()); + icUserChangeDetailedEntity.setBuildingUnitId(entity.getUnitId()); + icUserChangeDetailedEntity.setHouseId(entity.getHomeId()); + icUserChangeDetailedEntity.setIcUserId(entity.getId()); + icUserChangeDetailedEntity.setType(IcResiUserConstant.USER_CATEGORY); + icUserChangeDetailedEntity.setTypeName(IcResiUserConstant.USER_CATEGORY_CN); + icUserChangeDetailedEntity.setFieldName(formDTO.getColumnName()); + icUserChangeDetailedEntity.setValue(i.getCategoryStatus().equals(NumConstant.ONE_STR) ? NumConstant.ONE : NumConstant.ONE_NEG); + icUserChangeDetailedService.insert(icUserChangeDetailedEntity); + + // 发送消息 + IcResiUserAddMQMsg mqMsg = new IcResiUserAddMQMsg(); + mqMsg.setCustomerId(formDTO.getCustomerId()); + mqMsg.setIcResiUser(formDTO.getUserId()); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(SystemMessageType.IC_RESI_USER_EDIT); + form.setContent(mqMsg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); + } + }); + } + /** * @Author sun * @Description 按客户初始化客户下居民的变更记录、变更明细数据 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml index c9ecd32591..c4fcd6bb89 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/DataSyncRecordDisabilityDao.xml @@ -50,7 +50,7 @@ - when id = #{item.icResiUserId} then #{item.cjzh} + when id = #{item.icResiUserId} then #{item.cardNum} when id = #{item.icResiUserId} then '' @@ -83,7 +83,7 @@ UPDATED_TIME = NOW() - WHERE + WHERE 1=1 id = #{item.icResiUserId}