diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java index 733d26bf..09545e58 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDao.java @@ -170,9 +170,11 @@ public interface SaTokenDao { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return 查询到的数据集合 */ - public List searchData(String prefix, String keyword, int start, int size); + public List searchData(String prefix, String keyword, int start, int size, boolean sortType); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java index c81c10c0..cc45b39f 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/dao/SaTokenDaoDefaultImpl.java @@ -240,8 +240,8 @@ public class SaTokenDaoDefaultImpl implements SaTokenDao { // --------------------- 会话管理 @Override - public List searchData(String prefix, String keyword, int start, int size) { - return SaFoxUtil.searchList(expireMap.keySet(), prefix, keyword, start, size); + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { + return SaFoxUtil.searchList(expireMap.keySet(), prefix, keyword, start, size, sortType); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java index bfa08f8b..083d6330 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpLogic.java @@ -1499,10 +1499,12 @@ public class StpLogic { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return token集合 */ - public List searchTokenValue(String keyword, int start, int size) { - return getSaTokenDao().searchData(splicingKeyTokenValue(""), keyword, start, size); + public List searchTokenValue(String keyword, int start, int size, boolean sortType) { + return getSaTokenDao().searchData(splicingKeyTokenValue(""), keyword, start, size, sortType); } /** @@ -1510,10 +1512,12 @@ public class StpLogic { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public List searchSessionId(String keyword, int start, int size) { - return getSaTokenDao().searchData(splicingKeySession(""), keyword, start, size); + public List searchSessionId(String keyword, int start, int size, boolean sortType) { + return getSaTokenDao().searchData(splicingKeySession(""), keyword, start, size, sortType); } /** @@ -1521,10 +1525,12 @@ public class StpLogic { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public List searchTokenSessionId(String keyword, int start, int size) { - return getSaTokenDao().searchData(splicingKeyTokenSession(""), keyword, start, size); + public List searchTokenSessionId(String keyword, int start, int size, boolean sortType) { + return getSaTokenDao().searchData(splicingKeyTokenSession(""), keyword, start, size, sortType); } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java index 3e24922f..b631c6a4 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/stp/StpUtil.java @@ -692,10 +692,12 @@ public class StpUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return token集合 */ - public static List searchTokenValue(String keyword, int start, int size) { - return stpLogic.searchTokenValue(keyword, start, size); + public static List searchTokenValue(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchTokenValue(keyword, start, size, sortType); } /** @@ -703,10 +705,12 @@ public class StpUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public static List searchSessionId(String keyword, int start, int size) { - return stpLogic.searchSessionId(keyword, start, size); + public static List searchSessionId(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchSessionId(keyword, start, size, sortType); } /** @@ -714,10 +718,12 @@ public class StpUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public static List searchTokenSessionId(String keyword, int start, int size) { - return stpLogic.searchTokenSessionId(keyword, start, size); + public static List searchTokenSessionId(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchTokenSessionId(keyword, start, size, sortType); } @@ -920,5 +926,50 @@ public class StpUtil { public static void logoutByLoginId(Object loginId, String device) { stpLogic.kickout(loginId, device); } + + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenValue(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询Token + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return token集合 + */ + @Deprecated + public static List searchTokenValue(String keyword, int start, int size) { + return stpLogic.searchTokenValue(keyword, start, size, true); + } + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchSessionId(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询SessionId + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return sessionId集合 + */ + @Deprecated + public static List searchSessionId(String keyword, int start, int size) { + return stpLogic.searchSessionId(keyword, start, size, true); + } + + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenSessionId(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询Token专属Session的Id + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return sessionId集合 + */ + @Deprecated + public static List searchTokenSessionId(String keyword, int start, int size) { + return stpLogic.searchTokenSessionId(keyword, start, size, true); + } + } diff --git a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaFoxUtil.java b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaFoxUtil.java index cf259aaa..d0fcdb74 100644 --- a/sa-token-core/src/main/java/cn/dev33/satoken/util/SaFoxUtil.java +++ b/sa-token-core/src/main/java/cn/dev33/satoken/util/SaFoxUtil.java @@ -6,6 +6,7 @@ import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.Date; import java.util.Iterator; import java.util.List; @@ -111,10 +112,11 @@ public class SaFoxUtil { * @param keyword 关键字 * @param start 起始位置 (-1代表查询所有) * @param size 获取条数 + * @param sortType 排序类型(true=正序,false=反序) + * * @return 符合条件的新数据集合 */ - public static List searchList(Collection dataList, String prefix, String keyword, int start, - int size) { + public static List searchList(Collection dataList, String prefix, String keyword, int start, int size, boolean sortType) { if (prefix == null) { prefix = ""; } @@ -131,7 +133,7 @@ public class SaFoxUtil { } } // 取指定段数据 - return searchList(list, start, size); + return searchList(list, start, size, sortType); } /** @@ -140,9 +142,15 @@ public class SaFoxUtil { * @param list 数据集合 * @param start 起始位置 (-1代表查询所有) * @param size 获取条数 + * @param sortType 排序类型(true=正序,false=反序) + * * @return 符合条件的新数据集合 */ - public static List searchList(List list, int start, int size) { + public static List searchList(List list, int start, int size, boolean sortType) { + // 如果是反序的话 + if(sortType == false) { + Collections.reverse(list); + } // 取指定段数据 if (start < 0) { return list; diff --git a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/TestController.java b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/TestController.java index 64447907..8c9b4726 100644 --- a/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/TestController.java +++ b/sa-token-demo/sa-token-demo-solon/src/main/java/com/pj/test/TestController.java @@ -217,7 +217,7 @@ public class TestController { public AjaxJson search() { System.out.println("--------------"); Ttime t = new Ttime().start(); - List tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10); + List tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10, true); for (String v : tokenValue) { // SaSession session = StpUtil.getSessionBySessionId(sid); System.out.println(v); diff --git a/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/satoken/at/StpUserUtil.java b/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/satoken/at/StpUserUtil.java index eeb3945c..db173bd3 100644 --- a/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/satoken/at/StpUserUtil.java +++ b/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/satoken/at/StpUserUtil.java @@ -10,7 +10,7 @@ import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpLogic; /** - * Sa-Token 权限认证工具类 (user版) + * Sa-Token 权限认证工具类 (User版) * @author kong */ public class StpUserUtil { @@ -316,13 +316,23 @@ public class StpUserUtil { } /** - * 获取Token扩展信息(只在jwt模式下有效) + * 获取当前 Token 的扩展信息(此函数只在jwt模式下生效) * @param key 键值 * @return 对应的扩展数据 */ public static Object getExtra(String key) { return stpLogic.getExtra(key); } + + /** + * 获取指定 Token 的扩展信息(此函数只在jwt模式下生效) + * @param tokenValue 指定的 Token 值 + * @param key 键值 + * @return 对应的扩展数据 + */ + public static Object getExtra(String tokenValue, String key) { + return stpLogic.getExtra(tokenValue, key); + } // =================== User-Session 相关 =================== @@ -685,10 +695,12 @@ public class StpUserUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return token集合 */ - public static List searchTokenValue(String keyword, int start, int size) { - return stpLogic.searchTokenValue(keyword, start, size); + public static List searchTokenValue(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchTokenValue(keyword, start, size, sortType); } /** @@ -696,10 +708,12 @@ public class StpUserUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public static List searchSessionId(String keyword, int start, int size) { - return stpLogic.searchSessionId(keyword, start, size); + public static List searchSessionId(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchSessionId(keyword, start, size, sortType); } /** @@ -707,10 +721,12 @@ public class StpUserUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public static List searchTokenSessionId(String keyword, int start, int size) { - return stpLogic.searchTokenSessionId(keyword, start, size); + public static List searchTokenSessionId(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchTokenSessionId(keyword, start, size, sortType); } @@ -913,5 +929,50 @@ public class StpUserUtil { public static void logoutByLoginId(Object loginId, String device) { stpLogic.kickout(loginId, device); } + + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenValue(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询Token + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return token集合 + */ + @Deprecated + public static List searchTokenValue(String keyword, int start, int size) { + return stpLogic.searchTokenValue(keyword, start, size, true); + } + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchSessionId(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询SessionId + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return sessionId集合 + */ + @Deprecated + public static List searchSessionId(String keyword, int start, int size) { + return stpLogic.searchSessionId(keyword, start, size, true); + } + + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenSessionId(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询Token专属Session的Id + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return sessionId集合 + */ + @Deprecated + public static List searchTokenSessionId(String keyword, int start, int size) { + return stpLogic.searchTokenSessionId(keyword, start, size, true); + } + } diff --git a/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/test/TestController.java b/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/test/TestController.java index 0712eb2d..92096114 100644 --- a/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/test/TestController.java +++ b/sa-token-demo/sa-token-demo-springboot-redis/src/main/java/com/pj/test/TestController.java @@ -218,7 +218,7 @@ public class TestController { public AjaxJson search() { System.out.println("--------------"); Ttime t = new Ttime().start(); - List tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10); + List tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10, true); for (String v : tokenValue) { // SaSession session = StpUtil.getSessionBySessionId(sid); System.out.println(v); diff --git a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/satoken/at/StpUserUtil.java b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/satoken/at/StpUserUtil.java index eeb3945c..db173bd3 100644 --- a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/satoken/at/StpUserUtil.java +++ b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/satoken/at/StpUserUtil.java @@ -10,7 +10,7 @@ import cn.dev33.satoken.stp.SaTokenInfo; import cn.dev33.satoken.stp.StpLogic; /** - * Sa-Token 权限认证工具类 (user版) + * Sa-Token 权限认证工具类 (User版) * @author kong */ public class StpUserUtil { @@ -316,13 +316,23 @@ public class StpUserUtil { } /** - * 获取Token扩展信息(只在jwt模式下有效) + * 获取当前 Token 的扩展信息(此函数只在jwt模式下生效) * @param key 键值 * @return 对应的扩展数据 */ public static Object getExtra(String key) { return stpLogic.getExtra(key); } + + /** + * 获取指定 Token 的扩展信息(此函数只在jwt模式下生效) + * @param tokenValue 指定的 Token 值 + * @param key 键值 + * @return 对应的扩展数据 + */ + public static Object getExtra(String tokenValue, String key) { + return stpLogic.getExtra(tokenValue, key); + } // =================== User-Session 相关 =================== @@ -685,10 +695,12 @@ public class StpUserUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return token集合 */ - public static List searchTokenValue(String keyword, int start, int size) { - return stpLogic.searchTokenValue(keyword, start, size); + public static List searchTokenValue(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchTokenValue(keyword, start, size, sortType); } /** @@ -696,10 +708,12 @@ public class StpUserUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public static List searchSessionId(String keyword, int start, int size) { - return stpLogic.searchSessionId(keyword, start, size); + public static List searchSessionId(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchSessionId(keyword, start, size, sortType); } /** @@ -707,10 +721,12 @@ public class StpUserUtil { * @param keyword 关键字 * @param start 开始处索引 (-1代表查询所有) * @param size 获取数量 + * @param sortType 排序类型(true=正序,false=反序) + * * @return sessionId集合 */ - public static List searchTokenSessionId(String keyword, int start, int size) { - return stpLogic.searchTokenSessionId(keyword, start, size); + public static List searchTokenSessionId(String keyword, int start, int size, boolean sortType) { + return stpLogic.searchTokenSessionId(keyword, start, size, sortType); } @@ -913,5 +929,50 @@ public class StpUserUtil { public static void logoutByLoginId(Object loginId, String device) { stpLogic.kickout(loginId, device); } + + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenValue(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询Token + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return token集合 + */ + @Deprecated + public static List searchTokenValue(String keyword, int start, int size) { + return stpLogic.searchTokenValue(keyword, start, size, true); + } + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchSessionId(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询SessionId + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return sessionId集合 + */ + @Deprecated + public static List searchSessionId(String keyword, int start, int size) { + return stpLogic.searchSessionId(keyword, start, size, true); + } + + /** + *

本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenSessionId(keyword, start, size, sortType) ,使用方式保持不变

+ * + * 根据条件查询Token专属Session的Id + * @param keyword 关键字 + * @param start 开始处索引 (-1代表查询所有) + * @param size 获取数量 + * + * @return sessionId集合 + */ + @Deprecated + public static List searchTokenSessionId(String keyword, int start, int size) { + return stpLogic.searchTokenSessionId(keyword, start, size, true); + } + } diff --git a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/TestController.java b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/TestController.java index 0712eb2d..92096114 100644 --- a/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/TestController.java +++ b/sa-token-demo/sa-token-demo-springboot/src/main/java/com/pj/test/TestController.java @@ -218,7 +218,7 @@ public class TestController { public AjaxJson search() { System.out.println("--------------"); Ttime t = new Ttime().start(); - List tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10); + List tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10, true); for (String v : tokenValue) { // SaSession session = StpUtil.getSessionBySessionId(sid); System.out.println(v); diff --git a/sa-token-plugin/sa-token-dao-redis-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisJackson.java b/sa-token-plugin/sa-token-dao-redis-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisJackson.java index c3442149..98c3a2a4 100644 --- a/sa-token-plugin/sa-token-dao-redis-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisJackson.java +++ b/sa-token-plugin/sa-token-dao-redis-jackson/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisJackson.java @@ -271,10 +271,10 @@ public class SaTokenDaoRedisJackson implements SaTokenDao { * 搜索数据 */ @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Set keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*"); List list = new ArrayList(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } } diff --git a/sa-token-plugin/sa-token-dao-redis-string/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisString.java b/sa-token-plugin/sa-token-dao-redis-string/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisString.java index 2f849e93..9a588605 100644 --- a/sa-token-plugin/sa-token-dao-redis-string/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisString.java +++ b/sa-token-plugin/sa-token-dao-redis-string/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedisString.java @@ -226,10 +226,10 @@ public class SaTokenDaoRedisString implements SaTokenDao { * 搜索数据 */ @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Set keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*"); List list = new ArrayList(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } diff --git a/sa-token-plugin/sa-token-dao-redis/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedis.java b/sa-token-plugin/sa-token-dao-redis/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedis.java index 532f844d..a4bf7870 100644 --- a/sa-token-plugin/sa-token-dao-redis/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedis.java +++ b/sa-token-plugin/sa-token-dao-redis/src/main/java/cn/dev33/satoken/dao/SaTokenDaoRedis.java @@ -217,10 +217,10 @@ public class SaTokenDaoRedis implements SaTokenDao { * 搜索数据 */ @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Set keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*"); List list = new ArrayList(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } diff --git a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java index 34572a56..d499570a 100644 --- a/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java +++ b/sa-token-plugin/sa-token-dao-redisx/src/main/java/cn/dev33/satoken/dao/SaTokenDaoOfRedis.java @@ -177,9 +177,9 @@ public class SaTokenDaoOfRedis implements SaTokenDao { * 搜索数据 */ @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Set keys = redisBucket.keys(prefix + "*" + keyword + "*"); List list = new ArrayList(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } } \ No newline at end of file diff --git a/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForMixin.java b/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForMixin.java index 8aa555bb..d839e3aa 100644 --- a/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForMixin.java +++ b/sa-token-plugin/sa-token-jwt/src/main/java/cn/dev33/satoken/jwt/StpLogicJwtForMixin.java @@ -204,7 +204,7 @@ public class StpLogicJwtForMixin extends StpLogic { * [禁用] 根据条件查询Token */ @Override - public List searchTokenValue(String keyword, int start, int size) { + public List searchTokenValue(String keyword, int start, int size, boolean sortType) { throw new ApiDisabledException(); } diff --git a/sa-token-starter/sa-token-jboot-plugin/src/main/java/cn/dev33/satoken/jboot/SaTokenCacheDao.java b/sa-token-starter/sa-token-jboot-plugin/src/main/java/cn/dev33/satoken/jboot/SaTokenCacheDao.java index a95e6a25..65ff67c2 100644 --- a/sa-token-starter/sa-token-jboot-plugin/src/main/java/cn/dev33/satoken/jboot/SaTokenCacheDao.java +++ b/sa-token-starter/sa-token-jboot-plugin/src/main/java/cn/dev33/satoken/jboot/SaTokenCacheDao.java @@ -252,12 +252,12 @@ public class SaTokenCacheDao implements SaTokenDao { } @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Jedis jedis = saRedisCache.getJedis(); try { Set keys = jedis.keys(prefix + "*" + keyword + "*"); List list = new ArrayList(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } finally { saRedisCache.returnResource(jedis); } diff --git a/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenDaoRedis.java b/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenDaoRedis.java index 6ea97aff..99552212 100644 --- a/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenDaoRedis.java +++ b/sa-token-starter/sa-token-jfinal-plugin/src/main/java/cn/dev33/satoken/jfinal/SaTokenDaoRedis.java @@ -257,10 +257,10 @@ public class SaTokenDaoRedis implements SaTokenDao { * @return */ @Override - public List searchData(String prefix, String keyword, int start, int size) { + public List searchData(String prefix, String keyword, int start, int size, boolean sortType) { Set keys = redis.keys(prefix + "*" + keyword + "*"); List list = new ArrayList(keys); - return SaFoxUtil.searchList(list, start, size); + return SaFoxUtil.searchList(list, start, size, sortType); } public Jedis getJedis() { diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java b/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java index d7cca62c..8863da95 100644 --- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java +++ b/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java @@ -47,21 +47,21 @@ public class SaFoxUtilTest { List dataList = Arrays.asList("token1", "token2", "token3", "token4", "token5", "aaa1"); // 分页 - List list1 = SaFoxUtil.searchList(dataList, 1, 2); + List list1 = SaFoxUtil.searchList(dataList, 1, 2, true); Assertions.assertEquals(list1.size(), 2); Assertions.assertEquals(list1.get(0), "token2"); Assertions.assertEquals(list1.get(1), "token3"); // 前缀筛选 - List list2 = SaFoxUtil.searchList(dataList, "token", "", 0, 10); + List list2 = SaFoxUtil.searchList(dataList, "token", "", 0, 10, true); Assertions.assertEquals(list2.size(), 5); // 关键字筛选 - List list3 = SaFoxUtil.searchList(dataList, "", "1", 0, 10); + List list3 = SaFoxUtil.searchList(dataList, "", "1", 0, 10, true); Assertions.assertEquals(list3.size(), 2); // 综合筛选 - List list4 = SaFoxUtil.searchList(dataList, "token", "1", 0, 10); + List list4 = SaFoxUtil.searchList(dataList, "token", "1", 0, 10, true); Assertions.assertEquals(list4.size(), 1); } diff --git a/sa-token-test/sa-token-jwt-test/src/test/java/com/pj/test/JwtForMixinTest.java b/sa-token-test/sa-token-jwt-test/src/test/java/com/pj/test/JwtForMixinTest.java index ef6ed9e2..50701740 100644 --- a/sa-token-test/sa-token-jwt-test/src/test/java/com/pj/test/JwtForMixinTest.java +++ b/sa-token-test/sa-token-jwt-test/src/test/java/com/pj/test/JwtForMixinTest.java @@ -251,7 +251,7 @@ public class JwtForMixinTest { StpUtil.login(10005); // 查询 - List list = StpUtil.searchTokenValue("", 0, 10); + List list = StpUtil.searchTokenValue("", 0, 10, true); Assertions.assertTrue(list.size() >= 5); }); } diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java index a0dada01..a744ec8c 100644 --- a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java +++ b/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java @@ -316,7 +316,7 @@ public class BasicsTest { StpUtil.login(10005); // 查询 - List list = StpUtil.searchTokenValue("", 0, 10); + List list = StpUtil.searchTokenValue("", 0, 10, true); Assertions.assertTrue(list.size() >= 5); }