圆通:把创建订单接口、获取运单号、取消订单接口、查询订单接口、面单变成Java工具类给出测试案例
创建订单接口的Java工具类:
import java.util.HashMap;
import java.util.Map;
public class CreateOrderUtil {
private static final String URL = "https://api.yto.net.cn/interface/delivery";
private static final String APP_KEY = "your_app_key";
private static final String SECRET_KEY = "your_secret_key";
public static String createOrder(String logistics_interface) {
Map<String, String> params = new HashMap<>();
params.put("logistics_interface", logistics_interface);
params.put("data_digest", SignUtil.sign(logistics_interface, SECRET_KEY));
params.put("clientId", APP_KEY);
params.put("type", "offline");
return HttpUtil.post(URL, params);
}
}
获取运单号的Java工具类:
import java.util.HashMap;
import java.util.Map;
public class WaybillUtil {
private static final String URL = "https://api.yto.net.cn/interface/waybill";
private static final String APP_KEY = "your_app_key";
private static final String SECRET_KEY = "your_secret_key";
public static String getWaybill(String logistics_interface) {
Map<String, String> params = new HashMap<>();
params.put("logistics_interface", logistics_interface);
params.put("data_digest", SignUtil.sign(logistics_interface, SECRET_KEY));
params.put("clientId", APP_KEY);
params.put("type", "offline");
return HttpUtil.post(URL, params);
}
}
取消订单接口的Java工具类:
import java.util.HashMap;
import java.util.Map;
public class CancelOrderUtil {
private static final String URL = "https://api.yto.net.cn/interface/cancel";
private static final String APP_KEY = "your_app_key";
private static final String SECRET_KEY = "your_secret_key";
public static String cancelOrder(String logistics_interface) {
Map<String, String> params = new HashMap<>();
params.put("logistics_interface", logistics_interface);
params.put("data_digest", SignUtil.sign(logistics_interface, SECRET_KEY));
params.put("clientId", APP_KEY);
params.put("type", "offline");
return HttpUtil.post(URL, params);
}
}
查询订单接口的Java工具类:
import java.util.HashMap;
import java.util.Map;
public class QueryOrderUtil {
private static final String URL = "https://api.yto.net.cn/interface/query";
private static final String APP_KEY = "your_app_key";
private static final String SECRET_KEY = "your_secret_key";
public static String queryOrder(String logistics_interface) {
Map<String, String> params = new HashMap<>();
params.put("logistics_interface", logistics_interface);
params.put("data_digest", SignUtil.sign(logistics_interface, SECRET_KEY));
params.put("clientId", APP_KEY);
params.put("type", "offline");
return HttpUtil.post(URL, params);
}
}
面单接口的Java工具类:
import java.util.HashMap;
import java.util.Map;
public class PrintOrderUtil {
private static final String URL = "https://api.yto.net.cn/interface/print";
private static final String APP_KEY = "your_app_key";
private static final String SECRET_KEY = "your_secret_key";
public static String printOrder(String logistics_interface) {
Map<String, String> params = new HashMap<>();
params.put("logistics_interface", logistics_interface);
params.put("data_digest", SignUtil.sign(logistics_interface, SECRET_KEY));
params.put("clientId", APP_KEY);
params.put("type", "offline");
return HttpUtil.post(URL, params);
}
}
测试案例:
public class TestYtoApi {
private static final String APP_KEY = "your_app_key";
private static final String SECRET_KEY = "your_secret_key";
@Test
public void testCreateOrder() {
String senderName = "张三";
String senderMobile = "13888888888";
String senderProvince = "江苏省";
String senderCity = "南京市";
String senderDistrict = "鼓楼区";
String senderAddress = "xxx街道xxx号";
String receiverName = "李四";
String receiverMobile = "13999999999";
String receiverProvince = "江苏省";
String receiverCity = "苏州市";
String receiverDistrict = "工业园区";
String receiverAddress = "yyy街道yyy号";
String expressType = "标准快递";
String orderNo = "123456789";
String goodsValue = "100";
String weight = "1";
String remark = "无";
String logistics_interface = YtoApiUtil.createOrder(senderName, senderMobile, senderProvince, senderCity, senderDistrict, senderAddress,
receiverName, receiverMobile, receiverProvince, receiverCity, receiverDistrict, receiverAddress, expressType, orderNo, goodsValue, weight, remark);
String result = CreateOrderUtil.createOrder(logistics_interface);
System.out.println(result);
}
@Test
public void testGetWaybill() {
String mailNo = "1234567890";
String logistics_interface = YtoApiUtil.getWaybill(mailNo);
String result = WaybillUtil.getWaybill(logistics_interface);
System.out.println(result);
}
@Test
public void testCancelOrder() {
String mailNo = "1234567890";
String orderType = "1";
String logistics_interface = YtoApiUtil.cancelOrder(mailNo, orderType);
String result = CancelOrderUtil.cancelOrder(logistics_interface);
System.out.println(result);
}
@Test
public void testQueryOrder() {
String mailNo = "1234567890";
String logistics_interface = YtoApiUtil.queryOrder(mailNo);
String result = QueryOrderUtil.queryOrder(logistics_interface);
System.out.println(result);
}
@Test
public void testPrintOrder() {
String mailNo = "1234567890";
String logistics_interface = YtoApiUtil.printOrder(mailNo);
String result = PrintOrderUtil.printOrder(logistics_interface);
System.out.println(result);
}
private static class YtoApiUtil {
public static String createOrder(String senderName, String senderMobile, String senderProvince, String senderCity, String senderDistrict, String senderAddress,
String receiverName, String receiverMobile, String receiverProvince, String receiverCity, String receiverDistrict, String receiverAddress,
String expressType, String orderNo, String goodsValue, String weight, String remark) {
JSONObject json = new JSONObject();
json.put("app_key", APP_KEY);
json.put("sender_name", senderName);
json.put("sender_mobile", senderMobile);
json.put("sender_province", senderProvince);
json.put("sender_city", senderCity);
json.put("sender_district", senderDistrict);
json.put("sender_address", senderAddress);
json.put("receiver_name", receiverName);
json.put("receiver_mobile", receiverMobile);
json.put("receiver_province", receiverProvince);
json.put("receiver_city", receiverCity);
json.put("receiver_district", receiverDistrict);
json.put("receiver_address", receiverAddress);
json.put("express_type", expressType);
json.put("order_no", orderNo);
json.put("goods_value", goodsValue);
json.put("weight", weight);
json.put("remark", remark);
return json.toJSONString();
}
public static String getWaybill(String mailNo) {
JSONObject json = new JSONObject();
json.put("app_key", APP_KEY);
json.put("mail_no", mailNo);
return json.toJSONString();
}
public static String cancelOrder(String mailNo, String orderType) {
JSONObject json = new JSONObject();
json.put("app_key", APP_KEY);
json.put("mail_no", mailNo);
json.put("order_type", orderType);
return json.toJSONString();
}
public static String queryOrder(String mailNo) {
JSONObject json = new JSONObject();
json.put("app_key", APP_KEY);
json.put("mail_no", mailNo);
return json.toJSONString();
}
public static String printOrder(String mailNo) {
JSONObject json = new JSONObject();
json.put("app_key", APP_KEY);
json.put("mail_no", mailNo);
return json.toJSONString();
}
}
}
原文地址: https://www.cveoy.top/t/topic/bnBX 著作权归作者所有。请勿转载和采集!