diff --git a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/CorpTypeEnum.java b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/CorpTypeEnum.java index 1277c65a..4fdcf546 100644 --- a/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/CorpTypeEnum.java +++ b/web-domain/src/main/java/com/zcloud/basic/info/domain/enums/CorpTypeEnum.java @@ -13,6 +13,7 @@ import java.util.stream.Collectors; */ @Getter public enum CorpTypeEnum { + // TODO 若修改默认密码通知前端同步修改 OrdinaryEnterprises(0,"普通企业",UserTypeEnum.QY.getCode(), "Bb@12345678"), groupUnits(1, "集团单位",UserTypeEnum.QY.getCode(), "Bb@12345678"), share(2,"股份单位",UserTypeEnum.JG.getCode(), "Aa@12345678"), diff --git a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java index 8060c92e..8205737c 100644 --- a/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java +++ b/web-infrastructure/src/main/java/com/zcloud/basic/info/persistence/repository/impl/UserRepositoryImpl.java @@ -489,15 +489,11 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i @Override public void changePassword(Long id, String password) { - //修改这个手机号下所有密码 UserDO userDO = getById(id); if (userDO == null) { return; } - String phone = userDO.getPhone(); - - List userDOList = getListByPhone(phone, null); - for (UserDO userDO1 : userDOList) { + for (UserDO userDO1 : listUsersForPasswordUpdate(userDO)) { userChangePassword(userDO1.getId(), password); } } @@ -630,17 +626,27 @@ public class UserRepositoryImpl extends BaseRepositoryImpl i } } - //修改多个密码 - String phone = oldUserDO.getPhone(); - - List userDOList = getListByPhone(phone, null); - for (UserDO userDO1 : userDOList) { + // 有手机号则同步修改同手机号账号,无手机号则只改当前账号 + for (UserDO userDO1 : listUsersForPasswordUpdate(oldUserDO)) { userChangePassword(userDO1.getId(), userDO.getNewPassword()); } return Response.buildSuccess(); } + /** + * 获取需要同步更新密码的用户列表。主账号等无手机号场景仅更新当前用户。 + */ + private List listUsersForPasswordUpdate(UserDO userDO) { + if (StringUtils.hasText(userDO.getPhone())) { + List userDOList = getListByPhone(userDO.getPhone(), null); + if (CollUtil.isNotEmpty(userDOList)) { + return userDOList; + } + } + return Collections.singletonList(userDO); + } + @Override public Boolean updateFaceUrl(UserDO userDO) { return updateById(userDO);