feat(user): 更新用户信息时同步用户状态标识

- 优化部门名称更新逻辑确保信息一致性
- 添加员工状态变更标志更新方法
- 重构用户更新命令参数处理逻辑
dev_human_push_v1
zhaokai 2026-07-14 16:00:32 +08:00
parent 04285b4a52
commit 5dd3e1b7da
3 changed files with 16 additions and 6 deletions

View File

@ -175,10 +175,8 @@ public class ZcloudUserFacadeImpl implements ZcloudUserFacade {
&& !userUpdateCmd.getCorpinfoId().equals(userDO.getCorpinfoId())) { && !userUpdateCmd.getCorpinfoId().equals(userDO.getCorpinfoId())) {
userUpdateCmd.setCorpinfoName(null); userUpdateCmd.setCorpinfoName(null);
} }
if (userDO != null if (StringUtils.hasText(zcloudUserUpdateCmd.getDepartmentName())) {
&& userUpdateCmd.getDepartmentId() != null userUpdateCmd.setDepartmentName(zcloudUserUpdateCmd.getDepartmentName());
&& !userUpdateCmd.getDepartmentId().equals(userDO.getDepartmentId())) {
userUpdateCmd.setDepartmentName(null);
} }
if (userDO != null if (userDO != null
&& userUpdateCmd.getPostId() != null && userUpdateCmd.getPostId() != null

View File

@ -141,6 +141,7 @@ public class HumanUserUpdateExe {
} }
fillMissingFields(userUpdateCmd, oldUserDO); fillMissingFields(userUpdateCmd, oldUserDO);
updateEmploymentFlagToInfoChange(oldUserDO);
if (isResignation(userUpdateCmd)) { if (isResignation(userUpdateCmd)) {
log.info("用户{}触发离职处理,准备检查离职前待交接任务", oldUserDO.getId()); log.info("用户{}触发离职处理,准备检查离职前待交接任务", oldUserDO.getId());
boolean resigned = executeHumanResignation(oldUserDO); boolean resigned = executeHumanResignation(oldUserDO);
@ -157,6 +158,7 @@ public class HumanUserUpdateExe {
} }
log.info("用户{}在当前企业内发生部门、岗位等资料调整,直接走普通修改并同步底座", oldUserDO.getId()); log.info("用户{}在当前企业内发生部门、岗位等资料调整,直接走普通修改并同步底座", oldUserDO.getId());
executeInsideCorpUpdate(oldUserDO, userUpdateCmd); executeInsideCorpUpdate(oldUserDO, userUpdateCmd);
return SingleResponse.of(oldUserDO.getId()); return SingleResponse.of(oldUserDO.getId());
} }
@ -280,6 +282,17 @@ public class HumanUserUpdateExe {
userGateway.update(userE); userGateway.update(userE);
log.info("用户{}仅同步rz_flag旧值:{}, 新值:{}", oldUserDO.getId(), oldUserDO.getRzFlag(), userUpdateCmd.getRzFlag()); log.info("用户{}仅同步rz_flag旧值:{}, 新值:{}", oldUserDO.getId(), oldUserDO.getRzFlag(), userUpdateCmd.getRzFlag());
} }
private void updateEmploymentFlagToInfoChange(UserDO oldUserDO) {
if (Objects.equals(oldUserDO.getEmploymentFlag(), UserEmploymentFlagEnum.INFO_CHANGE.getCode())) {
return;
}
UserE userE = new UserE();
userE.setId(oldUserDO.getId());
userE.setEmploymentFlag(UserEmploymentFlagEnum.INFO_CHANGE.getCode());
userGateway.update(userE);
}
/** /**
* *
* *

View File

@ -807,7 +807,7 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
public List<UserDO> listUserByInfo(Map<String, Object> parmas) { public List<UserDO> listUserByInfo(Map<String, Object> parmas) {
QueryWrapper<UserDO> queryWrapperList = new QueryWrapper<>(); QueryWrapper<UserDO> queryWrapperList = new QueryWrapper<>();
queryWrapperList.eq("phone", parmas.get("phone")); queryWrapperList.eq("phone", parmas.get("phone"));
queryWrapperList.eq("employment_flag",1); queryWrapperList.in("employment_flag", Arrays.asList(1, 2));
queryWrapperList.eq("user_id_card", parmas.get("userIdCard")); queryWrapperList.eq("user_id_card", parmas.get("userIdCard"));
queryWrapperList.eq("delete_enum", "FALSE"); queryWrapperList.eq("delete_enum", "FALSE");
queryWrapperList.orderByAsc("create_time"); queryWrapperList.orderByAsc("create_time");
@ -819,4 +819,3 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
userMapper.updateEmploymentFlagAndDeleteEnum(userId, employmentFlag, deleteEnum); userMapper.updateEmploymentFlagAndDeleteEnum(userId, employmentFlag, deleteEnum);
} }
} }