添加用户保存接口-用于人力资源用户保存

dev_xgfuseridcard
zhaolei 2026-06-09 17:19:45 +08:00
parent 4fc90fa653
commit b78348262b
4 changed files with 55 additions and 0 deletions

View File

@ -5,12 +5,14 @@ import com.alibaba.cola.dto.MultiResponse;
import com.alibaba.cola.dto.SingleResponse; import com.alibaba.cola.dto.SingleResponse;
import com.zcloud.basic.info.api.UserServiceI; import com.zcloud.basic.info.api.UserServiceI;
import com.zcloud.basic.info.command.convertor.UserCoConvertor; import com.zcloud.basic.info.command.convertor.UserCoConvertor;
import com.zcloud.basic.info.dto.UserAddCmd;
import com.zcloud.basic.info.dto.clientobject.UserCO; import com.zcloud.basic.info.dto.clientobject.UserCO;
import com.zcloud.basic.info.persistence.dataobject.UserDO; import com.zcloud.basic.info.persistence.dataobject.UserDO;
import com.zcloud.basic.info.persistence.dataobject.UserImgDO; import com.zcloud.basic.info.persistence.dataobject.UserImgDO;
import com.zcloud.basic.info.persistence.repository.UserRepository; import com.zcloud.basic.info.persistence.repository.UserRepository;
import com.zcloud.gbscommon.utils.PageQueryHelper; import com.zcloud.gbscommon.utils.PageQueryHelper;
import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade; import com.zcloud.gbscommon.zclouduser.facade.ZcloudUserFacade;
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserAddCmd;
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserImgQry; import com.zcloud.gbscommon.zclouduser.request.ZcloudUserImgQry;
import com.zcloud.gbscommon.zclouduser.request.ZcloudUserQry; import com.zcloud.gbscommon.zclouduser.request.ZcloudUserQry;
import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo; import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo;
@ -97,4 +99,12 @@ public class ZcloudUserFacadeImpl implements ZcloudUserFacade {
return MultiResponse.of(zcloudUserImgBase64Cos); return MultiResponse.of(zcloudUserImgBase64Cos);
} }
@Override
public SingleResponse addHumanUser(ZcloudUserAddCmd cmd) {
UserAddCmd userAddCmd = new UserAddCmd();
BeanUtil.copyProperties(cmd, userAddCmd);
userServiceI.addHumanUser(userAddCmd);
return SingleResponse.buildSuccess();
}
} }

View File

@ -635,5 +635,42 @@ public class UserAddExe {
imgFilesRepository.saveBatch(newImgFiles); imgFilesRepository.saveBatch(newImgFiles);
} }
} }
@Transactional(rollbackFor = Exception.class)
public boolean executeHumanUser(UserAddCmd cmd) {
UserE userE = new UserE();
BeanUtils.copyProperties(cmd, userE);
userE.setTenantId(cmd.getCorpinfoId());
//校验手机号
List<Integer> employmentFlagList = Arrays.asList(UserEmploymentFlagEnum.ON.getCode(), UserEmploymentFlagEnum.ENTRY_AUDIT.getCode(), UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode());
List<UserDO> userList = userRepository.getListByPhone(userE.getPhone(), employmentFlagList);
if (CollUtil.isNotEmpty(userList)) {
List<UserE> userEList = userCoConvertor.convertDOsToEs(userList);
userE.checkPhone(userEList);
}
CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId());
String corpName = null;
UserEmploymentLogE userEmploymentLogE = new UserEmploymentLogE();
BeanUtils.copyProperties(userE, userEmploymentLogE);
boolean res = false;
try {
userE.setUserType(CorpTypeEnum.getUserTypeByCode(corpInfoDO.getType()));
userE.resetPassword(corpInfoDO.getType());
userE.setDepartmentLeaderFlag(0);
res = userGateway.add(userE);
if (corpInfoDO != null && !ObjectUtils.isEmpty(corpInfoDO.getCorpName())) {
corpName = corpInfoDO.getCorpName();
}
userEmploymentLogE.initAdd(userEmploymentLogE, corpName, userE.getId());
userEmploymentLogGateway.add(userEmploymentLogE);
} catch (Exception e) {
throw new RuntimeException(e);
}
if (!res) {
throw new BizException("保存失败");
}
return true;
}
} }

View File

@ -265,5 +265,11 @@ public class UserServiceImpl implements UserServiceI {
public PageResponse<UserCO> pageByNopermission(UserPageQry qry) { public PageResponse<UserCO> pageByNopermission(UserPageQry qry) {
return userQueryExe.pageByNopermission(qry); return userQueryExe.pageByNopermission(qry);
} }
@Override
public SingleResponse addHumanUser(UserAddCmd cmd) {
userAddExe.executeHumanUser(cmd);
return SingleResponse.buildSuccess();
}
} }

View File

@ -102,5 +102,7 @@ public interface UserServiceI {
UserLoginCO getUserCorpByPhone(UserAppPhoneCmd cmd); UserLoginCO getUserCorpByPhone(UserAppPhoneCmd cmd);
List<UserImgDO> listBase64ByUrl(Map<String, Object> map); List<UserImgDO> listBase64ByUrl(Map<String, Object> map);
SingleResponse addHumanUser(UserAddCmd cmd);
} }