From 41d53f6e09c11c2c6d29958c42feb6dad9bbcb02 Mon Sep 17 00:00:00 2001
From: ke <893754509@qq.com>
Date: Fri, 20 Dec 2024 15:28:27 +0800
Subject: [PATCH] 白蚁新模块。12-20

---
 skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java |   68 +++++++++++++++++++++------------
 1 files changed, 43 insertions(+), 25 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 c8927ea..f760b50 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
@@ -160,19 +160,29 @@
 			}
 
 			//拼接用户所属行政区划、责任人需要返回水库ids
-			userInfo.getDetail().set("resIds","");
-			if (StringUtil.isNotBlank(user.getPhone())) {
-				R<AttResManagePerson> attRes = attResManagePersonClient.queryListByPhone(user.getPhone());
-				userInfo.getDetail().set("resIds",attRes.getData());
-			}
+//			userInfo.getDetail().set("resIds","");
+//			if (StringUtil.isNotBlank(user.getPhone())) {
+//				R<AttResManagePerson> attRes = attResManagePersonClient.queryListByPhone(user.getPhone());
+//				userInfo.getDetail().set("resIds",attRes.getData());
+//			}
 
+			//返回手机号
+			userInfo.getDetail().set("phone",Base64Utils.getBase64Encode(user.getPhone()));
 
 			String deptStr = "";
-			if (userInfo.getUser().getDeptId().indexOf(",") > 0){
-				deptStr = userInfo.getUser().getDeptId().split(",")[0];
+
+			String deptIds = userInfo.getUser().getDeptId();
+			if (deptIds.indexOf(",") > 0){
+				deptStr = deptIds.split(",")[0];
 			}else {
-				deptStr = userInfo.getUser().getDeptId();
+				deptStr = deptIds;
 			}
+
+			String resDeptIds = "";
+
+			resDeptIds = sysClient.getResDept(deptIds);
+			userInfo.getDetail().set("resDeptIds",resDeptIds);
+
 			R<Dept> deptRes = sysClient.getDept(Long.valueOf(deptStr));
 			if (StringUtil.isBlank(deptRes.getData().getAdCode())) {
 				// 部门为空
@@ -180,31 +190,39 @@
 				userInfo.getDetail().set("adCodeBase", "");
 				userInfo.getDetail().set("parentDept",0);
 			} else {
-				userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData());
+				//根据用户标识类型判断是水库还是堤防
+				if (user.getType().equals("堤防")){
+					//堤防需要从自己的库中获取行政区划
+					userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getYwxtAdBaseById(deptRes.getData().getAdCode()).getData());
+				}else{
+					//水库从中台表中获取行政区划
+					userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData());
+				}
 				userInfo.getDetail().set("parentDept",deptRes.getData().getParentId());
 			}
-
 			String collectResIds = collectClient.getMyCollect(user.getId().toString());
 			userInfo.getDetail().set("collect",collectResIds);
 
 			User loginUserInfo = userInfo.getUser();
 
 			//获取解密后的Base64字符串
-			R<ResultDTO> encryptRes = pwdClient.getDecrypt(loginUserInfo.getSm4iv(), loginUserInfo.getKeyindexs(),loginUserInfo.getEncdata());
-
-			if (encryptRes.getCode() != 200){
-				throw new UserDeniedAuthorizationException("获取密钥失败");
-			}
-
-			//解码Base64
-			String base64Decode = Base64Utils.getBase64Decode(encryptRes.getData().getData());
-
-			UserSUPO userSUPO = JSONObject.parseObject(base64Decode, UserSUPO.class);
-
-			//若登录用户的电话、角色、部门与原加密数据不符,登录失败
-			if (!(loginUserInfo.getPhone().equals(userSUPO.getPhone())  && loginUserInfo.getRoleId().equals(userSUPO.getRoleId())  && loginUserInfo.getDeptId().equals(userSUPO.getDeptId())) ){
-				throw new UserDeniedAuthorizationException("用户信息异常,请联系管理员");
-			}
+//			R<ResultDTO> encryptRes = pwdClient.getDecrypt(loginUserInfo.getSm4iv(), loginUserInfo.getKeyindexs(),loginUserInfo.getEncdata());
+//
+//			if (encryptRes.getCode() != 200){
+//				throw new UserDeniedAuthorizationException("获取密钥失败");
+//			}
+//
+//			//解码Base64
+//			String JSONstr = Base64Utils.getBase64Decode(encryptRes.getData().getData());
+//
+//			pwdClient.verify(loginUserInfo.getMaced(),loginUserInfo.getSm4iv(),loginUserInfo.getKeyindexs(),JSONstr,loginUserInfo.getId().toString(),"blade_user");
+//
+//			UserSUPO userSUPO = JSONObject.parseObject(JSONstr, UserSUPO.class);
+//
+//			//若登录用户的电话、角色、部门与原加密数据不符,登录失败
+//			if (!(loginUserInfo.getPhone().equals(userSUPO.getPhone())  && loginUserInfo.getRoleId().equals(userSUPO.getRoleId())  && loginUserInfo.getDeptId().equals(userSUPO.getDeptId())) ){
+//				throw new UserDeniedAuthorizationException("用户信息异常,请联系管理员");
+//			}
 
 			return new BladeUserDetails(user.getId(),
 				user.getTenantId(), StringPool.EMPTY, user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(userInfo.getRoles()), Func.toStr(user.getAvatar(), TokenUtil.DEFAULT_AVATAR),

--
Gitblit v1.9.3