From f5a4fe061e4fb569ac21612268cdf52a1b21d54d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 24 Apr 2023 11:21:26 +0800
Subject: [PATCH] 多机构登录逻辑优化
---
skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java b/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
index f9ac1a3..eac289b 100644
--- a/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
+++ b/skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -157,8 +157,18 @@
R<AttResManagePerson> attRes = attResManagePersonClient.queryListByPhone(user.getPhone());
userInfo.getDetail().set("resIds",attRes.getData());
- R<Dept> deptRes = sysClient.getDept(Long.valueOf(userInfo.getUser().getDeptId()));
- userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData());
+ String deptStr = "";
+ if (userInfo.getUser().getDeptId().indexOf(",") > 0){
+ deptStr = userInfo.getUser().getDeptId().split(",")[0];
+ }else {
+ deptStr = userInfo.getUser().getDeptId();
+ }
+ R<Dept> deptRes = sysClient.getDept(Long.valueOf(deptStr));
+ if (StringUtil.isBlank(deptRes.getData().getAdCode()))
+ // 部门为空
+ throw new UsernameNotFoundException("没有找到有效组织机构~");
+ else
+ userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData());
// 成功则清除登录错误次数
delFailCount(tenantId, username);
--
Gitblit v1.9.3