From 337d48dbcb60bacb9bad2d4a0c3f2c34b132ef73 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 05 二月 2026 18:32:39 +0800
Subject: [PATCH] 云仓对接下单,物流同步,物流回写
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/yuncang/api/trade/TradePush.java | 80 +++++++++++++++++++++-------------------
1 files changed, 42 insertions(+), 38 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yuncang/api/trade/TradePush.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yuncang/api/trade/TradePush.java
index bf0df8d..70b5a22 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yuncang/api/trade/TradePush.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/yuncang/api/trade/TradePush.java
@@ -31,13 +31,19 @@
* @param status 平台子订单状态,子订单状态可以和主订单不一样,比如其中一个子订单退款完成,其状态是80,但主订单仍然是待发货,可选值同trade_status
* @param refund_status 0:无退款,1:取消退款,2:已申请退款,3:等待退货,4:等待收货,5:退款成功。本字段在售前退款的时候,根据不同的场景填写不同的值,eg:申请退款值为2,取消退款值为1……
* @param shop_no 代表店铺所有属性的唯一编码,用于店铺区分,ERP内支持自定义(ERP店铺界面设置,查看路径ERP→设置→基本设置→店铺→店铺列表),用于创建指定店铺单据信息,测试环境店铺编号信息同接口账号。ERP内shop_no对应的“店铺平台”必须为“自有/其它”。正式环境店铺创建成功后ERP会自动授权,如果自动授权失败,在ERP店铺界面(路径ERP→设置→基本设置→店铺→店铺列表)选中授权失败的店铺,点击店铺界面提供的店铺授权按钮重新授权。
+ * @param receiver_name 收件人姓名
+ * @param receiver_province 收件人省份,传为中文名称需与旺店通地址库匹配
+ * @param receiver_city 收件人城市,传为中文名称需与旺店通地址库匹配
+ * @param receiver_district 收件人区县,传为中文名称需与旺店通地址库匹配
+ * @param receiver_address 收件人地址详情,传为中文名称,需与旺店通地址库匹配,点击查看,如果不传省市区,则会尝试从详细地址解析省市区,必须是空格分隔的才能解析成功,需要注意直辖市的地址格式,举例“北京 北京市 海淀区 花园路xxxx”
+ * @param receiver_mobile 手机号码
*/
public static JSONObject tradePush(String sid, String appkey, String appsecret, String url,
TErpProcurement erpProcurement, List<TErpProcurementGoods> erpProcurementGoods,
- Integer trade_status,String clinicName,Integer status,Integer refund_status,
- String shop_no,String goods_id,String spec_id,String goods_no,String spec_no,
- String receiver_name,String receiver_province,String receiver_city,
- String receiver_district,String receiver_address,String receiver_mobile) {
+ Integer trade_status,Integer status,Integer refund_status,String clinicName,
+ String shop_no,String receiver_name,String receiver_province,
+ String receiver_city,String receiver_district,String receiver_address,
+ String receiver_mobile) {
WdtClient client = new WdtClient(sid, appkey, appsecret, url);
//测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/
//调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/
@@ -51,10 +57,10 @@
order_1.put("price", erpProcurementGood.getPurchasePrice());
order_1.put("status", status);
order_1.put("refund_status", refund_status);
- order_1.put("goods_id", goods_id);
- order_1.put("spec_id", spec_id);
- order_1.put("goods_no", goods_no);
- order_1.put("spec_no", spec_no);
+ order_1.put("goods_id", erpProcurementGood.getCloudGoodsId());
+ order_1.put("spec_id", erpProcurementGood.getCloudSpecId());
+ order_1.put("goods_no", erpProcurementGood.getCloudGoodsCode());
+ order_1.put("spec_no", erpProcurementGood.getCloudSpecCode());
order_1.put("goods_name", erpProcurementGood.getGoodsName());
order_1.put("discount", 0); //子订单折扣
order_1.put("adjust_amount", 0); //手工调整,特别注意:正的表示加价,负的表示减价
@@ -67,8 +73,8 @@
trade_1.put("trade_status", trade_status);
trade_1.put("pay_status", "2");
trade_1.put("delivery_term", 1);
- trade_1.put("trade_time", DateUtils.localDateTimeToDate(erpProcurement.getCreateTime()));
- trade_1.put("pay_time", DateUtils.localDateTimeToDate(erpProcurement.getPayTime()));
+ trade_1.put("trade_time", DateUtils.localDateTimeToString(erpProcurement.getCreateTime()));
+ trade_1.put("pay_time", DateUtils.localDateTimeToString(erpProcurement.getPayTime()));
trade_1.put("buyer_nick", clinicName);
trade_1.put("receiver_name", receiver_name);
trade_1.put("receiver_province", receiver_province);
@@ -107,7 +113,7 @@
return null;
}
public static void main(String[] args) {
- WdtClient client = new WdtClient("传入sid", "传入appkey", "传入appsecret", "传入url");
+ WdtClient client = new WdtClient("apidevnew2", "hytycw02-test", "c7ae51196", "https://sandbox.wangdian.cn/openapi2/");
//测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/
//调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/
@@ -115,16 +121,16 @@
List<Map<String, Object>> order_list = new ArrayList<Map<String, Object>>();
Map<String, Object> order_1 = new HashMap<String, Object>();
- order_1.put("oid", "ghsTest121101");
+ order_1.put("oid", "2011681139470175424");
order_1.put("num", 1);
order_1.put("price", 12);
order_1.put("status", 30);
order_1.put("refund_status", 0);
- order_1.put("goods_id", "18344");
- order_1.put("spec_id", "18656");
- order_1.put("goods_no", "ghs2");
- order_1.put("spec_no", "ghs201812070212123");
- order_1.put("goods_name", "123");
+ order_1.put("goods_id", "202602051455");
+ order_1.put("spec_id","20260205145501");
+ order_1.put("goods_no", "AL0204_QTZL014A");
+ order_1.put("spec_no", "AL0204_QTZL014A");
+ order_1.put("goods_name", "真露西柚13度360ml*20瓶箱装");
order_1.put("discount", 0); //子订单折扣
order_1.put("adjust_amount", 0); //手工调整,特别注意:正的表示加价,负的表示减价
order_1.put("share_discount", 0);
@@ -133,34 +139,32 @@
order_list.add(order_1);
Map<String, Object> trade_1 = new HashMap<String, Object>();
- trade_1.put("tid", "AT201812110002");
- trade_1.put("trade_status", 20);
- trade_1.put("pay_status", "1");
- trade_1.put("delivery_term", 2);
- trade_1.put("trade_time", "2018-12-11 14:21:00");
- trade_1.put("buyer_nick", "三国杀");
- trade_1.put("receiver_province", "河南省");
- trade_1.put("receiver_city", "周口市");
- trade_1.put("receiver_district", "川汇区");
- trade_1.put("receiver_mobile", "26283920011");
- trade_1.put("receiver_name", "123");
- trade_1.put("receiver_address", "123");
- trade_1.put("logistics_type", 4);
- trade_1.put("post_amount", 12);
- trade_1.put("cod_amount", 2);
+ trade_1.put("tid", "C2026011540514");
+ trade_1.put("trade_status", 30);
+ trade_1.put("pay_status", "2");
+ trade_1.put("delivery_term", 1);
+ trade_1.put("trade_time", "2026-02-05 11:21:01");
+ trade_1.put("pay_time", "2026-02-05 11:21:01");
+ trade_1.put("buyer_nick", "卡卡");
+ trade_1.put("receiver_province", "四川省");
+ trade_1.put("receiver_city", "成都市");
+ trade_1.put("receiver_district", "武侯区");
+ trade_1.put("receiver_address", "锦辉西二街天府新谷9号楼");
+ trade_1.put("receiver_name", "卡卡");
+ trade_1.put("receiver_mobile", "15731511105");
+// trade_1.put("logistics_type", 4);
+ trade_1.put("post_amount", 0);
+ trade_1.put("cod_amount", 0);
trade_1.put("ext_cod_fee", 0);
- trade_1.put("other_amount", 1);
- trade_1.put("paid", 0);
+ trade_1.put("other_amount", 0);
+ trade_1.put("paid", 12);
trade_1.put("order_list", order_list);
-
-
trade_list.add(trade_1);
-
String trade_list_json = JSON.toJSONString(trade_list);
//System.out.println(purchase_info_json);
Map<String, String> params = new HashMap<String, String>();
- params.put("shop_no", "ghs2test");
+ params.put("shop_no", "hytycw02-test");
params.put("trade_list", trade_list_json);
try {
String response = client.execute("trade_push.php", params);
--
Gitblit v1.7.1