1
xieb
2023-04-24 58e55e70a4760f7c1a6ea50db49b819da6dd0e62
skjcmanager/skjcmanager-auth/src/main/java/cn/gistack/auth/service/BladeUserDetailsServiceImpl.java
@@ -17,6 +17,10 @@
package cn.gistack.auth.service;
import cn.gistack.auth.constant.AuthConstant;
import cn.gistack.sm.sjztmd.entity.AttResManagePerson;
import cn.gistack.sm.sjztmd.feign.IAttResManagePersonClient;
import cn.gistack.system.entity.Dept;
import cn.gistack.system.entity.Role;
import com.alibaba.nacos.common.utils.StringUtils;
import io.jsonwebtoken.Claims;
import lombok.AllArgsConstructor;
@@ -57,6 +61,8 @@
   public static final String FAIL_COUNT_VALUE = "account.failCount";
   private final IUserClient userClient;
   private final IAttResManagePersonClient attResManagePersonClient;
   private final ISysClient sysClient;
   private final BladeRedis bladeRedis;
@@ -146,6 +152,21 @@
            }
            user.setRoleId(headerRole);
         }
         //拼接用户所属行政区划、责任人需要返回水库ids
         R<AttResManagePerson> attRes = attResManagePersonClient.queryListByPhone(user.getPhone());
         userInfo.getDetail().set("resIds",attRes.getData());
         String deptStr = "";
         if (userInfo.getUser().getDeptId().indexOf(",") > 0)
            deptStr = userInfo.getUser().getDeptId().split(",")[0];
         R<Dept> deptRes = sysClient.getDept(Long.valueOf(deptStr));
         if (StringUtil.isBlank(deptRes.getData().getAdCode()))
            // 部门为空
            throw new UsernameNotFoundException("没有找到有效组织机构~");
         else
            userInfo.getDetail().set("adCodeBase",attResManagePersonClient.getAdBaseById(deptRes.getData().getAdCode()).getData());
         // 成功则清除登录错误次数
         delFailCount(tenantId, username);
         return new BladeUserDetails(user.getId(),