新增用户调整
parent
5f45e6f2ba
commit
33b9a09667
|
|
@ -14,6 +14,7 @@ import com.jjb.saas.message.client.message.facede.MessageFacade;
|
|||
import com.jjb.saas.message.client.message.request.MessageSendCmd;
|
||||
import com.jjb.saas.message.client.message.request.MessageTargetCmd;
|
||||
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.client.user.response.UserDetailCO;
|
||||
import com.zcloud.basic.info.command.convertor.UserCoConvertor;
|
||||
|
|
@ -45,6 +46,7 @@ import java.util.stream.Collectors;
|
|||
|
||||
/**
|
||||
* web-app
|
||||
*
|
||||
* @Author zhangyue
|
||||
* @Date 2025-11-04 14:07:21
|
||||
*/
|
||||
|
|
@ -395,7 +397,6 @@ public class UserAddExe {
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean executeXgf(UserXgfAddCmd cmd) {
|
||||
SSOUser ssoUser = AuthContext.getCurrentUser();
|
||||
|
|
@ -420,7 +421,7 @@ public class UserAddExe {
|
|||
}
|
||||
|
||||
//校验手机号
|
||||
List<UserDO> userList = userRepository.getListByPhone(userE.getPhone(),employmentFlagList);
|
||||
List<UserDO> userList = userRepository.getListByPhone(userE.getPhone(), null);
|
||||
Boolean addFlag = true;
|
||||
UserDO userDOUpdate = null;
|
||||
if (CollUtil.isNotEmpty(userList)) {
|
||||
|
|
@ -432,7 +433,7 @@ public class UserAddExe {
|
|||
throw new BizException("该固定用户存在未离职信息,无法入职");
|
||||
}
|
||||
});
|
||||
Optional<UserDO> optionalUserDO = userList.stream().filter(u -> u.getCorpinfoId().equals(AuthContext.getTenantId())).findFirst();
|
||||
Optional<UserDO> optionalUserDO = userList.stream().filter(u -> AuthContext.getTenantId().equals(u.getCorpinfoId()) || u.getCorpinfoId() == null).findFirst();
|
||||
if (optionalUserDO.isPresent()) {
|
||||
addFlag = false;
|
||||
userDOUpdate = optionalUserDO.get();
|
||||
|
|
@ -440,7 +441,9 @@ public class UserAddExe {
|
|||
} else {
|
||||
List<UserE> userEList = userCoConvertor.convertDOsToEs(userList);
|
||||
userE.checkXGfPhone(userEList);
|
||||
Optional<UserDO> optionalUserDO = userList.stream().filter(u -> u.getCorpinfoId().equals(AuthContext.getTenantId())).findFirst();
|
||||
Optional<UserDO> optionalUserDO = userList.stream()
|
||||
.filter(u -> AuthContext.getTenantId().equals(u.getCorpinfoId()) || u.getCorpinfoId() == null)
|
||||
.findFirst();
|
||||
if (optionalUserDO.isPresent()) {
|
||||
addFlag = false;
|
||||
userDOUpdate = optionalUserDO.get();
|
||||
|
|
@ -459,30 +462,9 @@ public class UserAddExe {
|
|||
throw new BizException("保存失败");
|
||||
}
|
||||
} else {
|
||||
//修改所有手机号的信息
|
||||
userE.resetPassword();
|
||||
userE.setEmploymentFlag(null);
|
||||
userE.setFlowFlag( null);
|
||||
userGateway.updateByPhone(userE);
|
||||
//修改.状态为在职
|
||||
userE.setId(userDOUpdate.getId());
|
||||
userE.setEmploymentFlag(UserEmploymentFlagEnum.ON.getCode());
|
||||
userE.setFlowFlag( cmd.getFlowFlag());
|
||||
userGateway.update(userE);
|
||||
userGateway.updateXgf(userE, userDOUpdate.getId());
|
||||
|
||||
|
||||
//调用底座重新入职
|
||||
log.info("executeXgf,GBS获取用户信息{}",userDOUpdate.getId());
|
||||
SingleResponse<UserDetailCO> detail = userFacade.getDetail(userDOUpdate.getId());
|
||||
log.info("executeXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail));
|
||||
if(detail.isSuccess() && detail.getData() != null && !detail.getData().getJobStatusEnum()){
|
||||
UserUpdateQuitCmd userUpdateQuitCmd = new UserUpdateQuitCmd();
|
||||
userUpdateQuitCmd.setId(userDOUpdate.getId());
|
||||
log.info("executeXgf,GBS恢复用户入职请求: {}",JSONUtil.toJsonStr(userUpdateQuitCmd));
|
||||
Response response = userFacade.restoreJob(userUpdateQuitCmd);
|
||||
log.info("executeXgf,GBS恢复用户入职返回: {}",JSONUtil.toJsonStr(response));
|
||||
}else{
|
||||
log.info("executeXgf,GBS恢复用户入职不需要处理");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -51,5 +51,7 @@ public interface UserGateway {
|
|||
|
||||
boolean addXgf(UserE userE);
|
||||
|
||||
void updateXgf(UserE userE, Long id);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -359,24 +359,24 @@ public class UserE extends BaseE {
|
|||
|
||||
public void checkXGfPhone(List<UserE> userEList) {
|
||||
|
||||
if(UserFlowFlagEnum.FIXED.getCode().equals(this.getFlowFlag())){
|
||||
// this.checkPhone(userEList);
|
||||
|
||||
|
||||
}else{
|
||||
//判断在其他企业是否是固定人员
|
||||
List<UserE> userList = userEList.stream().filter(userE -> UserFlowFlagEnum.FIXED.getCode().equals(userE.getFlowFlag()))
|
||||
.filter(userE -> !userE.getCorpinfoId().equals(AuthContext.getTenantId())).collect(Collectors.toList());
|
||||
List<UserE> userList = userEList.stream().
|
||||
filter(userE -> UserFlowFlagEnum.FIXED.getCode().equals(userE.getFlowFlag()))
|
||||
.filter(userE -> !AuthContext.getTenantId().equals(userE.getCorpinfoId()))
|
||||
.filter(userE -> UserEmploymentFlagEnum.ON.getCode().equals(userE.getEmploymentFlag()))
|
||||
.filter(userE -> UserEmploymentFlagEnum.ENTRY_AUDIT.getCode().equals(userE.getEmploymentFlag()))
|
||||
.filter(userE -> UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode().equals(userE.getEmploymentFlag()))
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(userList)) {
|
||||
throw new BizException("当前手机号已在其他企业属于固定人员");
|
||||
}
|
||||
//判断是否在当前企业存在
|
||||
//判断是否有当前企业
|
||||
boolean flag = userEList.stream().anyMatch(userE -> userE.getCorpinfoId().equals(AuthContext.getTenantId()));
|
||||
boolean flag = userEList.stream().anyMatch(userE -> AuthContext.getTenantId().equals(userE.getCorpinfoId()));
|
||||
if (flag) {
|
||||
throw new BizException("当前手机号当前企业已存在");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void checkIdCardExist(List<UserE> userEList) {
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ import com.zcloud.basic.info.domain.gateway.UserGateway;
|
|||
import com.zcloud.basic.info.domain.model.UserE;
|
||||
import com.zcloud.basic.info.persistence.dataobject.UserDO;
|
||||
import com.zcloud.basic.info.persistence.repository.UserRepository;
|
||||
import com.zcloud.gbscommon.utils.PageQueryHelper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
|
|
@ -190,5 +190,28 @@ public class UserGatewayImpl implements UserGateway {
|
|||
BeanUtils.copyProperties(userE, userDO);
|
||||
return userRepository.updatePassword(userDO);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateXgf(UserE userE, Long id) {
|
||||
if (StringUtils.isEmpty(userE.getUsername())) {
|
||||
userE.setUsername(userE.getPhone());
|
||||
}
|
||||
Integer flowFlag = userE.getFlowFlag();
|
||||
//修改所有手机号的信息
|
||||
userE.resetPassword();
|
||||
userE.setEmploymentFlag(null);
|
||||
userE.setFlowFlag(null);
|
||||
this.updateByPhone(userE);
|
||||
//修改.状态为在职
|
||||
if(id!= null){
|
||||
userE.setId(id);
|
||||
}
|
||||
|
||||
userE.setEmploymentFlag(UserEmploymentFlagEnum.ON.getCode());
|
||||
userE.setFlowFlag(flowFlag);
|
||||
this.update(userE);
|
||||
userRepository.updateXgf(userE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -88,5 +88,7 @@ public interface UserRepository extends BaseRepository<UserDO> {
|
|||
List<UserCorpInfoDO> getListByUserIds(List<Long> userIds);
|
||||
|
||||
List<UserDO> getByIdCard(String userIdCard, List<Integer> employmentFlagList);
|
||||
|
||||
void updateXgf(UserE userE);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,8 @@ import com.jjb.saas.message.client.todotask.facade.BusTodoTaskFacade;
|
|||
import com.jjb.saas.system.client.role.facade.RoleFacade;
|
||||
import com.jjb.saas.system.client.role.response.RoleCO;
|
||||
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.UserAddCmd;
|
||||
import com.jjb.saas.system.client.user.request.UserUpdateCmd;
|
||||
import com.jjb.saas.system.client.user.request.UserUpdatePasswordCmd;
|
||||
import com.jjb.saas.system.client.user.request.*;
|
||||
import com.jjb.saas.system.client.user.response.UserDetailCO;
|
||||
import com.zcloud.basic.info.domain.enums.MenuEnum;
|
||||
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
|
||||
import com.zcloud.basic.info.domain.enums.UserTypeEnum;
|
||||
|
|
@ -44,6 +42,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
|
|||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.ObjectUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
|
|
@ -570,5 +569,43 @@ public class UserRepositoryImpl extends BaseRepositoryImpl<UserMapper, UserDO> i
|
|||
public List<UserCorpInfoDO> getListByUserIds(List<Long> userIds) {
|
||||
return userMapper.getListByUserIds(userIds);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void updateXgf(UserE userE) {
|
||||
SingleResponse<UserDetailCO> detail = null;
|
||||
//调用底座重新入职
|
||||
try {
|
||||
log.info("updateXgf,GBS获取用户信息{}", userE.getId());
|
||||
detail = userFacade.getDetail(userE.getId());
|
||||
log.info("updateXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail));
|
||||
} catch (Exception e) {
|
||||
log.error("updateXgf,GBS获取用户信息失败: {}", e.getMessage());
|
||||
}
|
||||
|
||||
if (detail != null && detail.isSuccess() && detail.getData() != null && !detail.getData().getJobStatusEnum()) {
|
||||
UserUpdateQuitCmd userUpdateQuitCmd = new UserUpdateQuitCmd();
|
||||
userUpdateQuitCmd.setId(userE.getId());
|
||||
log.info("updateXgf,GBS恢复用户入职请求: {}", JSONUtil.toJsonStr(userUpdateQuitCmd));
|
||||
Response response = userFacade.restoreJob(userUpdateQuitCmd);
|
||||
log.info("updateXgf,GBS恢复用户入职返回: {}", JSONUtil.toJsonStr(response));
|
||||
} else {
|
||||
com.jjb.saas.system.client.user.request.UserAddCmd userAddCmd = new com.jjb.saas.system.client.user.request.UserAddCmd();
|
||||
userAddCmd.setAccount(userE.getUsername());
|
||||
userAddCmd.setName(userE.getName());
|
||||
RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd();
|
||||
roleDeptAddCmd.setRoleId(userE.getRoleId());
|
||||
roleDeptAddCmd.setDeptId(userE.getDepartmentId());
|
||||
List<RoleDeptAddCmd> roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd);
|
||||
userAddCmd.setRoleDepts(roleDeptAddCmdList);
|
||||
userAddCmd.setId(userE.getId());
|
||||
log.info("GBS新增用户开始,用户信息:{}", JSONUtil.toJsonStr(userAddCmd));
|
||||
SingleResponse<Long> gbsResult = userFacade.add(userAddCmd);
|
||||
log.info("GBS新增用户结束,用户id:{},结果:{}", gbsResult.getData(), JSONUtil.toJsonStr(gbsResult));
|
||||
if (!gbsResult.isSuccess()) {
|
||||
throw new RuntimeException("GBS新增用户失败,用户id:" + gbsResult.getData());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue