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 89143917..30b63ac8 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 @@ -177,9 +177,10 @@ public class UserAddExe { throw new BizException("该用户存在多家未离职信息,不能修改人员流动状态"); } } - } - userGateway.update(userE); + + userE.setPhone(userDO.getPhone()); + userGateway.updateByPhone(userE); return true; } 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 3d7c2e42..5b282768 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 @@ -98,12 +98,33 @@ public class UserUpdateExe { } } - boolean res = userGateway.update(userE); - // 保存履职记录 - if (!res) { - throw new BizException("修改失败"); + + ; + CorpInfoDO corpInfoDO = corpInfoRepository.getById(userDO.getCorpinfoId()); + if(corpInfoDO != null){ + if(corpInfoDO.getType() == CorpTypeEnum.serviceProvider.getCode() + || corpInfoDO.getType() == CorpTypeEnum.cargoOwner.getCode() + || corpInfoDO.getType() == CorpTypeEnum.portUnit.getCode()){ + // 相关方 + boolean res = userGateway.updateByPhone(userE); + // 保存履职记录 + if (!res) { + throw new BizException("修改失败"); + } + }else { + // 企业端/监管端 + boolean res = userGateway.update(userE); + // 保存履职记录 + if (!res) { + throw new BizException("修改失败"); + } + } + }else { + throw new BizException("未找到该用户所属企业"); } + + /* if (transferPositionFlag) { //保存用户变更记录 CorpInfoDO corpInfoDO = corpInfoRepository.getById(userE.getCorpinfoId()); diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java index e9ae7226..aec1720a 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/gateway/UserGateway.java @@ -26,6 +26,8 @@ public interface UserGateway { */ Boolean update(UserE userE); + Boolean updateByPhone(UserE userE); + /** * 删除 */ diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java index 0a2465b0..c2fd40f9 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/gatewayimpl/UserGatewayImpl.java @@ -65,6 +65,35 @@ public class UserGatewayImpl implements UserGateway { return true; } + @Override + public Boolean updateByPhone(UserE userE) { + UserDO d = new UserDO(); + + d.setUserAvatarUrl(userE.getUserAvatarUrl()); + d.setName(userE.getName()); + d.setUserIdCard(userE.getUserIdCard()); + d.setNation(userE.getNation()); + d.setNationName(userE.getNationName()); + d.setCurrentAddress(userE.getCurrentAddress()); + d.setLocationAddress(userE.getLocationAddress()); + d.setCulturalLevel(userE.getCulturalLevel()); + d.setCulturalLevelName(userE.getCulturalLevelName()); + d.setPoliticalAffiliation(userE.getPoliticalAffiliation()); + d.setPoliticalAffiliationName(userE.getPoliticalAffiliationName()); + d.setMaritalStatus(userE.getMaritalStatus()); + d.setMaritalStatusName(userE.getMaritalStatusName()); + if(userE.getFlowFlag() != null){ + d.setFlowFlag(userE.getFlowFlag()); + } + d.setEmail(userE.getEmail()); + + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("phone", userE.getPhone()); + + userRepository.update(d, updateWrapper); + return true; + } + @Override public void deletedUserById(Long id) { userRepository.deleteUserById(id);