package com.ard.tianyu.config;
|
|
import com.ard.tianyu.http.TYClient;
|
import com.ard.tianyu.model.dto.TokenDTO;
|
import com.ard.tianyu.model.receiver.AccessTokenReceiver;
|
import com.ard.tianyu.model.receiver.BoxReceiver;
|
import com.ard.tianyu.model.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;
|
import java.util.List;
|
|
/**
|
* TianyuConfiguration
|
*
|
* @author liusuyi
|
* @date 2024年10月21日15:16
|
**/
|
@Configuration
|
@Slf4j
|
@Data
|
@ConfigurationProperties(prefix = "tianyu")
|
public class TianyuConfiguration {
|
|
private String endpoint;
|
|
private String accesskeyid;
|
|
private String accesskeysecret;
|
|
|
private long timestamp;
|
public long getTimeStamp()
|
{
|
timestamp = new Date().getTime();
|
return timestamp;
|
}
|
private String encryptstr;
|
|
public String getEncryptStr()
|
{
|
String sb = new StringBuilder()
|
.append(accesskeyid)
|
.append(accesskeysecret)
|
.append(getTimeStamp())
|
.toString();
|
encryptstr = DigestUtils.md5DigestAsHex(sb.getBytes());
|
return encryptstr;
|
}
|
@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();
|
TyHttpCommonReceiver<AccessTokenReceiver> getTokenRes = tyClient.getToken(gtd);
|
//{"state":0,"content":{"companyId":4127,"accessToken":"sOONT0MMVdoKcMBibb40xxgrUrq0Hw9RFiajic3KOzoNtk"}}
|
accessToken = getTokenRes.getContent();
|
return accessToken;
|
}
|
|
private List<BoxReceiver> boxList;
|
|
public List<BoxReceiver> getBoxList(){
|
//请求云盒列表
|
TyHttpCommonReceiver<List<BoxReceiver>> getBoxList = tyClient.getBoxList(getAccessToken().convertFromDTO());
|
boxList = getBoxList.getContent();
|
return boxList;
|
}
|
}
|