From 049fe83cdca8aa057bdd4a71e7bb926677c3904d Mon Sep 17 00:00:00 2001 From: wuzongyong <13203449218@163.com> Date: Wed, 28 Jan 2026 11:44:53 +0800 Subject: [PATCH] =?UTF-8?q?refactor(tenant):=20=E7=A7=BB=E9=99=A4=E9=83=A8?= =?UTF-8?q?=E9=97=A8ID=E5=9B=9E=E9=80=80=E9=80=BB=E8=BE=91=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 删除了从登录用户info中解析部门ID的复杂逻辑 - 移除了对LoginUser.INFO_KEY_DEPT_IDS和相关公司信息的存储 - 简化了部门ID的获取流程,只保留请求头、请求属性和登录缓存的回退顺序 - 减少了不必要的JSON解析操作,提高性能 - 清理了相关的异常处理代码 --- .../web/CompanyVisitContextInterceptor.java | 19 ------------------- .../oauth2/OAuth2TokenServiceImpl.java | 3 --- 2 files changed, 22 deletions(-) diff --git a/zt-framework/zt-spring-boot-starter-biz-tenant/src/main/java/com/zt/plat/framework/tenant/core/web/CompanyVisitContextInterceptor.java b/zt-framework/zt-spring-boot-starter-biz-tenant/src/main/java/com/zt/plat/framework/tenant/core/web/CompanyVisitContextInterceptor.java index 99336abf..56302390 100644 --- a/zt-framework/zt-spring-boot-starter-biz-tenant/src/main/java/com/zt/plat/framework/tenant/core/web/CompanyVisitContextInterceptor.java +++ b/zt-framework/zt-spring-boot-starter-biz-tenant/src/main/java/com/zt/plat/framework/tenant/core/web/CompanyVisitContextInterceptor.java @@ -47,31 +47,12 @@ public class CompanyVisitContextInterceptor implements HandlerInterceptor { } Long deptId = WebFrameworkUtils.getDeptId(request); - // 部门信息同样遵循"请求头 -> 请求属性 -> 登录缓存"的回退顺序 if (deptId == null || deptId <= 0L) { Long attrDeptId = resolveLong(request.getAttribute(WebFrameworkUtils.HEADER_VISIT_DEPT_ID)); if (attrDeptId != null && attrDeptId > 0L) { deptId = attrDeptId; } else if (loginUser != null && loginUser.getVisitDeptId() != null && loginUser.getVisitDeptId() > 0L) { deptId = loginUser.getVisitDeptId(); - } else if (loginUser != null) { - // 如果以上都没有,尝试从用户info中获取第一个部门作为默认值 - Map info = loginUser.getInfo(); - if (info != null) { - String deptIdsStr = info.get(LoginUser.INFO_KEY_DEPT_IDS); - if (deptIdsStr != null && !deptIdsStr.isEmpty() && !"[]".equals(deptIdsStr)) { - try { - // 解析JSON数组,取第一个部门ID - deptIdsStr = deptIdsStr.trim(); - if (deptIdsStr.startsWith("[") && deptIdsStr.length() > 2) { - String firstId = deptIdsStr.substring(1, deptIdsStr.indexOf(']')).split(",")[0].trim(); - deptId = Long.parseLong(firstId); - } - } catch (Exception e) { - log.warn("[CompanyVisitContextInterceptor][解析用户默认部门失败: {}]", deptIdsStr, e); - } - } - } } } diff --git a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/oauth2/OAuth2TokenServiceImpl.java b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/oauth2/OAuth2TokenServiceImpl.java index 22e27de8..33552e9f 100644 --- a/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/oauth2/OAuth2TokenServiceImpl.java +++ b/zt-module-system/zt-module-system-server/src/main/java/com/zt/plat/module/system/service/oauth2/OAuth2TokenServiceImpl.java @@ -205,9 +205,6 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { .put(LoginUser.INFO_KEY_PHONE, user.getMobile()) .put(LoginUser.INFO_KEY_WORK_CODE, user.getWorkcode()) .put(LoginUser.INFO_KEY_POST_IDS, CollUtil.isEmpty(user.getPostIds()) ? "[]" : JsonUtils.toJsonString(user.getPostIds())) - .put(LoginUser.INFO_KEY_DEPT_IDS, CollUtil.isEmpty(user.getDeptIds()) ? "[]" : JsonUtils.toJsonString(user.getDeptIds())) - .put(LoginUser.INFO_KEY_COMPANY_IDS, CollUtil.isEmpty(user.getCompanyIds()) ? "[]" : JsonUtils.toJsonString(user.getCompanyIds())) - .put(LoginUser.INFO_KEY_COMPANY_DEPT_SET, CollUtil.isEmpty(user.getCompanyDeptInfos()) ? "[]" : JsonUtils.toJsonString(user.getCompanyDeptInfos())) .build(); } else if (userType.equals(UserTypeEnum.MEMBER.getValue())) { // 注意:目前 Member 暂时不读取,可以按需实现