xieb
2023-08-10 a5c00a1316fe9922ff87bf07a5e42c238a07d070
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.collect.feign.ICollectClient;
import cn.gistack.sm.collect.feign.ICollectClientFallback;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient;
import cn.gistack.system.entity.Dept;
@@ -66,6 +68,8 @@
   private final BladeRedis bladeRedis;
   private final JwtProperties jwtProperties;
   private final ICollectClient collectClient;
   @Override
   @SneakyThrows
@@ -127,7 +131,7 @@
         // 用户不存在,但提示用户名与密码错误并锁定账号
         if (user == null || user.getId() == null) {
            setFailCount(tenantId, username, count);
            throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND);
            throw new UserDeniedAuthorizationException(TokenUtil.USER_NOT_FOUND);
         }
         // 用户角色不存在
         if (Func.isEmpty(userInfo.getRoles())) {
@@ -147,8 +151,12 @@
         }
         //拼接用户所属行政区划、责任人需要返回水库ids
         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());
         }
         String deptStr = "";
         if (userInfo.getUser().getDeptId().indexOf(",") > 0){
@@ -157,11 +165,18 @@
            deptStr = userInfo.getUser().getDeptId();
         }
         R<Dept> deptRes = sysClient.getDept(Long.valueOf(deptStr));
         if (StringUtil.isBlank(deptRes.getData().getAdCode()))
         if (StringUtil.isBlank(deptRes.getData().getAdCode())) {
            // 部门为空
            throw new UsernameNotFoundException("没有找到有效组织机构~");
         else
//            throw new UserDeniedAuthorizationException("没有找到有效组织机构~");
            userInfo.getDetail().set("adCodeBase", "");
            userInfo.getDetail().set("parentDept",0);
         } 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);
         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),