From ce4a770744d7a0b4e4ea3b5101556b94e72bdf1c Mon Sep 17 00:00:00 2001
From: lidongdong <1459917685@qq.com>
Date: 星期二, 14 十一月 2023 17:49:20 +0800
Subject: [PATCH] 修改打卡

---
 springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java |   24 ++++++++++++++++++++++--
 1 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java
index 8b7572f..9de87c6 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/auth/src/main/java/com/panzhihua/auth/handel/UserAuthenticationProvider.java
@@ -13,7 +13,9 @@
 import javax.crypto.NoSuchPaddingException;
 
 import com.panzhihua.auth.config.MyAESUtil;
+import com.panzhihua.common.constants.Constants;
 import com.panzhihua.common.model.helper.AESUtil;
+import com.panzhihua.common.service.community.CommunityService;
 import com.panzhihua.common.utlis.AES;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.RedisTemplate;
@@ -34,6 +36,8 @@
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.service.user.UserService;
 
+import static java.util.Objects.nonNull;
+
 /**
  * @program: springcloud_k8s_panzhihuazhihuishequ
  * @description: 登录认证
@@ -46,6 +50,8 @@
     private UserService userService;
     @Resource
     private RedisTemplate redisTemplate;
+    @Resource
+    private CommunityService communityService;
 
     private static String LOGIN_FAIL="LOGIN_FAIL_";
 
@@ -64,8 +70,8 @@
             if(flag){
                 Integer time= (Integer) redisTemplate.opsForValue().get(LOGIN_FAIL+userName);
                 if(time>=5){
-                    redisTemplate.opsForValue().set(LOGIN_FAIL+userName,5, Duration.ofMinutes(5));
-                    throw new LockedException("登录错误超过限制,请五分钟后重试");
+                    redisTemplate.opsForValue().set(LOGIN_FAIL+userName,5);
+                    throw new LockedException("登录错误超过限制,账号已被锁定");
                 }
             }
             // 查询用户是否存在
@@ -97,6 +103,13 @@
             }
             // 维护最后登录时间
             userService.putUserLastLoginTime(loginUserInfoVO.getUserId());
+            //是否为专家登陆
+            if (nonNull(loginUserInfoVO.getPhone())){
+                R r1 = communityService.isExpert(loginUserInfoVO.getPhone());
+                if (r1.getCode()== Constants.SUCCESS){
+                    loginUserInfoVO.setType(13);
+                }
+            }
             return new UsernamePasswordAuthenticationToken(loginUserInfoVO, password, grantedAuthorityList);
         }
         else {
@@ -126,6 +139,13 @@
             }
             // 维护最后登录时间
             userService.putUserLastLoginTime(loginUserInfoVO.getUserId());
+            //是否为专家登陆
+            if (nonNull(loginUserInfoVO.getPhone())){
+                R r1 = communityService.isExpert(loginUserInfoVO.getPhone());
+                if (r1.getCode() == Constants.SUCCESS){
+                    loginUserInfoVO.setType(13);
+                }
+            }
             return new UsernamePasswordAuthenticationToken(loginUserInfoVO, password, grantedAuthorityList);
 
         }

--
Gitblit v1.7.1