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

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

erp提交

parent c4a39e61
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>liquidnet-bus-common</artifactId>
<groupId>com.liquidnet</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>liquident-common-erp</artifactId>
<dependencies>
<dependency>
<groupId>com.liquidnet</groupId>
<artifactId>liquidnet-common-base</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
\ 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 ErpUtils {
@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 秘钥
* @return
*/
private String getErpSign(Map<String, String> map, String appSecret) {
String finalStr = "";
map = sortMapByKey(map);
for (Map.Entry<String, String> entry : map.entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
String key01 = leftFillChar(key, "0", 2).concat("-").concat(key);
String value01 = leftFillChar(value, "0", 4).concat("-").concat(value);
String data = key01.concat(":").concat(value01).concat(";");
finalStr = finalStr.concat(data);
}
finalStr = finalStr.substring(0, finalStr.length() - 1).concat(appSecret);
return MD5Utils.md5(finalStr);
}
// 根据key 排序 hash
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));
}
return finalMap;
}
// sign补位算法
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);
}
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");
map.put("page_no", "0");
map.put("end_time", "2016-08-01 13:00:00");
map.put("start_time", "2016-08-01 12:00:00");
map.put("page_size", "40");
map.put("sid", "test2");
map.put("timestamp", "1470042310");
// String a = execute("http://www.baidu.com/",map);
// System.out.println(a);
System.out.println("ad4e6fe037ea6e3ba4768317be9d1309");
}
}
......@@ -32,7 +32,8 @@
<module>liquidnet-common-feign</module>
<module>liquidnet-common-sms</module>
<module>liquidnet-common-third</module>
<!-- <module>liquidnet-common-mybatis</module>-->
<module>liquident-common-erp</module>
<!-- <module>liquidnet-common-mybatis</module>-->
</modules>
<dependencies>
<dependency>
......
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