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