diff --git a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java index 3ded3381e..0c30b3f42 100644 --- a/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java +++ b/mhd-user-center/src/main/java/com/mhd/user/application/service/UserApplicationService.java @@ -1860,13 +1860,19 @@ public class UserApplicationService { userDO.setUserName("用户" + userDO.getUserPhone().substring(userDO.getUserPhone().length() - 4)); } UserEntity userEntity = userDomainService.addUser(userDO); - //给小程序注册用户分配默认普通用户角色(must) + //给小程序注册用户分配默认普通用户角色(must),本组织没有则找上级 userEntity.setUserPassword("Aa123456"); // 三方同步需要密码 try { RoleDo mustRoleDo = new RoleDo(); mustRoleDo.setRoleCode(RoleEnum.MUST.getCode()); mustRoleDo.setOrganizationId(userEntity.getOrganizationId()); RoleEntity mustRoleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(mustRoleDo); + // 本组织没有,找上级组织 + if (null == mustRoleEntity && userEntity.getTopOrganizationId() != null + && !userEntity.getTopOrganizationId().equals(userEntity.getOrganizationId())) { + mustRoleDo.setOrganizationId(userEntity.getTopOrganizationId()); + mustRoleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(mustRoleDo); + } if (null != mustRoleEntity) { UserRoleDo mustUserRoleDo = new UserRoleDo(); mustUserRoleDo.setUserId(userEntity.getUserId());