소스 검색

fix 修复 临时解决sa-token使用秒 redis是毫秒导致1秒的精度问题 手动补偿(等satoken官方修复)

疯狂的狮子Li 1 년 전
부모
커밋
d89f147c54
1개의 변경된 파일4개의 추가작업 그리고 2개의 파일을 삭제
  1. 4 2
      ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java

+ 4 - 2
ruoyi-common/ruoyi-common-satoken/src/main/java/org/dromara/common/satoken/core/dao/PlusSaTokenDao.java

@@ -85,7 +85,8 @@ public class PlusSaTokenDao implements SaTokenDao {
     @Override
     public long getTimeout(String key) {
         long timeout = RedisUtils.getTimeToLive(key);
-        return timeout < 0 ? timeout : timeout / 1000;
+        // 加1的目的 解决sa-token使用秒 redis是毫秒导致1秒的精度问题 手动补偿
+        return timeout < 0 ? timeout : timeout / 1000 + 1;
     }
 
     /**
@@ -152,7 +153,8 @@ public class PlusSaTokenDao implements SaTokenDao {
     @Override
     public long getObjectTimeout(String key) {
         long timeout = RedisUtils.getTimeToLive(key);
-        return timeout < 0 ? timeout : timeout / 1000;
+        // 加1的目的 解决sa-token使用秒 redis是毫秒导致1秒的精度问题 手动补偿
+        return timeout < 0 ? timeout : timeout / 1000 + 1;
     }
 
     /**