From 8fc0e15e7f70505765b654731877202925e3777e Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 15 Apr 2024 13:56:17 +0800
Subject: [PATCH] 用户添加水库堤防标识

---
 skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 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..c9f1f71 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
@@ -166,6 +166,8 @@
 				userInfo.getDetail().set("resIds",attRes.getData());
 			}
 
+			//返回手机号
+			userInfo.getDetail().set("phone",Base64Utils.getBase64Encode(user.getPhone()));
 
 			String deptStr = "";
 			if (userInfo.getUser().getDeptId().indexOf(",") > 0){
@@ -180,10 +182,16 @@
 				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);
 
@@ -197,9 +205,11 @@
 			}
 
 			//解码Base64
-			String base64Decode = Base64Utils.getBase64Decode(encryptRes.getData().getData());
+			String JSONstr = Base64Utils.getBase64Decode(encryptRes.getData().getData());
 
-			UserSUPO userSUPO = JSONObject.parseObject(base64Decode, UserSUPO.class);
+			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())) ){

--
Gitblit v1.9.3