package com.kmall.admin.haikong.client; import com.alibaba.fastjson.JSON; import com.kmall.admin.haikong.config.HaiKongProperties; import com.kmall.admin.haikong.constant.VmcconnectUrlEnum; import com.kmall.admin.haikong.utils.HttpsClientUtil; import com.kmall.admin.haikong.utils.VmcconnectSignUtils; import org.apache.http.entity.StringEntity; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @Component public class HaiKongVmcconnectTemplate { @Autowired private HaiKongProperties haiKongProperties; /** * 获取免税MALL请求结果 * @param methodParams * @param method * @return */ private String vmcconnectSign(String methodParams,String method){ Map params = new HashMap<>(); params.put("appid",haiKongProperties.getVmcconnectAppId()); params.put("method", method); params.put("method_params",methodParams); params.put("timestamp",String.valueOf(System.currentTimeMillis()/1000)); params.put("sign", VmcconnectSignUtils.createSign(params,haiKongProperties.getVmcconnectSecretKey())); StringEntity stringEntity = new StringEntity(JSON.toJSONString(params),"UTF-8"); return HttpsClientUtil.vmcconnectPost(haiKongProperties.getVmcconnectUrl(),stringEntity); } /** *新建订单 */ public String createOrder(String json) throws Exception { return vmcconnectSign(json, VmcconnectUrlEnum.ORDERS_CREATE_ORDER.getMethod()); } /** *取消订单 */ public String ordersCancelOrder(String json) throws Exception { return vmcconnectSign(json,VmcconnectUrlEnum.ORDERS_CREATE_ORDER.getMethod()); } /** *查订单通关查询接口 */ public String ordersOuterStatus(String json) throws Exception { return vmcconnectSign(json,VmcconnectUrlEnum.ORDERS_CREATE_ORDER.getMethod()); } /** *重试订单接口 */ public String ordersRetryOrder(String json) throws Exception { return vmcconnectSign(json,VmcconnectUrlEnum.ORDERS_RETRY_ORDER.getMethod()); } // public static void main(String[] args) { // Map params2 = new HashMap<>(); // params2.put("outer_order_no","HK57746599"); // //.replaceAll("\\\\","") // Map params = new HashMap<>(); // params.put("appid","5"); // params.put("method", "vmc.orders.retry.order"); // params.put("method_params", JSON.toJSONString(params2)); // params.put("timestamp",String.valueOf(System.currentTimeMillis()/1000)); // String sign = VmcconnectSignUtils.createSign(params,"GXfc6ZtDlnxHxmmAHvfRfqvrqgfwRiJX"); // params.put("sign",sign); // StringEntity stringEntity = new StringEntity(JSON.toJSONString(params),"UTF-8"); // String msg = HttpsClientUtil.vmcconnectPost("https://testmall.greedc.com/openapi/vmcconnect/json",stringEntity); // System.out.println(msg); // // } }