From cb9fbcd27a288d0c61d85fa13ff5fc8eb1f4deab Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期六, 18 三月 2023 16:44:56 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/service/sys/TokenService.java |   43 ++++++++++++++++++++++++++++++-------------
 1 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/src/main/java/com/lf/server/service/sys/TokenService.java b/src/main/java/com/lf/server/service/sys/TokenService.java
index 244a80c..2763157 100644
--- a/src/main/java/com/lf/server/service/sys/TokenService.java
+++ b/src/main/java/com/lf/server/service/sys/TokenService.java
@@ -27,9 +27,6 @@
 @Service
 public class TokenService implements TokenMapper {
     @Autowired
-    public RedisService redisService;
-
-    @Autowired
     TokenMapper tokenMapper;
 
     @Autowired
@@ -38,13 +35,20 @@
     @Autowired
     LoginService loginService;
 
+    @Autowired
+    RedisService redisService;
+
     @Override
     public Integer selectCount(String name, Integer type) {
+        name = StringHelper.getLikeStr(name);
+
         return tokenMapper.selectCount(name, type);
     }
 
     @Override
     public List<TokenEntity> selectByPage(String name, Integer type, Integer limit, Integer offset) {
+        name = StringHelper.getLikeStr(name);
+
         return tokenMapper.selectByPage(name, type, limit, offset);
     }
 
@@ -96,14 +100,15 @@
     /**
      * 鑾峰彇鏂扮殑浠ょ墝瀹炰綋绫�
      */
-    public TokenEntity getNewToken(int userid, HttpServletRequest req) {
+    public TokenEntity getNewToken(UserEntity ue, HttpServletRequest req) {
         TokenEntity te = new TokenEntity();
         te.setToken(WebHelper.getGuid());
         te.setDuration(SettingData.TOKEN_EXPIRE);
         te.setExpire(WebHelper.getTimestamp(SettingData.TOKEN_EXPIRE));
         te.setType(0);
         te.setIp(WebHelper.getIpAddress(req));
-        te.setCreateUser(userid);
+        te.setCreateUser(ue.getId());
+        te.setUname(ue.getUname());
 
         return te;
     }
@@ -145,6 +150,12 @@
         // 娓呴櫎Cookie
         WebHelper.deleteCookies(req, res);
 
+        // 鑾峰彇褰撳墠鐢ㄦ埛
+        UserEntity ue = getCurrentUser(req);
+        if (ue == null) {
+            return false;
+        }
+
         // 娓呴櫎缂撳瓨
         String tokenKey = RedisCacheKey.signTokenKey(token);
         if (redisService.hasKey(tokenKey)) {
@@ -153,12 +164,6 @@
         String userKey = RedisCacheKey.signUserKey(te.getToken());
         if (redisService.hasKey(userKey)) {
             redisService.delete(userKey);
-        }
-
-        // 鑾峰彇褰撳墠鐢ㄦ埛
-        UserEntity ue = getCurrentUser(req);
-        if (ue == null) {
-            return false;
         }
 
         // db锛岃缃护鐗岃繃鏈�
@@ -187,7 +192,7 @@
 
         // redis
         Object obj = redisService.get(tokenKey);
-        if (obj != null && obj instanceof TokenEntity) {
+        if (obj instanceof TokenEntity) {
             return (TokenEntity) obj;
         }
 
@@ -229,7 +234,7 @@
 
         // redis
         Object obj = redisService.get(userKey);
-        if (obj != null && obj instanceof UserEntity) {
+        if (obj instanceof UserEntity) {
             return (UserEntity) obj;
         }
 
@@ -254,6 +259,18 @@
 
         int count = objCount == null ? 1 : (int) objCount + 1;
         redisService.put(key, count, SettingData.PWD_ERR_TIME, TimeUnit.MINUTES);
+
+        // 璁板綍鏃ュ織
+        HttpServletRequest req = WebHelper.getRequest();
+        LoginEntity le = loginService.getNewLogin(ue.getId(), 1, 1, 0, req);
+        le.setDescr("瀵嗙爜涓嶆纭�");
+        loginService.insertLogin(le);
+
+        if (count >= SettingData.PWD_ERR_COUNT) {
+            String token = WebHelper.getToken(req);
+            HttpServletResponse res = WebHelper.getResponse();
+            logout(token, req, res);
+        }
     }
 
     /**

--
Gitblit v1.9.3