From 58e55e70a4760f7c1a6ea50db49b819da6dd0e62 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Mon, 24 Apr 2023 11:12:32 +0800
Subject: [PATCH] 1

---
 skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 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 38e92ea..5ca7780 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
@@ -17,6 +17,8 @@
 package cn.gistack.auth.service;
 
 import cn.gistack.auth.constant.AuthConstant;
+import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
+import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient;
 import cn.gistack.system.entity.Dept;
 import cn.gistack.system.entity.Role;
 import com.alibaba.nacos.common.utils.StringUtils;
@@ -59,6 +61,8 @@
 	public static final String FAIL_COUNT_VALUE = "account.failCount";
 
 	private final IUserClient userClient;
+
+	private final IAttResManagePersonClient attResManagePersonClient;
 	private final ISysClient sysClient;
 
 	private final BladeRedis bladeRedis;
@@ -149,15 +153,19 @@
 				user.setRoleId(headerRole);
 			}
 
-			R<Role> roleRes = sysClient.getRole(Long.parseLong(user.getRoleId()));
-			if (roleRes.isSuccess()){
-				userInfo.getDetail().set("roleName",roleRes.getData().getRoleName());
-			}
+			//拼接用户所属行政区划、责任人需要返回水库ids
+			R<AttResManagePerson> attRes = attResManagePersonClient.queryListByPhone(user.getPhone());
+			userInfo.getDetail().set("resIds",attRes.getData());
 
-			R<Dept> deptRes = sysClient.getDept(Long.parseLong(user.getDeptId()));
-			if (deptRes.isSuccess()){
-				userInfo.getDetail().set("deptName",deptRes.getData().getFullName());
-			}
+			String deptStr = "";
+			if (userInfo.getUser().getDeptId().indexOf(",") > 0)
+				deptStr = userInfo.getUser().getDeptId().split(",")[0];
+			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