记得上下班打卡 | git大法好,push需谨慎

Commit c4a39e61 authored by 胡佳晨's avatar 胡佳晨

erp提交

parent ca37c7e7
......@@ -238,6 +238,20 @@ liquidnet:
jCity: 北京市
jAddress: 朝阳区广渠路1号北京市商业储运公司3-12号 摩登天空
expressType: 2 # 默认顺丰特快
depositumInfo: 演出纸质票
depositumInfo:
erp:
url: https://sandbox.wangdian.cn/openapi2/
api:
sid: apidevnew2
appKey: mdtk2-test
appsecret: 09335107b
client:
sid: apidevnew2
appKey: mdtk2-test
appsecret: 292c3b92
store:
shop_no: mdtk2-test
warehouse_no: mdtk2-test
platform_id: 127
#application-test-end
\ No newline at end of file
package com.liquidnet.service.erp.utils;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.MD5Utils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.MultiValueMap;
import java.util.*;
@Component
@Slf4j
public class BaseUtils {
@Value("${liquidnet.erp.api.appKey}")
private String appkey;
@Value("${liquidnet.erp.api.sid}")
private String sid;
@Value("${liquidnet.erp.api.appsecret}")
private String appSecret;
@Value("${liquidnet.erp.api.appsecret}")
private String baseUrl;
/**
* 获取 erp的sign
* @param map 请求参数
* @param appSecret 秘钥
*
* @param map 请求参数
* @param appSecret 秘钥
* @return
*/
public static String getErpSign(Map<String, String> map, String appSecret) {
private String getErpSign(Map<String, String> map, String appSecret) {
String finalStr = "";
map = sortMapByKey(map);
for (Map.Entry<String, String> entry : map.entrySet()) {
......@@ -28,18 +46,18 @@ public class BaseUtils {
}
// 根据key 排序 hash
private static HashMap<String,String> sortMapByKey(Map<String, String> map){
LinkedHashMap<String,String> finalMap = CollectionUtil.linkMapStringString();
private HashMap<String, String> sortMapByKey(Map<String, String> map) {
LinkedHashMap<String, String> finalMap = CollectionUtil.linkMapStringString();
List<String> ll = new ArrayList<>(map.keySet());
Collections.sort(ll);
for (String str:ll){
finalMap.put(str,map.get(str));
for (String str : ll) {
finalMap.put(str, map.get(str));
}
return finalMap;
}
// sign补位算法
private static String leftFillChar(String str, String charStr, int a) {
private String leftFillChar(String str, String charStr, int a) {
String length = str.length() + "";
for (int i = length.length(); i < a; i++) {
length = charStr.concat(length);
......@@ -47,6 +65,19 @@ public class BaseUtils {
return length;
}
public String execute(String url, Map<String, String> param) {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
param.put("appkey", this.appkey);
param.put("sid", this.sid);
param.put("timestamp", Long.toString(System.currentTimeMillis() / 1000));
param.put("sign", getErpSign(param, appSecret));
params.setAll(param);
String returnData = HttpUtil.post(baseUrl.concat(url), params, header);
return returnData;
}
public static void main(String[] args) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("appkey", "test2-xx");
......@@ -56,7 +87,9 @@ public class BaseUtils {
map.put("page_size", "40");
map.put("sid", "test2");
map.put("timestamp", "1470042310");
System.out.println(getErpSign(map,"12345"));
// String a = execute("http://www.baidu.com/",map);
// System.out.println(a);
System.out.println("ad4e6fe037ea6e3ba4768317be9d1309");
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment