From 7475f9d75dab51a1cf9caef492acbe0353a5820b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E9=9B=85=E9=A6=A8?= Date: Tue, 23 Jun 2026 15:45:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E6=9C=8D=E5=8A=A1=E5=A2=9E=E5=8A=A0fe?= =?UTF-8?q?gin=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/LauncherConstant.java | 2 +- blade-service-api/blade-system-api/pom.xml | 1 + .../springblade/system/feign/ISysClient.java | 18 +++++++ .../system/feign/ISysClientFallback.java | 10 ++++ .../springblade/system/feign/SysClient.java | 48 +++++++++++++++++++ 5 files changed, 78 insertions(+), 1 deletion(-) diff --git a/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java b/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java index 36570ee..7b23daa 100644 --- a/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java +++ b/blade-common/src/main/java/org/springblade/common/constant/LauncherConstant.java @@ -57,7 +57,7 @@ public interface LauncherConstant { /** * nacos test 地址 */ - String NACOS_TEST_ADDR = "172.30.0.48:8848"; + String NACOS_TEST_ADDR = "172.19.2.126:30848"; /** * sentinel dev 地址 diff --git a/blade-service-api/blade-system-api/pom.xml b/blade-service-api/blade-system-api/pom.xml index 41c283a..4531116 100644 --- a/blade-service-api/blade-system-api/pom.xml +++ b/blade-service-api/blade-system-api/pom.xml @@ -2,6 +2,7 @@ + blade-service-api org.springblade diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java index 97020dd..a67a826 100644 --- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java +++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClient.java @@ -53,6 +53,8 @@ public interface ISysClient { String DEPT_NAME = API_PREFIX + "/dept-name"; String DEPT_NAMES = API_PREFIX + "/dept-names"; String DEPT_CHILD = API_PREFIX + "/dept-child"; + String CURRENT_USER_COMPANY = API_PREFIX + "/current-user-company"; + String CURRENT_USER_DEPT = API_PREFIX + "/current-user-dept"; String POST = API_PREFIX + "/post"; String POST_IDS = API_PREFIX + "/post-ids"; String POST_IDS_FUZZY = API_PREFIX + "/post-ids-fuzzy"; @@ -136,6 +138,22 @@ public interface ISysClient { @GetMapping(DEPT_CHILD) R> getDeptChild(@RequestParam("deptId") Long deptId); + /** + * 获取当前登录用户所属公司 + * + * @return Dept + */ + @GetMapping(CURRENT_USER_COMPANY) + R getCurrentUserCompany(); + + /** + * 获取当前登录用户所属部门 + * + * @return Dept + */ + @GetMapping(CURRENT_USER_DEPT) + R getCurrentUserDept(); + /** * 获取岗位 * diff --git a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java index 47e40d7..8ab4971 100644 --- a/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java +++ b/blade-service-api/blade-system-api/src/main/java/org/springblade/system/feign/ISysClientFallback.java @@ -74,6 +74,16 @@ public class ISysClientFallback implements ISysClient { return R.fail("获取数据失败"); } + @Override + public R getCurrentUserCompany() { + return R.fail("获取数据失败"); + } + + @Override + public R getCurrentUserDept() { + return R.fail("获取数据失败"); + } + @Override public R getPost(Long id) { return R.fail("获取数据失败"); diff --git a/blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java b/blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java index 0c12f90..e44d92f 100644 --- a/blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java +++ b/blade-service/blade-system/src/main/java/org/springblade/system/feign/SysClient.java @@ -26,8 +26,10 @@ package org.springblade.system.feign; import lombok.AllArgsConstructor; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tenant.annotation.NonDS; import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.Func; import org.springblade.system.pojo.entity.*; import org.springblade.system.service.*; import org.springframework.web.bind.annotation.GetMapping; @@ -103,6 +105,52 @@ public class SysClient implements ISysClient { return R.data(deptService.getDeptChild(deptId)); } + @Override + @GetMapping(CURRENT_USER_COMPANY) + public R getCurrentUserCompany() { + Long deptId = Func.firstLong(AuthUtil.getDeptId()); + if (Func.isEmpty(deptId)) { + return R.data(null); + } + Dept company = findCompanyByDeptId(deptId); + return R.data(company); + } + + @Override + @GetMapping(CURRENT_USER_DEPT) + public R getCurrentUserDept() { + Long deptId = Func.firstLong(AuthUtil.getDeptId()); + if (Func.isEmpty(deptId)) { + return R.data(null); + } + Dept dept = deptService.getById(deptId); + if (dept != null && Integer.valueOf(2).equals(dept.getDeptCategory())) { + return R.data(dept); + } + return R.data(null); + } + + /** + * 根据部门ID向上查找所属公司(dept_category = 1) + * + * @param deptId 部门ID + * @return 公司信息 + */ + private Dept findCompanyByDeptId(Long deptId) { + Dept current = deptService.getById(deptId); + while (current != null) { + if (Integer.valueOf(1).equals(current.getDeptCategory())) { + return current; + } + Long parentId = current.getParentId(); + if (Func.isEmpty(parentId) || parentId <= 0L) { + break; + } + current = deptService.getById(parentId); + } + return null; + } + @Override public R getPost(Long id) { return R.data(postService.getById(id));