dev: pc修改新增账号修改并且同步gbs底座逻辑

dev_xiangguanfang
SondonYong 2025-12-31 10:19:53 +08:00
parent 8f6f143695
commit fb47b854ff
3 changed files with 88 additions and 5 deletions

View File

@ -41,6 +41,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
@ -99,16 +100,32 @@ public class UserUpdateExe {
}
;
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) {
// 先把其他相关方的账号找出来
List<UserDO> userByPhoneList = userRepository.listByPhone(userDO.getPhone());
List<Long> userIds = userByPhoneList.stream().map(UserDO::getId).collect(Collectors.toList());
// pc端当前相关方企业修改
boolean res = userGateway.update(userE);
if(!userE.getPhone().equals(userDO.getPhone())){
// 调用底座修改账号
userGateway.updateByGBS(userE);
// 重置密码
UserE u = new UserE();
u.resetPassword();
for (Long userId : userIds) {
userRepository.changePassword(userId, u.getPassword());
}
}
// 相关方同步修改
boolean res2 = userGateway.updateByIds(userE, userIds);
if (!res || !res2) {
throw new BizException("修改失败");
}
}else {

View File

@ -4,6 +4,7 @@ package com.zcloud.basic.info.domain.gateway;
import com.alibaba.cola.dto.Response;
import com.zcloud.basic.info.domain.model.UserE;
import java.util.List;
import java.util.Map;
/**
@ -28,6 +29,10 @@ public interface UserGateway {
Boolean updateByPhone(UserE userE);
Boolean updateByIds(UserE userE, List<Long> ids);
Boolean updateByGBS(UserE userE);
/**
*
*/

View File

@ -1,7 +1,10 @@
package com.zcloud.basic.info.gatewayimpl;
import cn.hutool.json.JSONUtil;
import com.alibaba.cola.dto.Response;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.jjb.saas.system.client.user.facade.UserFacade;
import com.jjb.saas.system.client.user.request.RoleDeptAddCmd;
import com.zcloud.basic.info.domain.enums.UserEmploymentFlagEnum;
import com.zcloud.basic.info.domain.gateway.UserGateway;
import com.zcloud.basic.info.domain.model.UserE;
@ -9,13 +12,18 @@ 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 java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import static dm.jdbc.util.DriverUtil.log;
/**
* web-infrastructure
* @Author zhangyue
@ -25,6 +33,8 @@ import java.util.Map;
@AllArgsConstructor
public class UserGatewayImpl implements UserGateway {
private final UserRepository userRepository;
@DubboReference
private UserFacade userFacade;
@Override
public Boolean add(UserE userE) {
@ -94,6 +104,57 @@ public class UserGatewayImpl implements UserGateway {
return true;
}
@Override
public Boolean updateByIds(UserE userE, List<Long> ids) {
UserDO d = new UserDO();
d.setUsername(userE.getPhone());
d.setPhone(userE.getPhone());
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<UserDO> updateWrapper = new UpdateWrapper<>();
updateWrapper.in("id", ids);
userRepository.update(d, updateWrapper);
return true;
}
@Override
public Boolean updateByGBS(UserE userE) {
com.jjb.saas.system.client.user.request.UserUpdateCmd updateCmd = new com.jjb.saas.system.client.user.request.UserUpdateCmd();
updateCmd.setId(userE.getId());
updateCmd.setAccount(userE.getPhone());
updateCmd.setMobile(userE.getPhone());
updateCmd.setName(userE.getName());
updateCmd.setEmail(userE.getEmail());
RoleDeptAddCmd roleDeptAddCmd = new RoleDeptAddCmd();
roleDeptAddCmd.setRoleId(userE.getRoleId());
roleDeptAddCmd.setDeptId(userE.getDepartmentId());
List<RoleDeptAddCmd> roleDeptAddCmdList = Collections.singletonList(roleDeptAddCmd);
updateCmd.setRoleDepts(roleDeptAddCmdList);
log.info("GBS修改用户开始,用户信息:{}", JSONUtil.toJsonStr(updateCmd));
Response response = userFacade.update(updateCmd);
log.info("GBS修改用户结束,用户id:{},结果:{}", JSONUtil.toJsonStr(response));
return true;
}
@Override
public void deletedUserById(Long id) {
userRepository.deleteUserById(id);