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 47793233..bc0660cc 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 @@ -207,12 +207,23 @@ public class UserAddExe { // 底座同步修改姓名和邮箱 if (StringUtils.isNotEmpty(userDO.getName())) { if (!userDO.getName().equals(cmd.getName()) || !userDO.getEmail().equals(cmd.getEmail())) { - UserE u = new UserE(); - u.setId(cmd.getId()); - u.setName(cmd.getName()); - u.setEmail(cmd.getEmail()); - u.setPhone(userDO.getPhone()); - userGateway.updateByAppGBS(u); + // 判断底座是否有该用户信息,如果没有则不调用底座 + SingleResponse detail = null; + try { + log.info("updateXgf,GBS获取用户信息{}", userE.getId()); + detail = userFacade.getDetail(cmd.getId()); + log.info("updateXgf,GBS获取用户信息返回: {}", JSONUtil.toJsonStr(detail)); + } catch (Exception e) { + log.error("updateXgf,GBS获取用户信息失败: {}", e.getMessage()); + } + if(detail.getData() != null){ + UserE u = new UserE(); + u.setId(cmd.getId()); + u.setName(cmd.getName()); + u.setEmail(cmd.getEmail()); + u.setPhone(userDO.getPhone()); + userGateway.updateByAppGBS(u); + } } } 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 e0abfa15..d992c7ce 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 @@ -112,14 +112,29 @@ public class UserUpdateExe { // 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()); + if(!userE.getPhone().equals(userDO.getPhone()) + || !userE.getEmail().equals(userDO.getEmail()) + || !userE.getName().equals(userDO.getName())){ + // 判断底座是否有该用户信息,如果没有则不调用底座 + SingleResponse 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.getData() != null){ + // 调用底座修改账号 + userGateway.updateByGBS(userE); + if(!userE.getPhone().equals(userDO.getPhone())){ + // 修改账号了,需要重置密码 + UserE u = new UserE(); + u.resetPassword(); + for (Long userId : userIds) { + userRepository.changePassword(userId, u.getPassword()); + } + } } } @@ -132,13 +147,28 @@ public class UserUpdateExe { }else { // 企业端/监管端 boolean res = userGateway.update(userE); - if(!userE.getPhone().equals(userDO.getPhone())){ - // 调用底座修改账号 - userGateway.updateByGBS(userE); - // 重置密码 - UserE u = new UserE(); - u.resetPassword(); - userRepository.changePassword(userDO.getId(), u.getPassword()); + if(!userE.getPhone().equals(userDO.getPhone()) + || !userE.getEmail().equals(userDO.getEmail()) + || !userE.getName().equals(userDO.getName())){ + // 判断底座是否有该用户信息,如果没有则不调用底座 + SingleResponse 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.getData() != null){ + // 调用底座修改账号 + userGateway.updateByGBS(userE); + if(!userE.getPhone().equals(userDO.getPhone())){ + // 账号修改了,需要重置密码 + UserE u = new UserE(); + u.resetPassword(); + userRepository.changePassword(userDO.getId(), u.getPassword()); + } + } } // 保存履职记录 if (!res) {