diff --git a/cpxt-admin/pom.xml b/cpxt-admin/pom.xml index c129ca1..f8b2dc8 100644 --- a/cpxt-admin/pom.xml +++ b/cpxt-admin/pom.xml @@ -80,6 +80,11 @@ guava 33.0.0-jre + + com.alibaba + fastjson + 2.0.4 + diff --git a/cpxt-admin/src/main/java/com/cpxt/web/controller/biz/orderutil/cityDelivery.java b/cpxt-admin/src/main/java/com/cpxt/web/controller/biz/orderutil/cityDelivery.java index 5bc79b1..d78e1e1 100644 --- a/cpxt-admin/src/main/java/com/cpxt/web/controller/biz/orderutil/cityDelivery.java +++ b/cpxt-admin/src/main/java/com/cpxt/web/controller/biz/orderutil/cityDelivery.java @@ -126,9 +126,66 @@ public class cityDelivery { System.out.println("sign:" + genSign); } + /** + * 同城急送平台工具,获取token + */ + @Anonymous + @GetMapping("/getToken2") + public void getTokenPostMan(){ + Long timeStamp = System.currentTimeMillis(); + String nonce = UUID.randomUUID().toString().replace("-",""); + System.out.println("timeStamp:" + timeStamp); + System.out.println("nonce:" + nonce); + //body + Map map = new HashMap(); + map.put("clientKey",clientKey); + map.put("clientSecret",clientSecret); + map.put("appType",appType); + map.put("clientType",client_type); + map.put("version",version); + + Map sortedParams1 = new TreeMap<>(map); + Set> entrySet1 = sortedParams1.entrySet(); + StringBuilder stringToSign = new StringBuilder(); + for (Map.Entry param : entrySet1) { + stringToSign.append(param.getKey()).append("=").append(param.getValue()).append(","); + } + + String encryptBase64 = cityDelivery_SM4Util.encryptCBC(stringToSign.toString(),clientSecret,sm4Key); + System.out.println("body:" + encryptBase64); + //签名 + Map sortedMap2 = new TreeMap<>(); + + //get请求,组装成 k v类型 +// sortedMap2.put(paramName,request.getParameter(paramName)); + /** + * post请求,需要放data + */ + Map bodyMap = new HashMap(); + bodyMap.put("body",encryptBase64); + String bodyJson = JSON.toJSONString(bodyMap); + sortedMap2.put("data", JSON.toJSONString(bodyJson)); + sortedMap2.put("access_id",clientKey); + sortedMap2.put("nonce", nonce); + sortedMap2.put("timestamp",timeStamp); + //排序 + Map sortedParams2 = new TreeMap<>(sortedMap2); + Set> entrySet2 = sortedParams2.entrySet(); + // 遍历排序后的字典,将所有参数按"key=value"格式拼接在一起 + StringBuilder stringToSign2 = new StringBuilder(); + for (Map.Entry param : entrySet2) { + stringToSign2.append(param.getKey()).append("=").append(param.getValue()).append(","); + } + stringToSign2.append("accessSecret").append("=").append(clientSecret); +// String genSign = DigestUtils.md5Hex(stringToSign2.toString()); + String genSign = cityDelivery_SM4Util.encryptCBC(stringToSign2.toString(),clientSecret,sm4Key); + System.out.println("------------"); + System.out.println("sign:" + genSign); + } + //获取token @Anonymous - @PostMapping("/getToken") + @GetMapping("/getToken") public void getToken(){ System.out.println("获取token"); String url = "https://wyjcs.gdwyj.cn/szelec/city-delivery-api/api/mini/app/login/token";