ke
2024-04-18 2328cac73e48d2704e4a72b989bccaa33d3d031f
skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -20,7 +20,7 @@
import cn.gistack.common.utils.Base64Utils;
import cn.gistack.pwd.dto.CBCResultDTO;
import cn.gistack.pwd.dto.ResultDTO;
import cn.gistack.pwd.fegin.IPwdClient;
//import cn.gistack.pwd.fegin.IPwdClient;
import cn.gistack.sm.collect.feign.ICollectClient;
import cn.gistack.sm.collect.feign.ICollectClientFallback;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
@@ -78,7 +78,7 @@
   private final ICollectClient collectClient;
   private final IPwdClient pwdClient;
//   private final IPwdClient pwdClient;
   @Override
   @SneakyThrows
@@ -166,13 +166,23 @@
            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,26 +190,34 @@
            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字符串
         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 JSONstr = Base64Utils.getBase64Decode(encryptRes.getData().getData());
//
//         //解码Base64
//         String base64Decode = Base64Utils.getBase64Decode(encryptRes.getData().getData());
//         pwdClient.verify(loginUserInfo.getMaced(),loginUserInfo.getSm4iv(),loginUserInfo.getKeyindexs(),JSONstr,loginUserInfo.getId().toString(),"blade_user");
//
//         UserSUPO userSUPO = JSONObject.parseObject(base64Decode, UserSUPO.class);
//         UserSUPO userSUPO = JSONObject.parseObject(JSONstr, UserSUPO.class);
//
//         //若登录用户的电话、角色、部门与原加密数据不符,登录失败
//         if (!(loginUserInfo.getPhone().equals(userSUPO.getPhone())  && loginUserInfo.getRoleId().equals(userSUPO.getRoleId())  && loginUserInfo.getDeptId().equals(userSUPO.getDeptId())) ){