解决Token中非static属性不能注入的问题

This commit is contained in:
邱贞招 2023-11-20 11:03:11 +08:00
parent a37699ec1c
commit 16ccaf15d7
2 changed files with 25 additions and 16 deletions

View File

@ -2,7 +2,7 @@ package com.ruoyi.common.utils.onenet;
import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.utils.http.HttpUtils;
import org.springframework.beans.factory.annotation.Value;
import com.ruoyi.common.utils.spring.SpringUtils;
import org.springframework.stereotype.Component;
import javax.crypto.Mac;
@ -17,27 +17,19 @@ import java.util.concurrent.TimeUnit;
@Component
public class Token {
@Value(value = "${watering.version}")
private static String version;
@Value(value = "${watering.resourceName}")
private static String resourceName;
@Value(value = "${watering.accessKey}")
private static String accessKey;
@Value(value = "${watering.daysToExpire}")
private static Long daysToExpire;
/** 缓存token */
private static String cachedToken;
private static long tokenExpirationTime;
/** token过期时间 */
private static long tokenExpirationTime;
public static String getToken()throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
/** 判断token是否过期如果不过期直接返回全局缓存token,如果过期重新获取token保存到全局缓存token中并更新过期时间*/
if (isTokenExpired()) {
long expirationTimeInSeconds = TimeUnit.DAYS.toSeconds(daysToExpire);
String resourceName = SpringUtils.getRequiredProperty("watering.resourceName");
String version = SpringUtils.getRequiredProperty("watering.version");
String accessKey = SpringUtils.getRequiredProperty("watering.accessKey");
long expirationTimeInSeconds = TimeUnit.DAYS.toSeconds(Long.parseLong(SpringUtils.getRequiredProperty("watering.daysToExpire")));
String expirationTime = String.valueOf(System.currentTimeMillis() / 1000 + expirationTimeInSeconds);
String signatureMethod = Token.SignatureMethod.SHA256.name().toLowerCase();//签名方式
StringBuilder sb = new StringBuilder();

View File

@ -0,0 +1,17 @@
package com.ruoyi.quartz.task;
import org.springframework.stereotype.Component;
/**
* 定时获取浇花器日志
*
* @author qiuzhenzhao
*/
@Component("logTask")
public class IotLogTask {
public void getDeviceLog()
{
System.out.println("获取浇花器日志");
}
}