diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java index fb0a7a07..e514a88a 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserAddExe.java @@ -225,8 +225,8 @@ public class UserAddExe { userCorpGateway.add(userCorpE); } }else{ - if(userDO.getCorpinfoId() != null && userDO.getCorpinfoId().equals(cmd.getCorpinfoId())){ - throw new BizException("该用户在当前企业已入职,无法入职"); + if(userDO.getCorpinfoId() != null ){ + throw new BizException("固定用户在当前企业已入职,无法入职"); } diff --git a/web-app/src/main/java/com/zcloud/basic/info/command/UserRemoveExe.java b/web-app/src/main/java/com/zcloud/basic/info/command/UserRemoveExe.java index d9024341..dac8ef0e 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/command/UserRemoveExe.java +++ b/web-app/src/main/java/com/zcloud/basic/info/command/UserRemoveExe.java @@ -1,6 +1,8 @@ package com.zcloud.basic.info.command; import cn.hutool.core.collection.CollUtil; +import cn.hutool.json.JSONUtil; +import com.alibaba.cola.dto.Response; import com.alibaba.cola.exception.BizException; import com.jjb.saas.system.client.user.facade.UserFacade; import com.zcloud.basic.info.constant.RedisConstant; @@ -17,6 +19,7 @@ import com.zcloud.basic.info.persistence.repository.UserRepository; import com.zcloud.gbscommon.utils.Const; import com.zcloud.gbscommon.utils.ZcloudRedisUtil; import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; import org.junit.platform.commons.function.Try; import org.springframework.beans.factory.annotation.Autowired; @@ -33,6 +36,7 @@ import java.util.List; */ @Component @AllArgsConstructor +@Slf4j public class UserRemoveExe { private final UserGateway userGateway; private final UserRepository userRepository; @@ -51,7 +55,6 @@ public class UserRemoveExe { e.printStackTrace(); throw new BizException("删除失败"); } - // zcloudRedisUtil.del(Const.REDIS_USER_PREFIX+id); return true; } @@ -80,17 +83,15 @@ public class UserRemoveExe { } - - // 删除底座用户信息 - userFacade.delete(cmd.getId()); // 删除用户表 Long userId = cmd.getId(); userGateway.deletedUserById(userId); // 删除user_corp表 userCorpRepository.removeByUserId(userId); - - + log.info("删除底座用户信息,userId:{}",userId); + Response delete = userFacade.delete(cmd.getId()); + log.info("删除底座用户信息,userId:{},返回结果:{}",userId, JSONUtil.toJsonStr( delete)); } catch (Exception e){ e.printStackTrace(); 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 40c99f61..dd981da1 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 @@ -9,6 +9,7 @@ import com.alibaba.cola.exception.BizException; import com.jjb.saas.framework.auth.utils.AuthContext; import com.jjb.saas.system.client.user.facade.UserFacade; import com.jjb.saas.system.client.user.request.RoleDeptAddCmd; +import com.jjb.saas.system.client.user.request.UserUpdateQuitCmd; import com.jjb.saas.system.enums.user.UserAuditStatusEnum; import com.zcloud.basic.info.constant.RedisConstant; import com.zcloud.basic.info.command.convertor.UserJobHandoverCoConvertor; @@ -235,15 +236,20 @@ public class UserUpdateExe { UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); 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); -// //TODO 离职发送,循环调用,失败的话,返回失败, +// // 离职发送,循环调用,失败的话,返回失败, ResignatioChangeJob(allJob); } - //TODO gbs 处理离职 + // gbs 处理离职 + UserUpdateQuitCmd quitCmd = new UserUpdateQuitCmd(); + quitCmd.setId(userDO.getId()); + log.info("GBS离职处理开始,用户id:{},企业id:{}", userDO.getId(), corpinfoId); + Response quit = userFacade.quit(quitCmd); + log.info("GBS离职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(quit)); } @@ -300,16 +306,17 @@ public class UserUpdateExe { UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.RESIGNATION.getCode(), UserChangeRecordStatusEnum.APPROVED.getCode()); userChangeRecordGateway.add(userChangeRecordE); - ////TODO 通知GBS用户绑定租户 - - // TODO 人员离职,相关工作处理,有一个失败则,审批失败 //处理未完成的工作 - //获取未完成工作 List allJob = userJobHandoverRepository.getListByChangerRecordId(userChangeRecordE.getUserChangeRecordId()); if (CollUtil.isNotEmpty(allJob)) { ResignatioChangeJob(allJob); } + log.info("GBS离职处理开始,用户id:{}", userDO.getId()); + UserUpdateQuitCmd quitCmd = new UserUpdateQuitCmd(); + quitCmd.setId(userDO.getId()); + Response quit = userFacade.quit(quitCmd); + log.info("GBS离职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(quit)); } else { //驳回 UserCorpRecordDO userCorpRecordDO = userCorpRecordRepository.getInfoByUserStatus(userDO.getId(), corpinfoId, UserChangeRecordStatusEnum.PENDING.getCode()); @@ -325,6 +332,8 @@ public class UserUpdateExe { UserChangeRecordE userChangeRecordE = new UserChangeRecordE(); userChangeRecordE.executeReviewStatus(userEOld, UserEmploymentFlagEnum.ON.getCode(), UserChangeRecordStatusEnum.REJECTED.getCode()); userChangeRecordGateway.add(userChangeRecordE); + //将未完成的工作删除 + userJobHandoverRepository.deleteUserJob(userDO.getId(), corpinfoId); } } @@ -367,7 +376,6 @@ public class UserUpdateExe { com.jjb.saas.system.client.user.request.UserAddCmd userAddCmd = new com.jjb.saas.system.client.user.request.UserAddCmd(); userAddCmd.setAccount(userDO.getPhone()); -// userAddCmd.setMobile(userDO.getPhone()); userAddCmd.setName(userDO.getPhone()); RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd(); Long roleId = userRepository.getDefaultRoleId(); @@ -376,12 +384,12 @@ public class UserUpdateExe { List roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd); userAddCmd.setRoleDepts(roleDeptAddCmdList); // userAddCmd.setTenantId(userDO.getCorpinfoId()); - + userAddCmd.setPassword(userDO.getPassword()); + log.info("GBS入职处理开始,用户id:{}", userDO.getId()); SingleResponse gbsResult = userFacade.add(userAddCmd); + log.info("GBS入职处理结束,用户id:{},结果:{}", userDO.getId(), JSONUtil.toJsonStr(gbsResult)); userDO.setId(gbsResult.getData()); - //TODO 通知GBS用户绑定租户,底座尚不支持用户绑定多个租户 - } else { //驳回 //驳回 @@ -472,7 +480,7 @@ public class UserUpdateExe { }); } //风险辨识检查 - ListManagerQry listManagerQry = new ListManagerQry(); + /* ListManagerQry listManagerQry = new ListManagerQry(); listManagerQry.setUserId(userId); listManagerQry.setCorpinfoId(corpinfoId); List riskManagerCOList = null; @@ -497,7 +505,7 @@ public class UserUpdateExe { userJobHandoverDO.setCorpinfoId(corpinfoId); allJob.add(userJobHandoverDO); }); - } + }*/ return allJob; } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserJobHandoverRepository.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserJobHandoverRepository.java index 14acc77e..01344fc5 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserJobHandoverRepository.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/UserJobHandoverRepository.java @@ -27,5 +27,7 @@ public interface UserJobHandoverRepository extends BaseRepository getListByUserId(Long userId, Long corpinfoId); + + void deleteUserJob(Long id, Long corpinfoId); } diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserJobHandoverRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserJobHandoverRepositoryImpl.java index e693868b..9a174d88 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserJobHandoverRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserJobHandoverRepositoryImpl.java @@ -90,5 +90,11 @@ public class UserJobHandoverRepositoryImpl extends BaseRepositoryImpl result = userJobHandoverMapper.selectList(queryWrapper); return result; } + + @Override + public void deleteUserJob(Long id, Long corpinfoId) { + //根据用户id和企业id删除数据 + userJobHandoverMapper.delete(new QueryWrapper().eq("user_id", id).eq("corpinfo_id", corpinfoId).eq("delete_enum", "FALSE")); + } } diff --git a/web-infrastructure/src/main/resources/mapper/UserMapper.xml b/web-infrastructure/src/main/resources/mapper/UserMapper.xml index 263bbeff..fc21d75a 100644 --- a/web-infrastructure/src/main/resources/mapper/UserMapper.xml +++ b/web-infrastructure/src/main/resources/mapper/UserMapper.xml @@ -173,6 +173,7 @@ ELSE p.post_name END AS post_name, u.id, + u.password, u.user_id, u.username, u.name,