diff --git a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudUserFacadeImpl.java b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudUserFacadeImpl.java index 2a3be1f7..1d9bb491 100644 --- a/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudUserFacadeImpl.java +++ b/web-adapter/src/main/java/com/zcloud/basic/info/facade/ZcloudUserFacadeImpl.java @@ -5,12 +5,14 @@ import com.alibaba.cola.dto.MultiResponse; import com.alibaba.cola.dto.SingleResponse; import com.zcloud.basic.info.api.UserServiceI; 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.persistence.dataobject.UserDO; import com.zcloud.basic.info.persistence.dataobject.UserImgDO; import com.zcloud.basic.info.persistence.repository.UserRepository; import com.zcloud.gbscommon.utils.PageQueryHelper; 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.ZcloudUserQry; import com.zcloud.gbscommon.zclouduser.response.ZcloudUserCo; @@ -97,4 +99,12 @@ public class ZcloudUserFacadeImpl implements ZcloudUserFacade { return MultiResponse.of(zcloudUserImgBase64Cos); } + @Override + public SingleResponse addHumanUser(ZcloudUserAddCmd cmd) { + UserAddCmd userAddCmd = new UserAddCmd(); + BeanUtil.copyProperties(cmd, userAddCmd); + userServiceI.addHumanUser(userAddCmd); + return SingleResponse.buildSuccess(); + } + } 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 8e940261..7e14ffff 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 @@ -635,5 +635,42 @@ public class UserAddExe { 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 employmentFlagList = Arrays.asList(UserEmploymentFlagEnum.ON.getCode(), UserEmploymentFlagEnum.ENTRY_AUDIT.getCode(), UserEmploymentFlagEnum.RESIGNATION_AUDIT.getCode()); + List userList = userRepository.getListByPhone(userE.getPhone(), employmentFlagList); + if (CollUtil.isNotEmpty(userList)) { + List 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; + } } diff --git a/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java b/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java index 63c38588..ad84e1fd 100644 --- a/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java +++ b/web-app/src/main/java/com/zcloud/basic/info/service/UserServiceImpl.java @@ -265,5 +265,11 @@ public class UserServiceImpl implements UserServiceI { public PageResponse pageByNopermission(UserPageQry qry) { return userQueryExe.pageByNopermission(qry); } + + @Override + public SingleResponse addHumanUser(UserAddCmd cmd) { + userAddExe.executeHumanUser(cmd); + return SingleResponse.buildSuccess(); + } } diff --git a/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java b/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java index 1fb734e2..d243dab0 100644 --- a/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java +++ b/web-client/src/main/java/com/zcloud/basic/info/api/UserServiceI.java @@ -102,5 +102,7 @@ public interface UserServiceI { UserLoginCO getUserCorpByPhone(UserAppPhoneCmd cmd); List listBase64ByUrl(Map map); + + SingleResponse addHumanUser(UserAddCmd cmd); }