diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/InternalDelIcResiUserFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/InternalDelIcResiUserFormDTO.java new file mode 100644 index 0000000000..6573b9f511 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/InternalDelIcResiUserFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.enums.IcFormCodeEnum; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.util.List; + +/** + * @Description + * @Author yzm + * @Date 2023/1/11 15:26 + */ +@Data +public class InternalDelIcResiUserFormDTO { + + public interface DefaultGroup { + } + + private List icResiUserIds; + + private String formCode = IcFormCodeEnum.RESI_BASE_INFO.getCode(); + + @NotBlank(message = "token获取的customerId不能为空", groups = DefaultGroup.class) + private String customerId; + + @NotBlank(message = "token获取的userId不能为空", groups = DefaultGroup.class) + private String currentStaffId; + + @NotBlank(message = "agencyId不能为空", groups = DefaultGroup.class) + private String agencyId; +} + diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java index e38645b163..440a440fd4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/IcResiUserController.java @@ -225,7 +225,32 @@ public class IcResiUserController implements ResultDataResolver { return new Result(); } + /** + * 该接口供开发人员,手动调用 + * 项目上经常要求删除某个社区的人房数据, 索性写一个接口。供开发人员调用 + * @param tokenDto + * @param formDTO + * @return + */ + @NoRepeatSubmit + @PostMapping("delete-interal") + public Result deleteInternal(@LoginUser TokenDto tokenDto, @RequestBody InternalDelIcResiUserFormDTO formDTO) { + formDTO.setCustomerId(tokenDto.getCustomerId()); + formDTO.setCurrentStaffId(tokenDto.getUserId()); + ValidatorUtils.validateEntity(formDTO, InternalDelIcResiUserFormDTO.DefaultGroup.class); + icResiUserService.deleteInternal(formDTO); + //推送MQ事件 + IcResiUserAddMQMsg mqMsg = new IcResiUserAddMQMsg(); + mqMsg.setCustomerId(tokenDto.getCustomerId()); + // mqMsg.setIcResiUser(userId); + SystemMsgFormDTO form = new SystemMsgFormDTO(); + form.setMessageType(SystemMessageType.IC_RESI_USER_DEL); + form.setContent(mqMsg); + epmetMessageOpenFeignClient.sendSystemMsgByMQ(form); + log.error(String.format("!!!!!当前组织下的居民已删除agencyId:%s",formDTO.getAgencyId())); + return new Result(); + } /** * @Author sun * @Description 党建互联平台--保存居民信息 diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java index f346f2c3b1..c29d0cb69d 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/IcResiUserService.java @@ -53,6 +53,12 @@ public interface IcResiUserService extends BaseService { */ void delete(DelIcResiUserFormDTO formDTO); + /** + * 开发人员掉员工此接口 + * @param formDTO + */ + void deleteInternal(InternalDelIcResiUserFormDTO formDTO); + /** * @Author sun * @Description 党建互联平台--保存居民信息 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 a9a98a0a3e..50d5025c4e 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 @@ -213,6 +213,38 @@ public class IcResiUserServiceImpl extends BaseServiceImpl resiWrapper=new LambdaQueryWrapper<>(); + resiWrapper.eq(IcResiUserEntity::getAgencyId,formDTO.getAgencyId()); + resiWrapper.select(IcResiUserEntity::getId); + List resiIds=icResiUserDao.selectList(resiWrapper); + for(IcResiUserEntity entity:resiIds){ + baseDao.updateToDel(entity.getId(),formDTO.getCurrentStaffId()); + CustomerFormQueryDTO queryDTO = ConvertUtils.sourceToTarget(formDTO, CustomerFormQueryDTO.class); + Result> subTableRes = operCustomizeOpenFeignClient.queryIcResiSubTables(queryDTO); + if (subTableRes.success() && !CollectionUtils.isEmpty(subTableRes.getData())) { + for (String subTalbeName : subTableRes.getData()) { + baseDao.updateSubTableToDel(subTalbeName, entity.getId(),formDTO.getCurrentStaffId()); + } + } + //删除ic_user_transfer_record、ic_user_change_record、ic_user_change_detailed + icUserTransferRecordService.deleteByIcResiUserId(entity.getId(),formDTO.getCurrentStaffId()); + icUserChangeRecordService.deleteByIcResiUserId(entity.getId(),formDTO.getCurrentStaffId()); + icUserChangeDetailedService.deleteByIcResiUserId(entity.getId(),formDTO.getCurrentStaffId()); + } + } + } + + /** * @Author sun * @Description 党建互联平台--保存居民信息 diff --git a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml index 6ff29a354a..47bb9cd511 100644 --- a/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml +++ b/epmet-user/epmet-user-server/src/main/resources/mapper/IcResiUserDao.xml @@ -861,7 +861,7 @@ FROM ic_resi_user a LEFT JOIN ( - SELECT ID_CARD, count(distinct v.INOCULATE_TIME ) AS count + SELECT ID_CARD, count(distinct INOCULATE_TIME ) AS count FROM ic_vaccine WHERE DEL_FLAG = '0' AND CUSTOMER_ID = #{customerId}