手动获取超级管理员token及应用
# 业务概述
此节将带领开发者使用SDK来获取超级管理员(super)的token,从而完成一些特殊业务调用的需求。
示例如下:
每天八点钟检查还没有被处理的报修数据,并删除已经超时的数据。
使用SDK的消息推送接口实现数据推送给相关用户。
# 最终效果图
# 1.手动获取超级管理员token
// 读取 application.yml 配置的信息
@Value("${super-admin.keyId}")
private String keyId;
@Value("${super-admin.keySecret}")
private String keySecret;
private void getToken() {
SystemApi systemApi = new SystemApi();
String token = systemApi.login(keyId, keySecret, "key_secret", "webApp", "webApp")
.getData()
.getAccessToken();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# 2.使用SDK将超时数据推送给相关用户
@Autowired
private RepairService repairService;
private void pushMessage(String token){
// 查询当前报修记录待处理的数据
List<Repair> repairList = repairService.lambdaQuery().eq(Repair::getState,0).list();
if (ObjectUtil.isNull(repairList) || repairList.size() == 0) {
return;
}
MessagePushApi messageApi = new MessagePushApi(token);
// 查询报修记录是否超时
for (Repair repair : repairList) {
// 计算超时时间
Date timeout = conversionTime(repair.getRepairTime(), repair.getTimeout());
// 如果超时 就推送消息
if (new Date().compareTo(timeout) > 0) {
messageApi.sendMessageToProjectFollowedUser(conversionMessageParam(repair.getProjectId(), repair.getDescribe()));
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23