diff --git a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java index 08991d8a8b..816ccd6d71 100644 --- a/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java +++ b/epmet-module/epmet-message/epmet-message-client/src/main/java/com/epmet/constant/UserMessageTypeConstant.java @@ -212,4 +212,9 @@ public interface UserMessageTypeConstant { * ic_event,新事件 */ String IC_EVENT="ic_event"; + + /** + * 移除家庭成员 + */ + String MOVE_OUT_HOME = "move_out_home"; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserConfirmDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserConfirmDTO.java index 39ee709284..e0a297cd63 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserConfirmDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/IcResiUserConfirmDTO.java @@ -42,6 +42,33 @@ public class IcResiUserConfirmDTO implements Serializable { */ private String gridId; + /** + * 迁出到网格名 迁出类型为in时必填 + */ + private String gridName; + + /** + * 迁出到小区名 迁出类型为in时必填 + */ + private String villageName; + + /** + * 迁出到楼栋名 迁出类型为in时必填 + */ + private String buildName; + + /** + * 迁出到单元名 迁出类型为in时必填 + */ + private String unitName; + + /** + * 迁出到房屋名 迁出类型为in时必填 + */ + private String homeName; + + private String houseId; + /** * 姓 */ @@ -187,4 +214,11 @@ public class IcResiUserConfirmDTO implements Serializable { */ private String operationDescribe; + /** + * 迁出申请状态 0未审核 1已通过 2未通过 3没有迁出申请 + */ + private String moveOutStatus; + + private String moveOutDate; + } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ConfirmListFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ConfirmListFormDTO.java new file mode 100644 index 0000000000..b322086c91 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/ConfirmListFormDTO.java @@ -0,0 +1,38 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/22 14:16 + */ +@NoArgsConstructor +@Data +public class ConfirmListFormDTO extends PageFormDTO implements Serializable { + + private static final long serialVersionUID = -3784221830789219648L; + private String customerId; + private String agencyId; + private String staffId; + private String name; + private String mobile; + private String idCard; + /** + * 迁出类型 + */ + private String submitType; + /** + * 审核状态 + */ + private String confirmResult; + private String gridId; + private String villageId; + private String buildId; + private String unitId; + private String homeId; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MoveOutMemberFormDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MoveOutMemberFormDTO.java index 18bc3cc7c8..1daf911949 100644 --- a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MoveOutMemberFormDTO.java +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/form/MoveOutMemberFormDTO.java @@ -133,4 +133,5 @@ public class MoveOutMemberFormDTO implements Serializable { * 与户主关系 */ private String yhzgx; + private String moveOutDate; } diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ConfirmListResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ConfirmListResultDTO.java new file mode 100644 index 0000000000..f9c131d7b5 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/ConfirmListResultDTO.java @@ -0,0 +1,26 @@ +package com.epmet.dto.result; + +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/22 14:27 + */ +@NoArgsConstructor +@Data +public class ConfirmListResultDTO { + private String id; + private String name; + private String gender; + private String mobile; + private String idCard; + private String gridId; + private String gridName; + private String homeId; + private String homeName; + private String submitType; + private String newHomeName; + private String confirmResult; +} diff --git a/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MoveOutDetailResultDTO.java b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MoveOutDetailResultDTO.java new file mode 100644 index 0000000000..13f184de30 --- /dev/null +++ b/epmet-user/epmet-user-client/src/main/java/com/epmet/dto/result/MoveOutDetailResultDTO.java @@ -0,0 +1,42 @@ +package com.epmet.dto.result; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/22 16:15 + */ +@NoArgsConstructor +@Data +public class MoveOutDetailResultDTO implements Serializable { + private static final long serialVersionUID = -8151267925780583596L; + private String id; + private String icResiUserId; + private String name; + private String mobile; + private String idCard; + private String gridId; + private String gridName; + private String villageName; + private String buildName; + private String unitName; + private String homeId; + private String homeName; + private String outType; + private String newGridName; + private String newHomeName; + private String moveOutDate; + private String deleteReason; + private String confirmResult; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date createdTime; + private String reason; + private String xxdz; + private Boolean isInHome = true; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/MessageConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/MessageConstant.java new file mode 100644 index 0000000000..f17055ac76 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/MessageConstant.java @@ -0,0 +1,19 @@ +package com.epmet.constant; + +/** + * @Description + * @Author zhaoqifeng + * @Date 2022/6/27 14:23 + */ +public interface MessageConstant { + /** + * 消息标题 + */ + String MOVE_OUT_TITLE = "您有一条移除家庭成员消息"; + + + /** + * 审核驳回消息模板 + */ + String OVE_OUT_REJECTED_MSG = "您好,您的申请由于%s,已被驳回。"; +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java index 5199e19b53..8066a87271 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/ChangeRelocationController.java @@ -104,4 +104,24 @@ public class ChangeRelocationController { return changeRelocationService.saveOutOfInfo(dto); } + /** + * 从家庭中移除 + * + * @Param tokenDto + * @Param dto + * @Return {@link Result} + * @Author zhaoqifeng + * @Date 2022/6/27 10:50 + */ + @NoRepeatSubmit + @PostMapping("moveOutHome") + public Result moveOutHome(@LoginUser TokenDto tokenDto, @RequestBody ChangeRelocationDTO dto){ + dto.setCustomerId(tokenDto.getCustomerId()); + dto.setStaffId(tokenDto.getUserId()); + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + changeRelocationService.moveOutHome(dto); + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java index 0e595cc96f..a622798520 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/controller/MyHomeController.java @@ -2,19 +2,20 @@ package com.epmet.controller; import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.MaskResponse; +import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.enums.HomeMemberOperationEnum; +import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.dto.TokenDto; import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.validator.ValidatorUtils; import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IcResiUserConfirmDTO; -import com.epmet.dto.form.IcResiUserConfirmGetDTO; -import com.epmet.dto.form.IcResiUserConfirmSubmitDTO; -import com.epmet.dto.form.MoveOutMemberFormDTO; -import com.epmet.dto.form.RegisterAndBindFormDTO; +import com.epmet.dto.form.*; +import com.epmet.dto.result.ConfirmListResultDTO; import com.epmet.dto.result.HomeInfoResultDTO; import com.epmet.dto.result.HomeUserBriefResultDTO; +import com.epmet.dto.result.MoveOutDetailResultDTO; import com.epmet.service.IcResiUserConfirmService; import com.epmet.service.IcResiUserService; import com.epmet.service.MyHomeService; @@ -50,38 +51,6 @@ public class MyHomeController { return new Result().ok(myHomeService.selectListHomeMember(houseCode, tokenDto.getCustomerId())); } - -// /** -// * @describe: 新增家庭成员 -// * @author wangtong -// * @date 2022/6/1 15:50 -// * @params [dto] -// * @return com.epmet.commons.tools.utils.Result -// */ -// @PostMapping("addMember") -// public Result addMember(@RequestBody IcResiUserConfirmSubmitDTO dto){ -// //效验数据 -// ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); -// dto.setSubmitType(HomeMemberOperationEnum.ADD.getCode()); -// return icResiUserConfirmService.addMember(dto); -// } -// -// /** -// * @describe: 修改家庭成员 -// * @author wangtong -// * @date 2022/6/1 15:27 -// * @params [dto] -// * @return com.epmet.commons.tools.utils.Result -// */ -// @PostMapping("editMember") -// public Result save(@RequestBody IcResiUserConfirmSubmitDTO dto){ -// //效验数据 -// ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); -// dto.setSubmitType(HomeMemberOperationEnum.UPDATE.getCode()); -// return icResiUserConfirmService.editMember(dto); -// } -// - /** * @return com.epmet.commons.tools.utils.Result * @describe: 删除家庭成员 @@ -105,10 +74,10 @@ public class MyHomeController { * @params [dto] */ @PostMapping("addMember") - public Result addMember(@RequestBody IcResiUserConfirmSubmitDTO dto) { + public Result addMember(@LoginUser TokenDto tokenDto,@RequestBody IcResiUserConfirmSubmitDTO dto) { //效验数据 ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); - return icResiUserService.addMember(dto); + return icResiUserService.addMember(tokenDto,dto); } /** @@ -188,11 +157,47 @@ public class MyHomeController { * @author LZN * @date 2022/6/10 11:06 */ - @PostMapping("/moveOutMember") + @NoRepeatSubmit + @PostMapping("moveOutMember") public Result moveOutMember(@RequestBody MoveOutMemberFormDTO form, @LoginUser TokenDto tokenDto) { form.setCustomerId(tokenDto.getCustomerId()); icResiUserConfirmService.moveOutMember(form); return new Result(); } + /** + * 迁出审核列表 + * + * @Param tokenDto + * @Param form + * @Return {@link Result< PageData< ConfirmListResultDTO>>} + * @Author zhaoqifeng + * @Date 2022/6/22 16:13 + */ + @PostMapping("confirmList") + public Result> confirmList(@LoginUser TokenDto tokenDto, @RequestBody ConfirmListFormDTO form) { + form.setCustomerId(tokenDto.getCustomerId()); + form.setStaffId(tokenDto.getUserId()); + return new Result>().ok(icResiUserConfirmService.confirmList(form)); + } + + @PostMapping("moveOutConfirmDetail") + public Result moveOutConfirmDetail(@LoginUser TokenDto tokenDto, @RequestBody IcResiUserConfirmDTO formDTO) { + return new Result().ok(icResiUserConfirmService.moveOutConfirmDetail(tokenDto.getCustomerId(), formDTO.getId())); + } + + /** + * 迁出审核 + * + * @Param formDTO + * @Return {@link Result} + * @Author zhaoqifeng + * @Date 2022/6/22 16:46 + */ + @PostMapping("moveOutConfirm") + public Result moveOutConfirm( @RequestBody IcResiUserConfirmDTO formDTO) { + icResiUserConfirmService.moveOutConfirm(formDTO); + return new Result(); + } + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserConfirmDao.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserConfirmDao.java index 03704abd4b..e7bcf3b528 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserConfirmDao.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/dao/IcResiUserConfirmDao.java @@ -1,10 +1,15 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.form.ConfirmListFormDTO; +import com.epmet.dto.result.ConfirmListResultDTO; +import com.epmet.dto.result.MoveOutDetailResultDTO; import com.epmet.entity.IcResiUserConfirmEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * 居民信息审核表 * @@ -48,4 +53,22 @@ public interface IcResiUserConfirmDao extends BaseDao { */ void deleteByIdCard(@Param("idCard") String idCard, @Param("customerId") String customerId, @Param("submitType") String submitType); + + /** + * 迁出审核列表 + * @Param form + * @Return {@link List< ConfirmListResultDTO>} + * @Author zhaoqifeng + * @Date 2022/6/22 16:28 + */ + List getConfirmList(ConfirmListFormDTO form); + + /** + * 迁出审核详情 + * @Param id + * @Return {@link MoveOutDetailResultDTO} + * @Author zhaoqifeng + * @Date 2022/6/22 16:27 + */ + MoveOutDetailResultDTO getMoveOutConfirmDetail(String id); } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserConfirmEntity.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserConfirmEntity.java index 5c06a854e7..ac36abe612 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserConfirmEntity.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/entity/IcResiUserConfirmEntity.java @@ -38,6 +38,31 @@ public class IcResiUserConfirmEntity extends BaseEpmetEntity { */ private String gridId; + /** + * 迁出到网格名 迁出类型为in时必填 + */ + private String gridName; + + /** + * 迁出到小区名 迁出类型为in时必填 + */ + private String villageName; + + /** + * 迁出到楼栋名 迁出类型为in时必填 + */ + private String buildName; + + /** + * 迁出到单元名 迁出类型为in时必填 + */ + private String unitName; + + /** + * 迁出到房屋名 迁出类型为in时必填 + */ + private String homeName; + private String houseId; /** * 姓 */ @@ -153,5 +178,7 @@ public class IcResiUserConfirmEntity extends BaseEpmetEntity { */ private String operationDescribe; + private String moveOutDate; + } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/UserConfirmEnum.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/UserConfirmEnum.java new file mode 100644 index 0000000000..91da0ae6c8 --- /dev/null +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/enums/UserConfirmEnum.java @@ -0,0 +1,54 @@ +package com.epmet.enums; + +import java.util.Objects; + +/** + * @author Administrator + */ + +public enum UserConfirmEnum { + //审核状态 + AUDITING("0", "未审核"), + PASSED("1", "已通过"), + REJECT("2", "未通过"), + ADD("add", "新增"), + UPDATE("update", "修改"), + OUT("out", "迁至客户外"), + IN("in", "迁至客户内"), + ; + + private String code; + private String name; + + + UserConfirmEnum(String code, String name) { + this.code = code; + this.name = name; + } + + public static String getName(String code) { + UserConfirmEnum[] userConfirmEnums = values(); + for (UserConfirmEnum userConfirmEnum : userConfirmEnums) { + if (Objects.equals(userConfirmEnum.getCode(), code)) { + return userConfirmEnum.getName(); + } + } + return null; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java index 4b74db40a5..1a54dba7c7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/ChangeRelocationService.java @@ -85,4 +85,14 @@ public interface ChangeRelocationService extends BaseService} + * @Author zhaoqifeng + * @Date 2022/6/22 14:30 + */ + PageData confirmList(ConfirmListFormDTO form); + + /** + * 迁出审核详情 + * + * @Param id + * @Return {@link MoveOutDetailResultDTO} + * @Author zhaoqifeng + * @Date 2022/6/22 16:21 + */ + MoveOutDetailResultDTO moveOutConfirmDetail(String customerId, String id); + + /** + * 迁出审核 + * + * @Param formDTO + * @Return {@link null} + * @Author zhaoqifeng + * @Date 2022/6/22 16:45 + */ + void moveOutConfirm(IcResiUserConfirmDTO formDTO); } 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 58b2e342ef..3a7879cbf1 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 @@ -406,7 +406,7 @@ public interface IcResiUserService extends BaseService { * @date 2022/6/6 10:36 * @params [dto] */ - Result addMember(IcResiUserConfirmSubmitDTO dto); + Result addMember(TokenDto tokenDto,IcResiUserConfirmSubmitDTO dto); /** * @return com.epmet.commons.tools.utils.Result diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java index 52697856b7..1201c79958 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/ChangeRelocationServiceImpl.java @@ -7,6 +7,8 @@ import com.epmet.commons.rocketmq.messages.IcResiUserAddMQMsg; import com.epmet.commons.tools.constant.FieldConstant; import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.enums.IcResiUserSubStatusEnum; +import com.epmet.commons.tools.exception.EpmetErrorCode; +import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.security.user.LoginUserUtil; import com.epmet.commons.tools.utils.ConvertUtils; @@ -21,6 +23,7 @@ import com.epmet.constant.SystemMessageType; import com.epmet.dao.ChangeRelocationDao; import com.epmet.dto.ChangeRelocationDTO; import com.epmet.dto.ChangeWelfareDTO; +import com.epmet.dto.IcResiUserDTO; import com.epmet.dto.form.IcResiUserTransferFormDTO; import com.epmet.dto.form.RentTenantDataFormDTO; import com.epmet.dto.form.SystemMsgFormDTO; @@ -39,6 +42,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -70,6 +74,8 @@ public class ChangeRelocationServiceImpl extends BaseServiceImpl page(Map params) { @@ -197,8 +203,10 @@ public class ChangeRelocationServiceImpl extends BaseServiceImpl implements IcResiUserConfirmService { @@ -45,6 +65,9 @@ public class IcResiUserConfirmServiceImpl extends BaseServiceImpl page(Map params) { IPage page = baseDao.selectPage( @@ -141,8 +164,20 @@ public class IcResiUserConfirmServiceImpl extends BaseServiceImpl getMemberDetail(IcResiUserConfirmGetDTO dto) { IcResiUserConfirmDTO result = icResiUserDao.selectMemberDetail(dto.getIcResiUserId()); - if (null != result && StringUtils.isBlank(result.getGender())) { - result.setGender(""); + if (null != result) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserConfirmEntity::getIcResiUserId, dto.getIcResiUserId()); + wrapper.in(IcResiUserConfirmEntity::getSubmitType, Arrays.asList("in", "out")); + wrapper.orderByDesc(IcResiUserConfirmEntity::getCreatedTime); + List list = baseDao.selectList(wrapper); + if (CollectionUtils.isNotEmpty(list)) { + result.setMoveOutStatus(list.get(NumConstant.ZERO).getConfirmResult()); + } else { + result.setMoveOutStatus(NumConstant.THREE_STR); + } + if(StringUtils.isBlank(result.getGender())) { + result.setGender(""); + } } return new Result().ok(result); } @@ -189,14 +224,160 @@ public class IcResiUserConfirmServiceImpl extends BaseServiceImpl 0) { - icResiUserConfirmDao.deleteByIdCard(form.getIdCard(), form.getCustomerId(), form.getSubmitType()); + MoveOutMemberFormDTO userInfo = icResiUserDao.moveOutMember(form.getIcResiUserId(), form.getCustomerId()); + if (null == userInfo) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "居民已迁出", "居民已迁出"); } + form.setName(userInfo.getAllName()); + form.setAgencyId(userInfo.getAgencyId()); + form.setPids(userInfo.getPids()); + form.setHouseId(userInfo.getHouseId()); + form.setGender(userInfo.getGender()); + form.setIdCard(userInfo.getIdCard()); + form.setBirthday(userInfo.getBirthday()); + form.setHjszd(userInfo.getHjszd()); + form.setXjzd(userInfo.getXjzd()); + form.setMz(userInfo.getMz()); + form.setYhzgx(userInfo.getYhzgx()); IcResiUserConfirmEntity entity = ConvertUtils.sourceToTarget(form, IcResiUserConfirmEntity.class); icResiUserConfirmDao.insert(entity); } + /** + * 迁出审核列表 + * + * @param form + * @Param form + * @Return {@link PageData< ConfirmListResultDTO >} + * @Author zhaoqifeng + * @Date 2022/6/22 14:30 + */ + @Override + public PageData confirmList(ConfirmListFormDTO form) { + //获取工作人员所属组织 + CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(form.getCustomerId(), form.getStaffId()); + if (null == staffInfo) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取用户信息失败", "获取用户信息失败"); + } + form.setAgencyId(staffInfo.getAgencyId()); + PageHelper.startPage(form.getPageNo(), form.getPageSize()); + List list =baseDao.getConfirmList(form); + PageInfo pageInfo = new PageInfo<>(list); + if (CollectionUtils.isNotEmpty(list)) { + list.forEach(item -> { + //获取网格信息 + GridInfoCache gridInfo = CustomerOrgRedis.getGridInfo(item.getGridId()); + if (null != gridInfo) { + log.warn("迁出审核列表获取网格缓存失败"); + item.setGridName(gridInfo.getGridNamePath()); + } + //获取房屋信息 + HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(form.getCustomerId(), item.getHomeId()); + if (null != houseInfo) { + log.warn("迁出审核列表获取房屋缓存失败"); + item.setHomeName(houseInfo.getAllName()); + } + item.setGender(GenderEnum.getName(item.getGender())); + item.setConfirmResult(UserConfirmEnum.getName(item.getConfirmResult())); + }); + } + return new PageData<>(list, pageInfo.getTotal()); + } + + /** + * 迁出审核详情 + * + * @param id + * @Param id + * @Return {@link MoveOutDetailResultDTO} + * @Author zhaoqifeng + * @Date 2022/6/22 16:21 + */ + @Override + public MoveOutDetailResultDTO moveOutConfirmDetail(String customerId, String id) { + MoveOutDetailResultDTO result = baseDao.getMoveOutConfirmDetail(id); + if (null != result) { + //获取房屋信息 + HouseInfoCache houseInfo = CustomerIcHouseRedis.getHouseInfo(customerId, result.getHomeId()); + if (null == houseInfo) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "获取房屋信息失败", "获取房屋信息失败"); + } + result.setGridName(houseInfo.getGridName()); + result.setVillageName(houseInfo.getNeighborHoodName()); + result.setBuildName(houseInfo.getBuildingName()); + result.setUnitName(houseInfo.getUnitName()); + result.setHomeName(houseInfo.getDoorName()); + if (NumConstant.ZERO_STR.equals(result.getConfirmResult())) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(IcResiUserEntity::getId, result.getIcResiUserId()); + wrapper.eq(IcResiUserEntity::getHomeId, result.getHomeId()); + wrapper.eq(IcResiUserEntity::getStatus, NumConstant.ZERO_STR); + IcResiUserEntity entity = icResiUserDao.selectOne(wrapper); + if (null == entity) { + result.setIsInHome(false); + } else { + result.setIsInHome(true); + } + } + } + + return result; + } + + /** + * 迁出审核 + * + * @param formDTO + * @Param formDTO + * @Return {@link null} + * @Author zhaoqifeng + * @Date 2022/6/22 16:45 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public void moveOutConfirm(IcResiUserConfirmDTO formDTO) { + if (NumConstant.TWO_STR.equals(formDTO.getConfirmResult())) { + if (StringUtils.isBlank(formDTO.getReason())) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "驳回原因不能为空", "驳回原因不能为空"); + } + } + baseDao.updateById(ConvertUtils.sourceToTarget(formDTO, IcResiUserConfirmEntity.class)); + //审核不通过,发送消息 + if (NumConstant.TWO_STR.equals(formDTO.getConfirmResult())) { + String msg = String.format(MessageConstant.OVE_OUT_REJECTED_MSG, formDTO.getReason()); + IcResiUserConfirmEntity entity = baseDao.selectById(formDTO.getId()); + sendMessage(entity.getCustomerId(),entity.getGridId(), entity.getId(), entity.getCreatedBy(), msg); + } + + } + + + private void sendMessage(String customerId, String gridId, String targetId, String userId, String userMsg) { + UserMessageFormDTO userMessageFormDTO = new UserMessageFormDTO(); + userMessageFormDTO.setCustomerId(customerId); + userMessageFormDTO.setGridId(gridId); + userMessageFormDTO.setApp(AppClientConstant.APP_RESI); + userMessageFormDTO.setTitle(MessageConstant.MOVE_OUT_TITLE); + userMessageFormDTO.setMessageType(UserMessageTypeConstant.MOVE_OUT_HOME); + userMessageFormDTO.setTargetId(targetId); + userMessageFormDTO.setMessageContent(userMsg); + userMessageFormDTO.setReadFlag(ReadFlagConstant.UN_READ); + userMessageFormDTO.setUserId(userId); + + //发送微信订阅消息 + WxSubscribeMessageFormDTO wxSubscribeMessageFormDTO = new WxSubscribeMessageFormDTO(); + wxSubscribeMessageFormDTO.setCustomerId(customerId); + wxSubscribeMessageFormDTO.setUserId(userId); + wxSubscribeMessageFormDTO.setClientType(AppClientConstant.APP_RESI); + wxSubscribeMessageFormDTO.setGridId(gridId); + wxSubscribeMessageFormDTO.setBehaviorType(MessageConstant.MOVE_OUT_TITLE); + wxSubscribeMessageFormDTO.setMessageContent(userMsg); + wxSubscribeMessageFormDTO.setMessageTime(new Date()); + List msgList = new ArrayList<>(); + msgList.add(wxSubscribeMessageFormDTO); + epmetMessageOpenFeignClient.sendWxSubscribeMessage(msgList); + //保存消息 + epmetMessageOpenFeignClient.saveUserMessage(userMessageFormDTO); + } + } 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 f9a35f3411..ff7bc63a33 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 @@ -155,6 +155,10 @@ public class IcResiUserServiceImpl extends BaseServiceImpl getWrapper(Map params) { String id = (String) params.get(FieldConstant.ID_HUMP); @@ -2362,7 +2366,7 @@ public class IcResiUserServiceImpl extends BaseServiceImpl userResult = epmetUserOpenFeignClient.selectUserBaseInfo(tokenDto); + if (!userResult.success()){ + throw new EpmetException("查询用户信息失败..."); + } + changeRecordEntity.setOperatorName(userResult.getData().getRealName()); + changeRecordEntity.setIcUserName(entity.getName()); + changeRecordEntity.setType("add"); + changeRecordEntity.setTypeName("新增"); + changeRecordEntity.setBeforeChangeName("-"); + changeRecordEntity.setAfterChangeName("-"); + changeRecordEntity.setChangeTime(new java.util.Date()); + icUserChangeRecordService.insert(changeRecordEntity); return new Result().ok("新增成功"); } @@ -2475,6 +2496,21 @@ public class IcResiUserServiceImpl extends BaseServiceImpl + + 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 a72e8caa59..2d9fd42f5d 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 @@ -1140,7 +1140,7 @@ SELECT AGENCY_ID, PIDS, - HOME_ID, + HOME_ID AS houseId, NAME as allName, MOBILE, GENDER, @@ -1155,6 +1155,7 @@ WHERE id = #{icResiUserId} AND customer_id = #{customerId} + AND STATUS = '0' AND DEL_FLAG = '0'