| | |
| | | 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())) { |
| | | // 部门为空 |
| | |
| | | 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("用户信息异常,请联系管理员"); |
| | | // } |
| | | 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()); |
| | | |
| | | 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), |