From b2b4c9fb31147a0c6841419f3b2fca94124d9a02 Mon Sep 17 00:00:00 2001 From: jianjun Date: Sun, 22 May 2022 22:23:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B0=8F=E5=8C=BA=E6=89=80?= =?UTF-8?q?=E5=B1=9E=E7=BD=91=E6=A0=BC=E6=97=B6=EF=BC=8C=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E6=8A=8A=E5=B1=85=E6=B0=91=E4=BF=A1=E6=81=AF=E9=87=8C=E7=9A=84?= =?UTF-8?q?=E4=BA=BA=E7=BB=99=E4=BF=AE=E6=94=B9=E5=88=B0=E7=9B=B8=E5=BA=94?= =?UTF-8?q?=E7=9A=84=E7=BD=91=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/NeighborHoodServiceImpl.java | 25 +++++++++++++- .../form/IcUserBelongToChangedFormDTO.java | 33 +++++++++++++++++++ .../epmet/feign/EpmetUserOpenFeignClient.java | 8 +++++ .../EpmetUserOpenFeignClientFallback.java | 5 +++ .../controller/IcResiUserController.java | 22 +++++++++++++ .../java/com/epmet/dao/IcResiUserDao.java | 9 +++++ .../com/epmet/service/IcResiUserService.java | 10 ++++++ .../service/impl/IcResiUserServiceImpl.java | 26 +++++++++++++++ .../main/resources/mapper/IcResiUserDao.xml | 7 ++++ 9 files changed, 144 insertions(+), 1 deletion(-) create mode 100644 epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserBelongToChangedFormDTO.java diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java index 627af897fb..7c6c631284 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/NeighborHoodServiceImpl.java @@ -2,8 +2,10 @@ package com.epmet.service.impl; import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.enums.OrgTypeEnum; import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.utils.ConvertUtils; @@ -17,11 +19,13 @@ import com.epmet.dto.IcNeighborHoodPropertyDTO; import com.epmet.dto.form.IcHouseListFormDTO; import com.epmet.dto.form.IcNeighborHoodAddFormDTO; import com.epmet.dto.form.IcNeighborHoodListFormDTO; +import com.epmet.dto.form.IcUserBelongToChangedFormDTO; import com.epmet.dto.result.IcNeighborHoodResultDTO; import com.epmet.entity.IcHouseEntity; import com.epmet.entity.IcNeighborHoodEntity; import com.epmet.entity.IcNeighborHoodPropertyEntity; import com.epmet.excel.IcNeighborHoodExcel; +import com.epmet.feign.EpmetUserOpenFeignClient; import com.epmet.feign.GovOrgOpenFeignClient; import com.epmet.service.IcNeighborHoodPropertyService; import com.epmet.service.IcNeighborHoodService; @@ -44,7 +48,7 @@ import java.util.Optional; @Slf4j @Service -public class NeighborHoodServiceImpl implements NeighborHoodService { +public class NeighborHoodServiceImpl extends BaseServiceImpl implements NeighborHoodService { @Autowired private GovOrgOpenFeignClient govOrgOpenFeignClient; @@ -56,6 +60,8 @@ public class NeighborHoodServiceImpl implements NeighborHoodService { private IcNeighborHoodPropertyDao icNeighborHoodPropertyDao; @Resource private IcNeighborHoodDao icNeighborHoodDao; + @Autowired + private EpmetUserOpenFeignClient epmetUserOpenFeignClient; @Override @@ -132,11 +138,28 @@ public class NeighborHoodServiceImpl implements NeighborHoodService { if (!customerAgencyResult.success()) { throw new RenException(EpmetErrorCode.SERVER_ERROR.getCode()); } + IcNeighborHoodEntity icNeighborHoodEntity = baseDao.selectById(formDTO.getNeighborHoodId()); + if (icNeighborHoodEntity == null){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"小区信息不存在","小区信息不存在"); + } + CustomerAgencyDTO customerAgencyDTO = Optional.ofNullable(customerAgencyResult.getData()).orElse(new CustomerAgencyDTO()); icNeighborHoodDTO.setParentAgencyId(customerAgencyDTO.getPid()); icNeighborHoodDTO.setAgencyPids(customerAgencyDTO.getPids()); icNeighborHoodService.update(icNeighborHoodDTO); + //如果更新了网格 则需要更新网格下的居民所属关系 + if (icNeighborHoodEntity.getGridId().equals(icNeighborHoodDTO.getGridId())){ + IcUserBelongToChangedFormDTO userForm = new IcUserBelongToChangedFormDTO(); + userForm.setSourceGridId(icNeighborHoodEntity.getGridId()); + userForm.setTargetGridId(icNeighborHoodDTO.getGridId()); + Result updateResult = epmetUserOpenFeignClient.changeIcResiUserBelongTo(userForm); + if (updateResult == null || !updateResult.success()){ + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(),"更新居民信息失败,请稍后重试!","更新居民信息失败,请稍后重试!"); + } + } + + //设置物业关联 String propertyId = formDTO.getPropertyId(); String neighborHoodId = icNeighborHoodDTO.getId(); diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserBelongToChangedFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserBelongToChangedFormDTO.java new file mode 100644 index 0000000000..da773e7266 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/IcUserBelongToChangedFormDTO.java @@ -0,0 +1,33 @@ +package com.epmet.dto.form; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; + +/** + * desc: 居民所属关系调整参数类 + * + * @author LiuJanJun + * @date 2022/5/22 9:41 下午 + */ +@Data +public class IcUserBelongToChangedFormDTO implements Serializable { + + private static final long serialVersionUID = 6572482888379744011L; + /** + * 客户Id + */ + private String customerId; + /** + * 原网格Id + */ + @NotBlank(message = "网格ID不能为空") + private String sourceGridId; + /** + * 新网格Id + */ + @NotBlank(message = "网格ID不能为空") + private String targetGridId; + +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java index f97eb6f53d..3caad37cb0 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java @@ -748,4 +748,12 @@ public interface EpmetUserOpenFeignClient { */ @PostMapping("/epmetuser/icresiuser/getResiUserGroupHomeId") Result> getHouseMemberList(@RequestBody RentTenantDataFormDTO formDTO); + + /** + * desc:更新居民所属 eg:所属网格等等 + * @param formDTO + * @return + */ + @PostMapping("/icresiuser/changeIcResiUserBelongTo") + Result changeIcResiUserBelongTo(@RequestBody IcUserBelongToChangedFormDTO formDTO); } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java index 1389394e78..a170b1e617 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java @@ -548,4 +548,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "getHouseMemberList", formDTO); } + @Override + public Result changeIcResiUserBelongTo(IcUserBelongToChangedFormDTO formDTO) { + return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "changeIcResiUserBelongTo", formDTO); + } + } 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 30c9a10bc2..97660e7ac9 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 @@ -232,6 +232,28 @@ public class IcResiUserController implements ResultDataResolver { return new Result(); } + /** + * 更新居民的所属网格-》来源于小区更改所属网格 目前只有网格, + * + * @param formDTO + * @return + * @remark:后续如果有其他的变动需要调用的话 可以丰富参数 修改方法名 + */ + @NoRepeatSubmit + @PostMapping("changeIcResiUserBelongTo") + Result changeIcResiUserBelongTo(@LoginUser TokenDto tokenDto, @RequestBody IcUserBelongToChangedFormDTO formDTO){ + formDTO.setCustomerId(tokenDto.getCustomerId()); + ValidatorUtils.validateEntity(formDTO); + List changedUserIds = icResiUserService.changeIcResiUserBelongTo(tokenDto,formDTO); + //推送MQ事件 + if (CollectionUtils.isNotEmpty(changedUserIds)){ + changedUserIds.forEach(resiUserId->editResiMq(tokenDto.getCustomerId(), resiUserId)); + + } + return new Result().ok(true); + } + + /** * 租客房东根据身份证更新头像 * diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java index 41903388f5..3449f7f115 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserDao.java @@ -309,4 +309,13 @@ public interface IcResiUserDao extends BaseDao { * @return */ List getResiUserGroupHomeId(RentTenantDataFormDTO formDTO); + + /** + * desc:条件获取居民Id列表 所有状态的包含死亡等状态 + * + * @param customerId + * @param gridId + * @return + */ + List listUserIds(@Param("customerId") String customerId, @Param("gridId") String gridId); } 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 d53232e75d..0de9ef4928 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 @@ -336,4 +336,14 @@ public interface IcResiUserService extends BaseService { * @return */ List getResiUserGroupHomeId(RentTenantDataFormDTO formDTO); + + /** + * desc:更新居民信息的所属 eg:所属网格等等 + * + * @param tokenDto + * @param formDTO + * @return + */ + List changeIcResiUserBelongTo(TokenDto tokenDto, IcUserBelongToChangedFormDTO formDTO); + } 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 8cb037fa4e..4ee2b30e8b 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 @@ -1920,6 +1920,32 @@ public class IcResiUserServiceImpl extends BaseServiceImpl changeIcResiUserBelongTo(TokenDto tokenDto, IcUserBelongToChangedFormDTO formDTO) { + List resiUserIdList = baseDao.listUserIds(formDTO.getCustomerId(),formDTO.getSourceGridId()); + if (CollectionUtils.isEmpty(resiUserIdList)){ + return null; + } + List icResiUserFormDTOS = new ArrayList<>(); + IcResiUserFormDTO e = new IcResiUserFormDTO(); + e.setTableName(IcResiUserConstant.IC_RESI_USER); + LinkedHashMap map = new LinkedHashMap(); + + map.put(FieldConstant.GRID_ID, formDTO.getSourceGridId()); + List> list = new ArrayList<>(); + list.add(map); + e.setList(list); + icResiUserFormDTOS.add(e); + + resiUserIdList.forEach(userId->{ + map.put(FieldConstant.ID, userId); + this.edit(tokenDto,icResiUserFormDTOS); + }); + + return resiUserIdList; + } + /** * desc:根据字段值获取 options * @param customerId 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 7057ade746..387d1f72cd 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 @@ -971,5 +971,12 @@ and HOME_ID = #{houseId} +