数云accessToken获取以及缓存

master
382696293@qq.com 2 years ago
parent 4f35e32c3f
commit 5fb2b3a3eb

@ -102,6 +102,14 @@
<scope>test</scope>
</dependency>
<!-- 数云SDK -->
<dependency>
<groupId>com.shuyun.open</groupId>
<artifactId>open-platform-sdk</artifactId>
<version>1.0.2</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/open-platform-sdk.jar</systemPath>
</dependency>
</dependencies>
<build>
@ -110,6 +118,10 @@
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!-- 将 resources 目录下的 第三方jar 打包到 自己的 jar 包中 -->
<includeSystemScope>true</includeSystemScope>
</configuration>
<executions>
<execution>
<goals>

@ -0,0 +1,73 @@
package com.flossom.miniProgram.utils.shuyun;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.flossom.common.core.constant.CacheConstants;
import com.flossom.common.core.utils.StringUtils;
import com.flossom.common.redis.service.RedisService;
import com.flossom.miniProgram.utils.HttpClientUtils;
import com.shuyun.open.sdk.bean.HttpMethod;
import com.shuyun.open.sdk.core.GateWayClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.LinkedHashMap;
import java.util.Map;
/**
*
*/
@Component
public class ShuYunApiUtils {
protected final static Logger logger = LoggerFactory.getLogger(ShuYunApiUtils.class);
private static ShuYunConfig shuYunConfig;
private static RedisService redisService;
@Autowired
public void setShuYunConfig(ShuYunConfig shuYunConfig) {
ShuYunApiUtils.shuYunConfig = shuYunConfig;
}
@Autowired
public void setRedisService(RedisService redisService) {
ShuYunApiUtils.redisService = redisService;
}
public static void refreshAccessToken() throws Exception {
String url = "https://open-client.shuyun.com/client/callback/token/" + shuYunConfig.getAppid() + "/v2";
logger.info(url);
logger.info(HttpClientUtils.get(url));
}
public static String getAccessToken(String appid, String secret) throws Exception {
String accessToken = redisService.getCacheObject(CacheConstants.SHUYUN_ACCESS_TOKEN_CACHE);
if (StringUtils.isBlank(accessToken)) {
Map<String, String> params = new LinkedHashMap<>();
params.put("platCode", "OFFLINE"); // 暂时固定
params.put("shopId", "9005"); // 暂时固定
params.put("id", "001");
params.put("mobile", "13500000001");
String requestBody = new ObjectMapper().writeValueAsString(params);
String result = GateWayClient.askGateWay(HttpMethod.POST,
shuYunConfig.getUrl(),
null,
requestBody,
shuYunConfig.getAppid(),
shuYunConfig.getSecurity(),
null,
"shuyun.loyalty.member.register");
}
return accessToken;
}
}

@ -0,0 +1,56 @@
package com.flossom.miniProgram.utils.shuyun;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
/**
*
*
* @author flossom
*/
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "shuyun")
public class ShuYunConfig {
/**
*
*/
private String url;
/**
* appid
*/
private String appid;
/**
* security
*/
private String security;
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getSecurity() {
return security;
}
public void setSecurity(String security) {
this.security = security;
}
}

@ -0,0 +1,3 @@
http-pool.connect-timeout=60000
http-pool.connection-request-timeout=60000
http-pool.socket-timeout=60000
Loading…
Cancel
Save