diff --git a/flossom-modules/flossom-mini-program/pom.xml b/flossom-modules/flossom-mini-program/pom.xml
index 3344c69..5de6e7c 100644
--- a/flossom-modules/flossom-mini-program/pom.xml
+++ b/flossom-modules/flossom-mini-program/pom.xml
@@ -102,6 +102,14 @@
test
+
+
+ com.shuyun.open
+ open-platform-sdk
+ 1.0.2
+ system
+ ${project.basedir}/src/main/resources/lib/open-platform-sdk.jar
+
@@ -110,6 +118,10 @@
org.springframework.boot
spring-boot-maven-plugin
+
+
+ true
+
diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/utils/shuyun/ShuYunApiUtils.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/utils/shuyun/ShuYunApiUtils.java
new file mode 100644
index 0000000..000c4d3
--- /dev/null
+++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/utils/shuyun/ShuYunApiUtils.java
@@ -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 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;
+ }
+
+
+}
diff --git a/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/utils/shuyun/ShuYunConfig.java b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/utils/shuyun/ShuYunConfig.java
new file mode 100644
index 0000000..7ed7bd6
--- /dev/null
+++ b/flossom-modules/flossom-mini-program/src/main/java/com/flossom/miniProgram/utils/shuyun/ShuYunConfig.java
@@ -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;
+ }
+}
diff --git a/flossom-modules/flossom-mini-program/src/main/resources/lib/open-platform-sdk.jar b/flossom-modules/flossom-mini-program/src/main/resources/lib/open-platform-sdk.jar
new file mode 100644
index 0000000..6230e1a
Binary files /dev/null and b/flossom-modules/flossom-mini-program/src/main/resources/lib/open-platform-sdk.jar differ
diff --git a/flossom-modules/flossom-mini-program/src/main/resources/shuyun.properties b/flossom-modules/flossom-mini-program/src/main/resources/shuyun.properties
new file mode 100644
index 0000000..cd255ba
--- /dev/null
+++ b/flossom-modules/flossom-mini-program/src/main/resources/shuyun.properties
@@ -0,0 +1,3 @@
+http-pool.connect-timeout=60000
+http-pool.connection-request-timeout=60000
+http-pool.socket-timeout=60000
\ No newline at end of file