Explorar o código

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

疯狂的狮子Li hai 1 ano
pai
achega
d89f147c54

+ 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;
     }
 
     /**