会话查询API增加反序获取会话方式

This commit is contained in:
click33
2022-08-10 06:50:43 +08:00
parent 664312972a
commit 08ba8a0b52
20 changed files with 246 additions and 57 deletions

View File

@@ -170,9 +170,11 @@ public interface SaTokenDao {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return 查询到的数据集合 * @return 查询到的数据集合
*/ */
public List<String> searchData(String prefix, String keyword, int start, int size); public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType);
} }

View File

@@ -240,8 +240,8 @@ public class SaTokenDaoDefaultImpl implements SaTokenDao {
// --------------------- 会话管理 // --------------------- 会话管理
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
return SaFoxUtil.searchList(expireMap.keySet(), prefix, keyword, start, size); return SaFoxUtil.searchList(expireMap.keySet(), prefix, keyword, start, size, sortType);
} }

View File

@@ -1499,10 +1499,12 @@ public class StpLogic {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return token集合 * @return token集合
*/ */
public List<String> searchTokenValue(String keyword, int start, int size) { public List<String> searchTokenValue(String keyword, int start, int size, boolean sortType) {
return getSaTokenDao().searchData(splicingKeyTokenValue(""), keyword, start, size); return getSaTokenDao().searchData(splicingKeyTokenValue(""), keyword, start, size, sortType);
} }
/** /**
@@ -1510,10 +1512,12 @@ public class StpLogic {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public List<String> searchSessionId(String keyword, int start, int size) { public List<String> searchSessionId(String keyword, int start, int size, boolean sortType) {
return getSaTokenDao().searchData(splicingKeySession(""), keyword, start, size); return getSaTokenDao().searchData(splicingKeySession(""), keyword, start, size, sortType);
} }
/** /**
@@ -1521,10 +1525,12 @@ public class StpLogic {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public List<String> searchTokenSessionId(String keyword, int start, int size) { public List<String> searchTokenSessionId(String keyword, int start, int size, boolean sortType) {
return getSaTokenDao().searchData(splicingKeyTokenSession(""), keyword, start, size); return getSaTokenDao().searchData(splicingKeyTokenSession(""), keyword, start, size, sortType);
} }

View File

@@ -692,10 +692,12 @@ public class StpUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return token集合 * @return token集合
*/ */
public static List<String> searchTokenValue(String keyword, int start, int size) { public static List<String> searchTokenValue(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchTokenValue(keyword, start, size); return stpLogic.searchTokenValue(keyword, start, size, sortType);
} }
/** /**
@@ -703,10 +705,12 @@ public class StpUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public static List<String> searchSessionId(String keyword, int start, int size) { public static List<String> searchSessionId(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchSessionId(keyword, start, size); return stpLogic.searchSessionId(keyword, start, size, sortType);
} }
/** /**
@@ -714,10 +718,12 @@ public class StpUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public static List<String> searchTokenSessionId(String keyword, int start, int size) { public static List<String> searchTokenSessionId(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchTokenSessionId(keyword, start, size); return stpLogic.searchTokenSessionId(keyword, start, size, sortType);
} }
@@ -920,5 +926,50 @@ public class StpUtil {
public static void logoutByLoginId(Object loginId, String device) { public static void logoutByLoginId(Object loginId, String device) {
stpLogic.kickout(loginId, device); stpLogic.kickout(loginId, device);
} }
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenValue(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询Token
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return token集合
*/
@Deprecated
public static List<String> searchTokenValue(String keyword, int start, int size) {
return stpLogic.searchTokenValue(keyword, start, size, true);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchSessionId(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询SessionId
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return sessionId集合
*/
@Deprecated
public static List<String> searchSessionId(String keyword, int start, int size) {
return stpLogic.searchSessionId(keyword, start, size, true);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenSessionId(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询Token专属Session的Id
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return sessionId集合
*/
@Deprecated
public static List<String> searchTokenSessionId(String keyword, int start, int size) {
return stpLogic.searchTokenSessionId(keyword, start, size, true);
}
} }

View File

@@ -6,6 +6,7 @@ import java.net.URLEncoder;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
@@ -111,10 +112,11 @@ public class SaFoxUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 起始位置 (-1代表查询所有) * @param start 起始位置 (-1代表查询所有)
* @param size 获取条数 * @param size 获取条数
* @param sortType 排序类型true=正序false=反序)
*
* @return 符合条件的新数据集合 * @return 符合条件的新数据集合
*/ */
public static List<String> searchList(Collection<String> dataList, String prefix, String keyword, int start, public static List<String> searchList(Collection<String> dataList, String prefix, String keyword, int start, int size, boolean sortType) {
int size) {
if (prefix == null) { if (prefix == null) {
prefix = ""; 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 list 数据集合
* @param start 起始位置 (-1代表查询所有) * @param start 起始位置 (-1代表查询所有)
* @param size 获取条数 * @param size 获取条数
* @param sortType 排序类型true=正序false=反序)
*
* @return 符合条件的新数据集合 * @return 符合条件的新数据集合
*/ */
public static List<String> searchList(List<String> list, int start, int size) { public static List<String> searchList(List<String> list, int start, int size, boolean sortType) {
// 如果是反序的话
if(sortType == false) {
Collections.reverse(list);
}
// 取指定段数据 // 取指定段数据
if (start < 0) { if (start < 0) {
return list; return list;

View File

@@ -217,7 +217,7 @@ public class TestController {
public AjaxJson search() { public AjaxJson search() {
System.out.println("--------------"); System.out.println("--------------");
Ttime t = new Ttime().start(); Ttime t = new Ttime().start();
List<String> tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10); List<String> tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10, true);
for (String v : tokenValue) { for (String v : tokenValue) {
// SaSession session = StpUtil.getSessionBySessionId(sid); // SaSession session = StpUtil.getSessionBySessionId(sid);
System.out.println(v); System.out.println(v);

View File

@@ -10,7 +10,7 @@ import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic; import cn.dev33.satoken.stp.StpLogic;
/** /**
* Sa-Token 权限认证工具类 (user版) * Sa-Token 权限认证工具类 (User版)
* @author kong * @author kong
*/ */
public class StpUserUtil { public class StpUserUtil {
@@ -316,13 +316,23 @@ public class StpUserUtil {
} }
/** /**
* 获取Token扩展信息只在jwt模式下效) * 获取当前 Token扩展信息(此函数只在jwt模式下效)
* @param key 键值 * @param key 键值
* @return 对应的扩展数据 * @return 对应的扩展数据
*/ */
public static Object getExtra(String key) { public static Object getExtra(String key) {
return stpLogic.getExtra(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 相关 =================== // =================== User-Session 相关 ===================
@@ -685,10 +695,12 @@ public class StpUserUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return token集合 * @return token集合
*/ */
public static List<String> searchTokenValue(String keyword, int start, int size) { public static List<String> searchTokenValue(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchTokenValue(keyword, start, size); return stpLogic.searchTokenValue(keyword, start, size, sortType);
} }
/** /**
@@ -696,10 +708,12 @@ public class StpUserUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public static List<String> searchSessionId(String keyword, int start, int size) { public static List<String> searchSessionId(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchSessionId(keyword, start, size); return stpLogic.searchSessionId(keyword, start, size, sortType);
} }
/** /**
@@ -707,10 +721,12 @@ public class StpUserUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public static List<String> searchTokenSessionId(String keyword, int start, int size) { public static List<String> searchTokenSessionId(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchTokenSessionId(keyword, start, size); return stpLogic.searchTokenSessionId(keyword, start, size, sortType);
} }
@@ -913,5 +929,50 @@ public class StpUserUtil {
public static void logoutByLoginId(Object loginId, String device) { public static void logoutByLoginId(Object loginId, String device) {
stpLogic.kickout(loginId, device); stpLogic.kickout(loginId, device);
} }
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenValue(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询Token
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return token集合
*/
@Deprecated
public static List<String> searchTokenValue(String keyword, int start, int size) {
return stpLogic.searchTokenValue(keyword, start, size, true);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchSessionId(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询SessionId
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return sessionId集合
*/
@Deprecated
public static List<String> searchSessionId(String keyword, int start, int size) {
return stpLogic.searchSessionId(keyword, start, size, true);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenSessionId(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询Token专属Session的Id
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return sessionId集合
*/
@Deprecated
public static List<String> searchTokenSessionId(String keyword, int start, int size) {
return stpLogic.searchTokenSessionId(keyword, start, size, true);
}
} }

View File

@@ -218,7 +218,7 @@ public class TestController {
public AjaxJson search() { public AjaxJson search() {
System.out.println("--------------"); System.out.println("--------------");
Ttime t = new Ttime().start(); Ttime t = new Ttime().start();
List<String> tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10); List<String> tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10, true);
for (String v : tokenValue) { for (String v : tokenValue) {
// SaSession session = StpUtil.getSessionBySessionId(sid); // SaSession session = StpUtil.getSessionBySessionId(sid);
System.out.println(v); System.out.println(v);

View File

@@ -10,7 +10,7 @@ import cn.dev33.satoken.stp.SaTokenInfo;
import cn.dev33.satoken.stp.StpLogic; import cn.dev33.satoken.stp.StpLogic;
/** /**
* Sa-Token 权限认证工具类 (user版) * Sa-Token 权限认证工具类 (User版)
* @author kong * @author kong
*/ */
public class StpUserUtil { public class StpUserUtil {
@@ -316,13 +316,23 @@ public class StpUserUtil {
} }
/** /**
* 获取Token扩展信息只在jwt模式下效) * 获取当前 Token扩展信息(此函数只在jwt模式下效)
* @param key 键值 * @param key 键值
* @return 对应的扩展数据 * @return 对应的扩展数据
*/ */
public static Object getExtra(String key) { public static Object getExtra(String key) {
return stpLogic.getExtra(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 相关 =================== // =================== User-Session 相关 ===================
@@ -685,10 +695,12 @@ public class StpUserUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return token集合 * @return token集合
*/ */
public static List<String> searchTokenValue(String keyword, int start, int size) { public static List<String> searchTokenValue(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchTokenValue(keyword, start, size); return stpLogic.searchTokenValue(keyword, start, size, sortType);
} }
/** /**
@@ -696,10 +708,12 @@ public class StpUserUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public static List<String> searchSessionId(String keyword, int start, int size) { public static List<String> searchSessionId(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchSessionId(keyword, start, size); return stpLogic.searchSessionId(keyword, start, size, sortType);
} }
/** /**
@@ -707,10 +721,12 @@ public class StpUserUtil {
* @param keyword 关键字 * @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有) * @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量 * @param size 获取数量
* @param sortType 排序类型true=正序false=反序)
*
* @return sessionId集合 * @return sessionId集合
*/ */
public static List<String> searchTokenSessionId(String keyword, int start, int size) { public static List<String> searchTokenSessionId(String keyword, int start, int size, boolean sortType) {
return stpLogic.searchTokenSessionId(keyword, start, size); return stpLogic.searchTokenSessionId(keyword, start, size, sortType);
} }
@@ -913,5 +929,50 @@ public class StpUserUtil {
public static void logoutByLoginId(Object loginId, String device) { public static void logoutByLoginId(Object loginId, String device) {
stpLogic.kickout(loginId, device); stpLogic.kickout(loginId, device);
} }
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenValue(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询Token
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return token集合
*/
@Deprecated
public static List<String> searchTokenValue(String keyword, int start, int size) {
return stpLogic.searchTokenValue(keyword, start, size, true);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchSessionId(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询SessionId
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return sessionId集合
*/
@Deprecated
public static List<String> searchSessionId(String keyword, int start, int size) {
return stpLogic.searchSessionId(keyword, start, size, true);
}
/**
* <h1> 本函数设计已过时,未来版本可能移除此函数,请及时更换为 StpUtil.searchTokenSessionId(keyword, start, size, sortType) ,使用方式保持不变 </h1>
*
* 根据条件查询Token专属Session的Id
* @param keyword 关键字
* @param start 开始处索引 (-1代表查询所有)
* @param size 获取数量
*
* @return sessionId集合
*/
@Deprecated
public static List<String> searchTokenSessionId(String keyword, int start, int size) {
return stpLogic.searchTokenSessionId(keyword, start, size, true);
}
} }

View File

@@ -218,7 +218,7 @@ public class TestController {
public AjaxJson search() { public AjaxJson search() {
System.out.println("--------------"); System.out.println("--------------");
Ttime t = new Ttime().start(); Ttime t = new Ttime().start();
List<String> tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10); List<String> tokenValue = StpUtil.searchTokenValue("8feb8265f773", 0, 10, true);
for (String v : tokenValue) { for (String v : tokenValue) {
// SaSession session = StpUtil.getSessionBySessionId(sid); // SaSession session = StpUtil.getSessionBySessionId(sid);
System.out.println(v); System.out.println(v);

View File

@@ -271,10 +271,10 @@ public class SaTokenDaoRedisJackson implements SaTokenDao {
* 搜索数据 * 搜索数据
*/ */
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
Set<String> keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*"); Set<String> keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*");
List<String> list = new ArrayList<String>(keys); List<String> list = new ArrayList<String>(keys);
return SaFoxUtil.searchList(list, start, size); return SaFoxUtil.searchList(list, start, size, sortType);
} }
} }

View File

@@ -226,10 +226,10 @@ public class SaTokenDaoRedisString implements SaTokenDao {
* 搜索数据 * 搜索数据
*/ */
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
Set<String> keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*"); Set<String> keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*");
List<String> list = new ArrayList<String>(keys); List<String> list = new ArrayList<String>(keys);
return SaFoxUtil.searchList(list, start, size); return SaFoxUtil.searchList(list, start, size, sortType);
} }

View File

@@ -217,10 +217,10 @@ public class SaTokenDaoRedis implements SaTokenDao {
* 搜索数据 * 搜索数据
*/ */
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
Set<String> keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*"); Set<String> keys = stringRedisTemplate.keys(prefix + "*" + keyword + "*");
List<String> list = new ArrayList<String>(keys); List<String> list = new ArrayList<String>(keys);
return SaFoxUtil.searchList(list, start, size); return SaFoxUtil.searchList(list, start, size, sortType);
} }

View File

@@ -177,9 +177,9 @@ public class SaTokenDaoOfRedis implements SaTokenDao {
* 搜索数据 * 搜索数据
*/ */
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
Set<String> keys = redisBucket.keys(prefix + "*" + keyword + "*"); Set<String> keys = redisBucket.keys(prefix + "*" + keyword + "*");
List<String> list = new ArrayList<String>(keys); List<String> list = new ArrayList<String>(keys);
return SaFoxUtil.searchList(list, start, size); return SaFoxUtil.searchList(list, start, size, sortType);
} }
} }

View File

@@ -204,7 +204,7 @@ public class StpLogicJwtForMixin extends StpLogic {
* [禁用] 根据条件查询Token * [禁用] 根据条件查询Token
*/ */
@Override @Override
public List<String> searchTokenValue(String keyword, int start, int size) { public List<String> searchTokenValue(String keyword, int start, int size, boolean sortType) {
throw new ApiDisabledException(); throw new ApiDisabledException();
} }

View File

@@ -252,12 +252,12 @@ public class SaTokenCacheDao implements SaTokenDao {
} }
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
Jedis jedis = saRedisCache.getJedis(); Jedis jedis = saRedisCache.getJedis();
try { try {
Set<String> keys = jedis.keys(prefix + "*" + keyword + "*"); Set<String> keys = jedis.keys(prefix + "*" + keyword + "*");
List<String> list = new ArrayList<String>(keys); List<String> list = new ArrayList<String>(keys);
return SaFoxUtil.searchList(list, start, size); return SaFoxUtil.searchList(list, start, size, sortType);
} finally { } finally {
saRedisCache.returnResource(jedis); saRedisCache.returnResource(jedis);
} }

View File

@@ -257,10 +257,10 @@ public class SaTokenDaoRedis implements SaTokenDao {
* @return * @return
*/ */
@Override @Override
public List<String> searchData(String prefix, String keyword, int start, int size) { public List<String> searchData(String prefix, String keyword, int start, int size, boolean sortType) {
Set<String> keys = redis.keys(prefix + "*" + keyword + "*"); Set<String> keys = redis.keys(prefix + "*" + keyword + "*");
List<String> list = new ArrayList<String>(keys); List<String> list = new ArrayList<String>(keys);
return SaFoxUtil.searchList(list, start, size); return SaFoxUtil.searchList(list, start, size, sortType);
} }
public Jedis getJedis() { public Jedis getJedis() {

View File

@@ -47,21 +47,21 @@ public class SaFoxUtilTest {
List<String> dataList = Arrays.asList("token1", "token2", "token3", "token4", "token5", "aaa1"); List<String> dataList = Arrays.asList("token1", "token2", "token3", "token4", "token5", "aaa1");
// 分页 // 分页
List<String> list1 = SaFoxUtil.searchList(dataList, 1, 2); List<String> list1 = SaFoxUtil.searchList(dataList, 1, 2, true);
Assertions.assertEquals(list1.size(), 2); Assertions.assertEquals(list1.size(), 2);
Assertions.assertEquals(list1.get(0), "token2"); Assertions.assertEquals(list1.get(0), "token2");
Assertions.assertEquals(list1.get(1), "token3"); Assertions.assertEquals(list1.get(1), "token3");
// 前缀筛选 // 前缀筛选
List<String> list2 = SaFoxUtil.searchList(dataList, "token", "", 0, 10); List<String> list2 = SaFoxUtil.searchList(dataList, "token", "", 0, 10, true);
Assertions.assertEquals(list2.size(), 5); Assertions.assertEquals(list2.size(), 5);
// 关键字筛选 // 关键字筛选
List<String> list3 = SaFoxUtil.searchList(dataList, "", "1", 0, 10); List<String> list3 = SaFoxUtil.searchList(dataList, "", "1", 0, 10, true);
Assertions.assertEquals(list3.size(), 2); Assertions.assertEquals(list3.size(), 2);
// 综合筛选 // 综合筛选
List<String> list4 = SaFoxUtil.searchList(dataList, "token", "1", 0, 10); List<String> list4 = SaFoxUtil.searchList(dataList, "token", "1", 0, 10, true);
Assertions.assertEquals(list4.size(), 1); Assertions.assertEquals(list4.size(), 1);
} }

View File

@@ -251,7 +251,7 @@ public class JwtForMixinTest {
StpUtil.login(10005); StpUtil.login(10005);
// 查询 // 查询
List<String> list = StpUtil.searchTokenValue("", 0, 10); List<String> list = StpUtil.searchTokenValue("", 0, 10, true);
Assertions.assertTrue(list.size() >= 5); Assertions.assertTrue(list.size() >= 5);
}); });
} }

View File

@@ -316,7 +316,7 @@ public class BasicsTest {
StpUtil.login(10005); StpUtil.login(10005);
// 查询 // 查询
List<String> list = StpUtil.searchTokenValue("", 0, 10); List<String> list = StpUtil.searchTokenValue("", 0, 10, true);
Assertions.assertTrue(list.size() >= 5); Assertions.assertTrue(list.size() >= 5);
} }