package com.ard.tianyu.config; import com.ard.tianyu.forest.TyClient; import com.ard.tianyu.domain.dto.TokenDTO; import com.ard.tianyu.domain.receiver.AccessTokenReceiver; import com.ard.tianyu.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 getTokenRes = tyClient.getToken(gtd); accessToken = getTokenRes.getContent(); } catch (Exception e) { log.error("获取token失败:{}", e.getMessage()); } //{"state":0,"content":{"companyId":4127,"accessToken":"sOONT0MMVdoKcMBibb40xxgrUrq0Hw9RFiajic3KOzoNtk"}} return accessToken; } }