pos付款相关

This commit is contained in:
liuyingfang
2023-06-13 10:31:11 +08:00
parent cbad5d16b7
commit 5f1fd5bdbe
4 changed files with 82 additions and 60 deletions

View File

@@ -77,4 +77,22 @@ public class ResultGenerator {
result.put("data",data);
return result;
}
public static JSONObject genSuccessJsonPos(Object data, String appId, String requestId) {
JSONObject result = new JSONObject();
result.put("code","0000");
result.put("msg","操作成功");
result.put("appId", appId);
result.put("requestId", requestId);
result.put("respData", data);
return result;
}
public static JSONObject genFailJsonPos(String msg, String appId, String requestId) {
JSONObject result = new JSONObject();
result.put("code","400");
result.put("msg", msg);
result.put("appId", appId);
result.put("requestId", requestId);
return result;
}
}

View File

@@ -1,4 +1,6 @@
package cn.pluss.platform.util;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.RandomStringUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
@@ -58,50 +60,61 @@ public class TokenUtil {
finalMap.put("TOKEN", MD5Util.md5(token + APP_SECRET).toUpperCase());
return finalMap;
}
//
public static Map<String, String> getToken(String timestamp, String requestId, String appId, String reqData)throws Exception {
String token = "";
String encode = "";
System.out.println(appId);
System.out.println(reqData);
SortedMap<String, Object> map = new TreeMap();
map.put("appId", appId);
map.put("timestamp", timestamp);
map.put("requestId", requestId);
map.put("reqData", reqData);
Iterator<Map.Entry<String, Object>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Object> next = iterator.next();
String key = next.getKey();
Object value = next.getValue();
token += key + value;
encode += key + "=" + value + "&";
}
System.out.println(token);
map.put("reqData",convertObject(JSONObject.parseObject(reqData,Map.class)));
String encode= convertMap(map);
Map<String, String> finalMap = new HashMap<>();
finalMap.put("ENCODE",encode);
finalMap.put("TOKEN", MD5Util.md5(token + APP_SECRET).toUpperCase());
String t=encode.concat(APP_SECRET);
finalMap.put("TOKEN", MD5Util.md5(t).toUpperCase());
return finalMap;
}
public static String convertObject(Map<String,Object> map){
String[] sortedKeys = map.keySet().toArray(new String[]{});
Arrays.sort(sortedKeys);// 排序请求参数
StringBuilder s2 = new StringBuilder();
s2.append("{");
for (String key : sortedKeys) {
s2.append("\"").append(key).append("\"").append(":").append("\"").append(map.get(key)).append("\"").append(",");
}
s2.deleteCharAt(s2.length() - 1);
s2.append("}");
return s2.toString();
}
public static String convertMap(Map<String,Object> map){
String[] sortedKeys = map.keySet().toArray(new String[]{});
Arrays.sort(sortedKeys);// 排序请求参数
StringBuilder s2 = new StringBuilder();
for (String key : sortedKeys) {
s2.append(key).append(map.get(key));
}
return s2.toString();
}
public static void main(String[] args) throws Exception{
String s = String.valueOf(System.currentTimeMillis());
System.out.println(s);
String s1 = UUID.randomUUID().toString();
System.out.println(s1);
String param = "{\n" +
" \"type\": \"4\",\n" +
" \"consumeFee\": \"0.01\",\n" +
" \"authCode\": \"283907976309543222\",\n" +
" \"sn\": \"BSJQG01YJ0001\",\n" +
" \"mercOrderNo\": \" \",\n" +
" \"remark\": \"测试\"\n" +
" }";
Map<String, String> token = getToken(s, s1, APP_ID,param);
String param = "{\"type\":\"4\",\"consumeFee\":\"0.01\",\"authCode\":\"286272579674870782\",\"sn\":\"BSJQG01YJ0001\",\"mercOrderNo\":\"\",\"remark\":\"\"}";
Map<String, String> token = getToken(s,s1 , APP_ID,param);
System.out.println(token);
System.out.println("");
}