From dc589fdf3fa9b4fb3ae132ab97ac548fb2e1ad24 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 18:17:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/TokenLoginApplicationService.java | 29 ++++++++++++++++++- .../mhd/auth/app/interfaces/dto/LoginDTO.java | 3 ++ .../interfaces/facade/AppTokenController.java | 11 +++++++ 3 files changed, 42 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 9843203d6..0814d4546 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 @@ -40,6 +40,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -156,7 +157,8 @@ public class TokenLoginApplicationService { }else { userDTO.setBusinessType(4); } - userDTO.setOrganizationName(sysTenantsPo.getOrganizationName()); + userDTO.setOrganizationName(StringUtils.isNotBlank(loginDTO.getOrganizationName()) + ? loginDTO.getOrganizationName() : sysTenantsPo.getOrganizationName()); userResult = userServiceFeign.registerAddUser(userDTO, SecurityConstants.INNER); userInfo = userResult.getData(); } else { @@ -572,4 +574,29 @@ public class TokenLoginApplicationService { sysPasswordService.validateByWms(userPo, verificationCode, 1); return userInfo; } + + /** + * 根据域名获取组织信息(免Token,供司机APP注册时选择组织用) + */ + public AjaxResult getOrganizationByPath(String path) { + if (StringUtils.isBlank(path)) { + return AjaxResult.error("域名不能为空"); + } + try { + AjaxResult result = organizationServiceFeign.getOrganizationByPath(path); + if (ObjectUtil.isNull(result) || ObjectUtil.isNull(result.get("data"))) { + return AjaxResult.error("未找到对应组织"); + } + SysTenantsPo sysTenantsPo = JSON.parseObject(JSON.toJSONString(result.get("data")), SysTenantsPo.class); + Long topOrganizationId = sysTenantsPo.getOrganizationId(); + // 返回一级组织ID和名称,前端可据此展示组织选择 + Map data = new java.util.HashMap<>(); + data.put("organizationId", topOrganizationId); + data.put("organizationName", sysTenantsPo.getOrganizationName()); + return AjaxResult.success(data); + } catch (Exception e) { + log.error("获取组织信息失败, path={}", path, e); + return AjaxResult.error("获取组织信息失败:" + e.getMessage()); + } + } } 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 010a16a8f..bbd7dbf08 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 @@ -37,4 +37,7 @@ public class LoginDTO { @ApiModelProperty(name = "组织ID(司机选择组织,不传默认一级组织)") private Long organizationId; + @ApiModelProperty(name = "组织名称(司机选择组织时传入)") + private String organizationName; + } diff --git a/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/facade/AppTokenController.java b/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/facade/AppTokenController.java index a7d62da14..ff4654e0b 100644 --- a/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/facade/AppTokenController.java +++ b/mhd-auth/src/main/java/com/mhd/auth/app/interfaces/facade/AppTokenController.java @@ -9,11 +9,13 @@ import com.mhd.common.core.domain.po.UserPo; import com.mhd.common.core.utils.JwtUtils; import com.mhd.common.core.utils.StringUtils; import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.domain.AjaxResult; import com.mhd.common.security.annotation.RepeatSubmit; import com.mhd.common.security.auth.AuthUtil; import com.mhd.common.security.utils.SecurityUtils; import com.mhd.system.api.model.LoginUser; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; @@ -75,6 +77,15 @@ public class AppTokenController extends BaseController { return R.ok(); } + /** + * 根据域名获取组织信息(免Token,供司机APP注册时选择组织用) + */ + @ApiOperation("根据域名获取组织信息") + @GetMapping("/getOrganizationByPath/{path}") + public AjaxResult getOrganizationByPath(@PathVariable("path") String path) { + return tokenLoginApplicationService.getOrganizationByPath(path); + } + /** * @Description wms 新登录接口