package com.ard.work.config;
|
|
import com.ard.work.component.forest.TyClient;
|
import com.ard.work.domain.dto.TokenDTO;
|
import com.ard.work.domain.receiver.AccessTokenReceiver;
|
import com.ard.work.domain.receiver.TyHttpCommonReceiver;
|
import lombok.Data;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.util.DigestUtils;
|
import javax.annotation.Resource;
|
import java.util.Date;
|
|
/**
|
* TianyuConfiguration
|
*
|
* @author liusuyi
|
* @date 2024年10月21日15:16
|
**/
|
@Configuration
|
@Slf4j
|
@Data
|
@ConfigurationProperties(prefix = "tianyu")
|
public class TyConfiguration {
|
|
private String endpoint;
|
|
private String accesskeyid;
|
|
private String accesskeysecret;
|
|
private String tcpserver;
|
|
private Integer tcpport;
|
|
private long timestamp;
|
|
public long getTimeStamp() {
|
timestamp = new Date().getTime();
|
return timestamp;
|
}
|
|
private String encryptstr;
|
|
public String getEncryptStr() {
|
String sb = accesskeyid +
|
accesskeysecret +
|
getTimeStamp();
|
encryptstr = DigestUtils.md5DigestAsHex(sb.getBytes());
|
return encryptstr;
|
}
|
|
public String getIpPort() {
|
return tcpserver + ":" + tcpport;
|
}
|
|
@Resource
|
private TyClient tyClient;
|
|
private AccessTokenReceiver accessToken;
|
|
public AccessTokenReceiver getAccessToken() {
|
if (accessToken != null)
|
return accessToken;
|
// 准备请求的json
|
TokenDTO gtd = TokenDTO.builder()
|
.accessKeyId(accesskeyid)
|
.encryptStr(getEncryptStr())
|
.timeStamp(timestamp)
|
.build();
|
try {
|
TyHttpCommonReceiver<AccessTokenReceiver> getTokenRes = tyClient.getToken(gtd);
|
accessToken = getTokenRes.getContent();
|
} catch (Exception e) {
|
log.error("获取token失败:{}", e.getMessage());
|
}
|
//{"state":0,"content":{"companyId":4127,"accessToken":"sOONT0MMVdoKcMBibb40xxgrUrq0Hw9RFiajic3KOzoNtk"}}
|
return accessToken;
|
}
|
}
|