手动获取超级管理员token及应用

## 业务概述 > 此节将带领开发者使用SDK来获取超级管理员(super)的token,从而完成一些特殊业务调用的需求。 > > 示例如下: > > 每天八点钟检查还没有被处理的报修数据,并删除已经超时的数据。 > > 使用SDK的消息推送接口实现数据推送给相关用户。 ## 最终效果图 ![10.png](https://cos.easydoc.net/16860085/files/lfly7lb8.png) ## 1.手动获取超级管理员token ```java // 读取 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(); } ``` ## 2.使用SDK将超时数据推送给相关用户 ```java @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())); } } } ```