From 65597d392706c551589cfae5fc386a701ccdd795 Mon Sep 17 00:00:00 2001 From: zhaokai Date: Wed, 24 Dec 2025 09:59:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=AA=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E7=9A=84=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/info/command/UserUpdateExe.java | 126 ++++++++++++------ .../enums/UserJobHandoverWorkTypeEnum.java | 1 + 2 files changed, 84 insertions(+), 43 deletions(-) diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java index 7d13b42c..40c99f61 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserUpdateExe.java @@ -1,6 +1,7 @@ package com.zcloud.basic.info.command; import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.Response; import com.alibaba.cola.dto.SingleResponse; @@ -25,6 +26,10 @@ import com.zcloud.gbscommon.zcloudhidden.request.HiddenStatisticsListQry; import com.zcloud.gbscommon.zcloudhidden.request.HiddenUpdateCmd; import com.zcloud.gbscommon.zcloudhidden.response.HiddenListByUserCO; import com.zcloud.gbscommon.zcloudhidden.response.HiddenListCO; +import com.zcloud.gbscommon.zcloudrisk.facade.ZcloudRiskFacade; +import com.zcloud.gbscommon.zcloudrisk.request.ListManagerQry; +import com.zcloud.gbscommon.zcloudrisk.request.ListManagerStatusUpdateCmd; +import com.zcloud.gbscommon.zcloudrisk.response.ListManagerListByUserCO; import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserJobFacade; import com.zcloud.gbscommon.zclouduser.request.ZcloudUserJobQry; import com.zcloud.gbscommon.zclouduser.response.ZcloudUserJobCo; @@ -74,8 +79,8 @@ public class UserUpdateExe { private ZcloudRedisUtil zcloudRedisUtil; @DubboReference private ZcloudHiddenFacade zcloudHiddenFacade; - - + @DubboReference + private ZcloudRiskFacade zcloudRiskFacade; @Transactional(rollbackFor = Exception.class) @@ -86,11 +91,11 @@ public class UserUpdateExe { UserDO userDO = userRepository.getInfoById(userUpdateCmd.getId()); UserE oldUserE = new UserE(); BeanUtils.copyProperties(userDO, oldUserE); - // boolean transferPositionFlag = userE.verifyTransferPosition(oldUserE, userE); + // boolean transferPositionFlag = userE.verifyTransferPosition(oldUserE, userE); boolean transferFlowFlag = userE.verifyTransferFlow(oldUserE, userE); - if(transferFlowFlag){ + if (transferFlowFlag) { List userCorpRecordDOList = userCorpRecordRepository.getInfoListByUserId(userDO.getId()); - if(CollUtil.isNotEmpty(userCorpRecordDOList)){ + if (CollUtil.isNotEmpty(userCorpRecordDOList)) { throw new BizException("该用户尚有未离职企业,不能修人员流动状态"); } @@ -134,15 +139,15 @@ public class UserUpdateExe { UserE userE = new UserE(); userE.checkPassword(cmd.getNewPassword(), cmd.getConfirmPassword()); - if(!"123".equals(cmd.getPhoneCode())){ + if (!"123".equals(cmd.getPhoneCode())) { - // 获取redis验证码 - Object phoneCodeObj = zcloudRedisUtil.get(RedisConstant.PHONE_CODE_KEY + cmd.getPhone()); - if(phoneCodeObj == null || !phoneCodeObj.toString().equals(cmd.getPhoneCode())){ - throw new BizException("验证码已过期或错误"); - } - zcloudRedisUtil.del(RedisConstant.PHONE_CODE_KEY + cmd.getPhone()); + // 获取redis验证码 + Object phoneCodeObj = zcloudRedisUtil.get(RedisConstant.PHONE_CODE_KEY + cmd.getPhone()); + if (phoneCodeObj == null || !phoneCodeObj.toString().equals(cmd.getPhoneCode())) { + throw new BizException("验证码已过期或错误"); + } + zcloudRedisUtil.del(RedisConstant.PHONE_CODE_KEY + cmd.getPhone()); } BeanUtils.copyProperties(cmd, userE); userE.setId(userDO.getId()); @@ -231,26 +236,25 @@ public class UserUpdateExe { userChangeRecordE.executeResignation(userE, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode(), employmentFlagBefore); userChangeRecordGateway.add(userChangeRecordE); //TODO 处理未完成工作 - List allJob = getUserJob(userDO.getId(),corpinfoId,userChangeRecordE.getUserChangeRecordId()); - if(CollUtil.isNotEmpty(allJob)) { - userJobHandoverRepository.saveBatch(allJob); + List allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId()); + if (CollUtil.isNotEmpty(allJob)) { + userJobHandoverRepository.saveBatch(allJob); // //TODO 离职发送,循环调用,失败的话,返回失败, - ResignatioChangeJob(allJob); - } + ResignatioChangeJob(allJob); + } - //TODO gbs 处理离职 + //TODO gbs 处理离职 } - public void executeReviewStatus(UserReviewStatusCmd userReviewStatusCmd) { //获取用户信息,并更新审核状态 UserDO userDO = userRepository.getInfoById(userReviewStatusCmd.getUserId()); // - if(UserEmploymentFlagEnum.ENTRY_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())){ + if (UserEmploymentFlagEnum.ENTRY_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())) { //入职待审核 ReviewEntryAudit(userDO, userReviewStatusCmd); - }else if(UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())){ + } else if (UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode().equals(userReviewStatusCmd.getEmploymentFlag())) { //就是离职待审核 ReviewResignationAudit(userDO, userReviewStatusCmd); } @@ -259,6 +263,7 @@ public class UserUpdateExe { /** * 离职 + * * @param userDO * @param userReviewStatusCmd */ @@ -293,7 +298,7 @@ public class UserUpdateExe { userCorpRecordGateway.add(userCorpRecordE); } UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); - userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.RESIGNATION.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); + userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode()); userChangeRecordGateway.add(userChangeRecordE); ////TODO 通知GBS用户绑定租户 @@ -302,8 +307,8 @@ public class UserUpdateExe { //处理未完成的工作 //获取未完成工作 List allJob = userJobHandoverRepository.getListByChangerRecordId(userChangeRecordE.getUserChangeRecordId()); - if(CollUtil.isNotEmpty(allJob)){ - ResignatioChangeJob(allJob); + if (CollUtil.isNotEmpty(allJob)) { + ResignatioChangeJob(allJob); } } else { //驳回 @@ -318,7 +323,7 @@ public class UserUpdateExe { userCorpRecordGateway.add(userCorpRecordE); } UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); - userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(),UserChangeRecordStatusEnum.REJECTED.getCode()); + userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode()); userChangeRecordGateway.add(userChangeRecordE); } } @@ -350,14 +355,14 @@ public class UserUpdateExe { if (userCorpRecordDO != null) { BeanUtils.copyProperties(userCorpRecordDO, userCorpRecordE); userCorpRecordE.executeEntryAudit(userCorpRecordE, userE, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode()); - userCorpRecordE.setStartTime( LocalDateTime.now()); + userCorpRecordE.setStartTime(LocalDateTime.now()); userCorpRecordGateway.update(userCorpRecordE); } // 增加用户变更记录 ,获取变更记录 UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); - userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(),UserChangeRecordStatusEnum.APPROVED.getCode()); - userCorpRecordE.setStartTime( LocalDateTime.now()); + userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode()); + userCorpRecordE.setStartTime(LocalDateTime.now()); userChangeRecordGateway.add(userChangeRecordE); com.jjb.saas.system.client.user.request.UserAddCmd userAddCmd = new com.jjb.saas.system.client.user.request.UserAddCmd(); @@ -388,7 +393,7 @@ public class UserUpdateExe { userCorpRecordGateway.update(userCorpRecordE); } UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); - userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.NOT_ON.getCode(),UserChangeRecordStatusEnum.REJECTED.getCode()); + userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.NOT_ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode()); userChangeRecordGateway.add(userChangeRecordE); } @@ -429,30 +434,30 @@ public class UserUpdateExe { userChangeRecordE.setResignationReason(appUserResignationCmd.getResignationReason()); userChangeRecordGateway.add(userChangeRecordE); // 处理未完成工作 - List allJob = getUserJob(userDO.getId(),corpinfoId,userChangeRecordE.getUserChangeRecordId()); - if(CollUtil.isNotEmpty(allJob)){ + List allJob = getUserJob(userDO.getId(), corpinfoId, userChangeRecordE.getUserChangeRecordId()); + if (CollUtil.isNotEmpty(allJob)) { userJobHandoverRepository.saveBatch(allJob); } } private List getUserJob(Long userId, Long corpinfoId, String userChangeRecordId) { - ZcloudUserJobQry zcloudUserJobQry = new ZcloudUserJobQry(); - zcloudUserJobQry.setUserId(userId); - zcloudUserJobQry.setCorpinfoId(corpinfoId); List allJob = new ArrayList<>(); //隐患id - HiddenStatisticsListQry hiddenStatisticsListQry = new HiddenStatisticsListQry() ; + HiddenStatisticsListQry hiddenStatisticsListQry = new HiddenStatisticsListQry(); hiddenStatisticsListQry.setUserId(userId); //隐患要求传入企业id hiddenStatisticsListQry.setDeptId(corpinfoId); - List hiddenListCOList =null; - try{ + List hiddenListCOList = null; + try { + + log.info("获取用户隐患信息, userId: {}, corpinfoId: {}", userId, corpinfoId); MultiResponse hiddenListCOMultiResponse = zcloudHiddenFacade.listByUserId(hiddenStatisticsListQry); + log.info("获取用户隐患信息返回, userId: {}, corpinfoId: {}, data: {}", userId, corpinfoId, JSONUtil.toJsonStr(hiddenListCOList)); hiddenListCOList = hiddenListCOMultiResponse.getData(); - }catch (Exception e){ - log.error("获取用户隐患信息异常, userId: {}, corpinfoId: {}", userId, corpinfoId,e); + } catch (Exception e) { + log.error("获取用户隐患信息异常, userId: {}, corpinfoId: {}", userId, corpinfoId, e); } - if(CollUtil.isNotEmpty(hiddenListCOList)){ + if (CollUtil.isNotEmpty(hiddenListCOList)) { hiddenListCOList.forEach(info -> { UserJobHandoverDO userJobHandoverDO = new UserJobHandoverDO(); userJobHandoverDO.setUserJobHandoverId(Tools.get32UUID()); @@ -466,13 +471,41 @@ public class UserUpdateExe { allJob.add(userJobHandoverDO); }); } + //风险辨识检查 + ListManagerQry listManagerQry = new ListManagerQry(); + listManagerQry.setUserId(userId); + listManagerQry.setCorpinfoId(corpinfoId); + List riskManagerCOList = null; + try { + log.info("获取用户风险辨识检查信息, userId: {}, corpinfoId: {}", userId, corpinfoId); + MultiResponse riskManagerCOResponse = zcloudRiskFacade.listManagerByUserId(listManagerQry); + log.info("获取用户风险辨识检查信息返回, userId: {}, corpinfoId: {}, data: {}", userId, corpinfoId, JSONUtil.toJsonStr(riskManagerCOResponse)); + riskManagerCOList = riskManagerCOResponse.getData(); + } catch (Exception e) { + log.error("获取用户风险辨识检查信息异常, userId: {}, corpinfoId: {}", userId, corpinfoId, e); + } + if (CollUtil.isNotEmpty(riskManagerCOList)) { + riskManagerCOList.forEach(info -> { + UserJobHandoverDO userJobHandoverDO = new UserJobHandoverDO(); + userJobHandoverDO.setUserJobHandoverId(Tools.get32UUID()); + userJobHandoverDO.setUserId(userId); + userJobHandoverDO.setWorkProject(info.getWorkProject()); + userJobHandoverDO.setWorkContent(info.getWorkContent()); + userJobHandoverDO.setForeignKey(info.getListManagerId()); + userJobHandoverDO.setWorkType(UserJobHandoverWorkTypeEnum.RISK.getCode()); + userJobHandoverDO.setUserChangeRecordId(userChangeRecordId); + userJobHandoverDO.setCorpinfoId(corpinfoId); + allJob.add(userJobHandoverDO); + }); + } return allJob; } + private void ResignatioChangeJob(List allJob) { - allJob.forEach(info->{ + allJob.forEach(info -> { //取消工作 UserJobHandoverWorkTypeEnum workTypeEnum = UserJobHandoverWorkTypeEnum.getByCode(info.getWorkType()); - switch (workTypeEnum){ + switch (workTypeEnum) { case HIDDENINFO: HiddenUpdateCmd cmd = new HiddenUpdateCmd(); cmd.setUserId(info.getUserId()); @@ -482,12 +515,19 @@ public class UserUpdateExe { userJobHandoverRepository.processUserJobHandover(info.getUserChangeRecordId()); //隐患出异常是直接抛异常 break; + case RISK: + ListManagerStatusUpdateCmd riskCmd = new ListManagerStatusUpdateCmd(); + riskCmd.setUserId(info.getUserId()); + riskCmd.setCorpinfoId(info.getCorpinfoId()); + zcloudRiskFacade.updateListManagerStatusByUserId(riskCmd); + userJobHandoverRepository.processUserJobHandover(info.getUserChangeRecordId()); + //风险辨识检查出异常是直接抛异常 + break; } }); - } diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserJobHandoverWorkTypeEnum.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserJobHandoverWorkTypeEnum.java index a7d84446..612186f1 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserJobHandoverWorkTypeEnum.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/UserJobHandoverWorkTypeEnum.java @@ -11,6 +11,7 @@ public enum UserJobHandoverWorkTypeEnum { * 工作类型,1:隐患信息 */ HIDDENINFO(1,"隐患信息"), + RISK(2,"风险辨识检查"), ;