Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
pig_冷冷
Pig
提交
fa222376
Pig
项目概览
pig_冷冷
/
Pig
上一次同步 大约 1 年
通知
3
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Pig
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fa222376
编写于
8月 12, 2021
作者:
Dichotomy_
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改token列表的获取方式
上级
f82cbd4c
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
8 addition
and
40 deletion
+8
-40
pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java
...ava/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java
+8
-40
未找到文件。
pig-auth/src/main/java/com/pig4cloud/pig/auth/endpoint/PigTokenEndpoint.java
浏览文件 @
fa222376
...
...
@@ -52,6 +52,8 @@ import javax.servlet.http.HttpSession;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
/**
* @author lengleng
...
...
@@ -160,49 +162,15 @@ public class PigTokenEndpoint {
public
R
<
Page
>
tokenList
(
@RequestBody
Map
<
String
,
Object
>
params
)
{
// 根据分页参数获取对应数据
String
key
=
String
.
format
(
"%sauth_to_access:*"
,
CacheConstants
.
PROJECT_OAUTH_ACCESS
);
List
<
String
>
pages
=
findKeysForPage
(
key
,
MapUtil
.
getInt
(
params
,
CommonConstants
.
CURRENT
),
MapUtil
.
getInt
(
params
,
CommonConstants
.
SIZE
));
redisTemplate
.
setKeySerializer
(
new
StringRedisSerializer
());
redisTemplate
.
setValueSerializer
(
new
JdkSerializationRedisSerializer
());
Page
result
=
new
Page
(
MapUtil
.
getInt
(
params
,
CommonConstants
.
CURRENT
),
MapUtil
.
getInt
(
params
,
CommonConstants
.
SIZE
));
int
current
=
MapUtil
.
getInt
(
params
,
CommonConstants
.
CURRENT
);
int
size
=
MapUtil
.
getInt
(
params
,
CommonConstants
.
SIZE
);
Set
<
String
>
keys
=
redisTemplate
.
keys
(
key
);
List
<
String
>
pages
=
keys
.
stream
().
skip
((
current
-
1
)
*
size
).
limit
(
size
).
collect
(
Collectors
.
toList
());
Page
result
=
new
Page
(
current
,
size
);
result
.
setRecords
(
redisTemplate
.
opsForValue
().
multiGet
(
pages
));
result
.
setTotal
(
redisTemplate
.
keys
(
key
)
.
size
());
result
.
setTotal
(
keys
.
size
());
return
R
.
ok
(
result
);
}
private
List
<
String
>
findKeysForPage
(
String
patternKey
,
int
pageNum
,
int
pageSize
)
{
ScanOptions
options
=
ScanOptions
.
scanOptions
().
count
(
1000L
).
match
(
patternKey
).
build
();
RedisSerializer
<
String
>
redisSerializer
=
(
RedisSerializer
<
String
>)
redisTemplate
.
getKeySerializer
();
Cursor
cursor
=
(
Cursor
)
redisTemplate
.
executeWithStickyConnection
(
redisConnection
->
new
ConvertingCursor
<>(
redisConnection
.
scan
(
options
),
redisSerializer:
:
deserialize
));
List
<
String
>
result
=
new
ArrayList
<>();
int
tmpIndex
=
0
;
int
startIndex
=
(
pageNum
-
1
)
*
pageSize
;
int
end
=
pageNum
*
pageSize
;
assert
cursor
!=
null
;
while
(
cursor
.
hasNext
())
{
if
(
tmpIndex
>=
startIndex
&&
tmpIndex
<
end
)
{
result
.
add
(
cursor
.
next
().
toString
());
tmpIndex
++;
continue
;
}
if
(
tmpIndex
>=
end
)
{
break
;
}
tmpIndex
++;
cursor
.
next
();
}
try
{
cursor
.
close
();
}
catch
(
Exception
e
)
{
log
.
error
(
"关闭cursor 失败"
);
}
return
result
;
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录