diff --git a/client/pom.xml b/client/pom.xml
index 8c99599a..2839698b 100644
--- a/client/pom.xml
+++ b/client/pom.xml
@@ -57,6 +57,12 @@
${hutool.version}
+
+ com.google.code.gson
+ gson
+ 2.10.1
+
+
diff --git a/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java b/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java
index a5a5c0ab..f153ad71 100644
--- a/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java
+++ b/client/src/main/java/com/small/client/Schedule/DynamicTaskScheduler.java
@@ -33,7 +33,7 @@ public class DynamicTaskScheduler {
this.sxDataService = sxDataService;
}
- @PostConstruct
+ //@PostConstruct
public void initTasks() {
refreshTasks();
// 每5分钟检查一次数据库更新
diff --git a/client/src/main/java/com/small/client/Utils/CommonUtil.java b/client/src/main/java/com/small/client/Utils/CommonUtil.java
index 4f8db7e3..26ade896 100644
--- a/client/src/main/java/com/small/client/Utils/CommonUtil.java
+++ b/client/src/main/java/com/small/client/Utils/CommonUtil.java
@@ -12,7 +12,14 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.logging.log4j.util.Strings;
+import org.apache.tomcat.util.codec.binary.Base64;
+import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
+
+@Slf4j
public class CommonUtil {
private final static String apiUrl = "http://4ei8850868ux.vicp.fun";
@@ -94,5 +101,44 @@ public class CommonUtil {
return StrUtil.toUnderlineCase(jsonObject.getByPath(expression, String.class));
}
+ /**
+ * 生成 md 摘要通用签名(参考了顺丰同城的做法)
+ * 参考:https://openic.sf-express.com/#/quickstart
+ *
+ * @param postData
+ * @param appId
+ * @param appKey
+ * @return
+ */
+ public static String generateOpenSign(String postData, String appId, String appKey) {
+ try {
+
+ if (StrUtil.isBlank(postData) || StrUtil.isBlank(appId) || StrUtil.isBlank(appKey)) {
+ log.error("生成签名时缺少必要参数!");
+ return Strings.EMPTY;
+ }
+
+ String sb = postData + "&" + appId + "&" + appKey;
+ MessageDigest md = MessageDigest.getInstance("MD5");
+ byte[] md5 = md.digest(sb.getBytes(StandardCharsets.UTF_8));
+ int i;
+ StringBuffer buf = new StringBuffer();
+ for (byte b : md5) {
+ i = b;
+ if (i < 0) {
+ i += 256;
+ }
+ if (i < 16) {
+ buf.append("0");
+ }
+ buf.append(Integer.toHexString(i));
+ }
+ return Base64.encodeBase64String(buf.toString().getBytes(StandardCharsets.UTF_8));
+
+ } catch (Exception e) {
+ log.error(e.getMessage());
+ return Strings.EMPTY;
+ }
+ }
}
diff --git a/client/src/main/java/com/small/client/Utils/HttpUtils.java b/client/src/main/java/com/small/client/Utils/HttpUtils.java
index 7b7c29d2..baaae7c3 100644
--- a/client/src/main/java/com/small/client/Utils/HttpUtils.java
+++ b/client/src/main/java/com/small/client/Utils/HttpUtils.java
@@ -37,7 +37,7 @@ public class HttpUtils {
public static final String URL_SYNC_GET_DOWNCLIENTJAR="/shop/sync/app/downClientJar";//文件下载
- public static final String URL_SYNC_GET_STOREdBCONFIG="/shop/sync/third/getStoreDbConfig";//文件下载
+ public static final String URL_SYNC_GET_STOREdBCONFIG="/shop/sync/third/getStoreDbConfig";//获取数据库配置
public static final String URL_SYNC_GET_STOR_DATA_RELEASE="/shop/sync/third/syncStoreDataRelease";//库存同步
@@ -56,7 +56,6 @@ public class HttpUtils {
// 设置Content-Type为application/x-www-form-urlencoded
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
- log.info(modelObject.toString());
HttpEntity