From c6366ef728ef99aba722e1158a4fed131735c38f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=A6=E9=B8=BF=E5=B1=95?= <18031053041@163.com> Date: Sat, 27 Jun 2026 17:22:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=B8=E6=9C=BAAPP=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E6=98=AF=E9=BB=98=E8=AE=A4=E7=94=A8=E6=88=B7=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TokenLoginApplicationService.java | 5 ++++- .../mhd/auth/app/interfaces/dto/LoginDTO.java | 3 +++ .../service/UserApplicationService.java | 22 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/mhd-auth/src/main/java/com/mhd/auth/app/application/service/TokenLoginApplicationService.java b/mhd-auth/src/main/java/com/mhd/auth/app/application/service/TokenLoginApplicationService.java index b45c005c0..9843203d6 100644 --- a/mhd-auth/src/main/java/com/mhd/auth/app/application/service/TokenLoginApplicationService.java +++ b/mhd-auth/src/main/java/com/mhd/auth/app/application/service/TokenLoginApplicationService.java @@ -107,11 +107,14 @@ public class TokenLoginApplicationService { //租户一级组织ID SysTenantsPo sysTenantsPo = JSON.parseObject(JSON.toJSONString(topOrganizationIdR.get("data")), SysTenantsPo.class); Long topOrganizationId = sysTenantsPo.getOrganizationId(); + // 获取用户选择的组织ID,未选则使用一级组织ID + Long selectedOrgId = loginDTO.getOrganizationId(); + Long organizationId = (selectedOrgId != null) ? selectedOrgId : topOrganizationId; //获取用户信息,组装dto UserDTO userDTO = new UserDTO(); userDTO.setUserPhone(userPhone); userDTO.setTopOrganizationId(topOrganizationId); - userDTO.setOrganizationId(topOrganizationId); + userDTO.setOrganizationId(organizationId); // 查询用户信息,查询组织下用户是否存在 R userResult = userServiceFeign.getUserByTopOrganizationUserPhone(userDTO, SecurityConstants.INNER); if (R.FAIL == userResult.getCode()) { diff --git a/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/dto/LoginDTO.java b/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/dto/LoginDTO.java index 4cf88930f..010a16a8f 100644 --- a/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/dto/LoginDTO.java +++ b/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/dto/LoginDTO.java @@ -34,4 +34,7 @@ public class LoginDTO { @ApiModelProperty(name = "APP包名") private String appMark; + @ApiModelProperty(name = "组织ID(司机选择组织,不传默认一级组织)") + private Long organizationId; + } 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 832f860bb..4a45039b3 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 @@ -1864,6 +1864,12 @@ public class UserApplicationService { wlhyDomainService.addOrEditPlatformUser1(userEntity); //同步商城用户 userMallDomainService.syncDriverUserInfo(userEntity); + //同步YMS平台员工信息 + try { + ymsDomainService.addOrEditYmsUser(userEntity); + } catch (Exception e) { + log.warn("同步YMS平台员工信息失败,但不影响用户保存: {}", e.getMessage()); + } //给用户分配默认普通角色权限 RoleDo roleDo = new RoleDo(); roleDo.setRoleCode(RoleEnum.DRIVER.getCode()); @@ -1881,6 +1887,22 @@ public class UserApplicationService { userRoleDomainService.addUserRole(userRoleDo); } } + //给用户分配默认普通用户角色(must) + RoleDo mustRoleDo = new RoleDo(); + mustRoleDo.setRoleCode(RoleEnum.MUST.getCode()); + mustRoleDo.setOrganizationId(userEntity.getOrganizationId()); + RoleEntity mustRoleEntity = roleDomainService.selectByOrganizationIdAndRoleCode(mustRoleDo); + if (null != mustRoleEntity) { + UserRoleDo mustUserRoleDo = new UserRoleDo(); + mustUserRoleDo.setUserId(userEntity.getUserId()); + mustUserRoleDo.setRoleId(mustRoleEntity.getRoleId()); + LoginUser loginUser2 = SecurityUtils.getLoginUser(); + if (ObjectUtil.isNull(loginUser2)) { + userRoleDomainService.addUserRole(mustUserRoleDo, userEntity); + } else { + userRoleDomainService.addUserRole(mustUserRoleDo); + } + } //2024年3月27日16:40:15 处理用户验证码注册,首次登录redis用户数据不更新问题 //此处根据id重新查询 return userDomainService.selectByUserId(userEntity.getUserId());