From 9e10d29bfe24fb0e36385ec16fa99abedc48eac2 Mon Sep 17 00:00:00 2001 From: wule Date: Fri, 13 Nov 2026 19:37:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=A2=E5=8D=95=E8=AF=BB?= =?UTF-8?q?=E5=8F=96=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs | 6 +- .../PDDMultiBuyerOrderReadCtrl.xaml.cs | 6 +- .../BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs | 6 +- .../OrderCtrls/OrderGetOrderListHelper.cs | 474 +++++++++++++++++- .../Ctrls/OrderCtrls/OrderListCtrl.xaml.cs | 399 +-------------- .../Ctrls/OrderCtrls/OrderTransitService.cs | 6 +- .../TransitReturnOrderWindow.xaml.cs | 10 +- 7 files changed, 499 insertions(+), 408 deletions(-) diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs index 648dcae..2b80bd3 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs @@ -721,7 +721,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } // 装载同步单 - var syncOrderList = await OrderListCtrl.GetSyncLogistics(out_order_nos); + var syncOrderList = await OrderGetOrderListHelper.GetSyncLogistics(out_order_nos); foreach (var syncOrder in syncOrderList) { if (!lstSyncLogistics.Contains(syncOrder)) @@ -2564,8 +2564,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls if (orderSnTracks.Count == 0) return; - //var syncOrderAllList = OrderListCtrl.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn))); - var syncOrderList = await OrderListCtrl.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn)), 1); + //var syncOrderAllList = OrderGetOrderListHelper.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn))); + var syncOrderList = await OrderGetOrderListHelper.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn)), 1); foreach (var sOrder in syncOrderList) { var orderSnTrack = orderSnTracks.FirstOrDefault(o => o.order_sn == sOrder.order_id); diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs index b749206..6cca7b0 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs @@ -648,7 +648,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } // 装载同步单 - var syncOrderList = await OrderListCtrl.GetSyncLogistics(out_order_nos); + var syncOrderList = await OrderGetOrderListHelper.GetSyncLogistics(out_order_nos); foreach (var syncOrder in syncOrderList) { if (!lstSyncLogistics.Contains(syncOrder)) @@ -2118,8 +2118,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls if (orderSnTracks.Count == 0) return; - //var syncOrderAllList = OrderListCtrl.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn))); - var syncOrderList = await OrderListCtrl.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn)), 1); + //var syncOrderAllList = OrderGetOrderListHelper.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn))); + var syncOrderList = await OrderGetOrderListHelper.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn)), 1); foreach (var sOrder in syncOrderList) { var orderSnTrack = orderSnTracks.FirstOrDefault(o => o.order_sn == sOrder.order_id); diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs index d989ec6..46a48c7 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs @@ -686,7 +686,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var out_order_nos = string.Join(",", list.Select(bo => bo.order_sn)); // 装载同步单 - var syncOrderList = await OrderListCtrl.GetSyncLogistics(out_order_nos); + var syncOrderList = await OrderGetOrderListHelper.GetSyncLogistics(out_order_nos); foreach (var syncOrder in syncOrderList) { if (!lstSyncLogistics.Contains(syncOrder)) @@ -1980,8 +1980,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls if (orderSnTracks.Count == 0) return; - //var syncOrderAllList = OrderListCtrl.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn))); - var syncOrderList = await OrderListCtrl.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn)), 1); + //var syncOrderAllList = OrderGetOrderListHelper.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn))); + var syncOrderList = await OrderGetOrderListHelper.GetSyncLogistics(string.Join(",", orderSnTracks.Select(o => o.order_sn)), 1); foreach (var sOrder in syncOrderList) { var orderSnTrack = orderSnTracks.FirstOrDefault(o => o.order_sn == sOrder.order_id); diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs index ca30950..2085fee 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs @@ -16,12 +16,54 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls; public class OrderGetOrderListHelper { + /// + /// 增量读取全部订单信息 + /// + /// + /// + public static async Task GetWxOrder‌IncrementAsync(DateTime? lastUpdateTime) + { + if (lastUpdateTime == null || lastUpdateTime == DateTime.MinValue) + return; + + var shopIdList = GlobalConfig.ShopLoginList.Select(s => s.ErpShopId.ToString()).ToList(); + var shopIds = string.Join(",", shopIdList); + + var existOrderIdList = GlobalConfig.ShopLoginList.Select(s => s.ErpShopId.ToString()).ToList(); + var updateOrderList = await GetOrderInfoBase(null, 0, shopIds, lastUpdateTime); + var updateOrderIdList = GlobalConfig.ShopLoginList.Select(s => s.ErpShopId.ToString()).ToList(); + var orderIdList = existOrderIdList; + orderIdList.AddRange(updateOrderIdList); + orderIdList = orderIdList.Distinct().ToList(); + + while(orderIdList.Count > 0 ) + { + var orderIdTake = orderIdList.Take(500).ToList(); + orderIdList.RemoveAll(o => orderIdTake.Contains(o)); + + var orderIds = string.Join(",", orderIdTake); + + } + + + } + + /// + /// 读取买手号订单对应的微信店铺订单信息 + /// + /// + /// + public static async Task> GetOrderInfo(string order_ids) + { + return await GetOrderInfoBase(order_ids); + } + /// /// 读取订单详情信息 /// /// /// - static async Task> GetOrderInfoBase(string orderIds, string shopIds = null, DateTime? beginUpdateTime = null, DateTime? endUpdateTime = null) + static async Task> GetOrderInfoBase(string orderIds, int pageSize = 100, string shopIds = null, DateTime? beginUpdateTime = null, DateTime? endUpdateTime = null) { if (string.IsNullOrEmpty(orderIds)) return new List(); @@ -32,7 +74,7 @@ public class OrderGetOrderListHelper var url = BaseClass.Build29WxObjString("order/get_erp_order_list"); var data = UserLogin.GetSignaturex(); data += "&erp_order_id_in=" + orderIds; - data += "&page_size=" + 100; + data += "&page_size=" + pageSize; if (!string.IsNullOrWhiteSpace(shopIds)) data += "&erp_shop_id_in=" + shopIds; if (beginUpdateTime != null && beginUpdateTime != DateTime.MinValue) @@ -57,7 +99,7 @@ public class OrderGetOrderListHelper if (orders == null) orders = new List(); - var orderItems = await OrderListCtrl.GetOrderItemInfo(orderIds); + var orderItems = await GetOrderItemInfo(orderIds); foreach (var orderItem in orderItems) { var order = orders.FirstOrDefault(o => o.order_id == orderItem.order_id); @@ -73,15 +115,433 @@ public class OrderGetOrderListHelper } } - public static async Task> GetOrderInfo(string order_ids) + /// + /// 读取订单详情信息 + /// + /// + /// + public static async Task> GetOrderItemInfo(string order_ids) { - return await GetOrderInfoBase(order_ids, null, null); + if (string.IsNullOrEmpty(order_ids)) + return new List(); + var url = BaseClass.Build29WxObjString("order/get_erp_order_item_list"); + var data = UserLogin.GetSignaturex(); + data += "&erp_order_id_in=" + order_ids; + data += "&page_size=" + 2500; + var html = await GetHtml.PostUtf8Async(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = await GetHtml.PostUtf8Async(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单详情读取失败 " + BaseRegex.GetStringJson(ref html, "msg"), "Error", 5); + } + List orderItems = new List(); + try + { + orderItems = JsonHelper.DeserializeJsonToList(JObject.Parse(html)["data"].ParseToString()); + if (orderItems == null) + orderItems = new List(); + } + catch (Exception ex) + { + orderItems = new List(); + BaseMsgWindow.ShowAnimateMessage("订单详情读取失败 " + ex.Message, "Error", 5); + } + return orderItems; } - public static async Task> GetWxOrder‌IncrementAsync() + /// + /// 读取售后单 + /// + /// + /// + public static async Task> GetOrderRefundInfo(string order_ids) { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + Thread.Sleep(100); + var url2 = BaseClass.Build29WxObjString("order/get_erp_refund_list"); + var data2 = UserLogin.GetSignaturex(); + data2 += "&erp_order_id_in=" + order_ids; + var html2 = await GetHtml.PostUtf8Async(url2, data2); + if (string.IsNullOrEmpty(html2) || !html2.Contains("\"code\":200")) + html2 = await GetHtml.PostUtf8Async(url2, data2); + if (string.IsNullOrEmpty(html2) || !html2.Contains("\"code\":200")) + { + //BaseMsgWindow.ShowError(MainWindow.Instance, "订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg")); + //break; + } + List refunds = new List(); + try { refunds = JsonHelper.DeserializeJsonToList(JObject.Parse(html2)["data"].ParseToString()); } catch { } + return refunds; + } + /// + /// 读取扩展订单信息 + /// + /// + /// + public static async Task> GetOrderItemExts(string order_ids) + { + List existOrderExtList = new List(); + if (!string.IsNullOrEmpty(order_ids)) + { + var url = BaseClass.Build29WxObjString("order/wx_get_order_item_ext_info"); + var data = UserLogin.GetSignaturex(); + data += "&wx_order_id_in=" + order_ids; + var html = await GetHtml.PostUtf8Async(url, data); + if (!html.Contains("\"code\":200")) + html = await GetHtml.PostUtf8Async(url, data); + if (!html.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单扩展信息查询失败 " + BaseRegex.GetStringJson(ref html, "msg"), "Error", 5); + } + try + { + existOrderExtList = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(html)["data"].ParseToString()); + } + catch + { + } + } + return existOrderExtList; + } - return new List(); + /// + /// 读取中转仓订单发货包裹信息 + /// + /// + /// + public static async Task> GetTransitWarehouseList(string order_ids) + { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + + var url3 = BaseClass.Build29WxObjString("order/wx_get_transit_order"); + var data3 = UserLogin.GetSignaturex(); + data3 += "&order_no=" + order_ids; + data3 += "&page_size=5000"; + var html3 = await GetHtml.PostUtf8Async(url3, data3); + if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) + html3 = await GetHtml.PostUtf8Async(url3, data3); + if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败 " + BaseRegex.GetStringJson(ref html3, "msg"), "Error", 5); + } + List transitOrderList = new List(); + try + { + transitOrderList = JsonHelper.DeserializeJsonToList(JObject.Parse(html3)["data"].ParseToString()); + return transitOrderList; + } + catch + { + } + return new List(); + } + + /// + /// 读取中转仓额外包裹 + /// + /// + /// + public static async Task> GetTransitExtraPackageList(string order_ids) + { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + + var url3 = BaseClass.Build29WxObjString("order/wx_get_transfer_extra_package"); + var data3 = UserLogin.GetSignaturex(); + data3 += "&order_no=" + order_ids; + var html3 = await GetHtml.PostUtf8Async(url3, data3); + if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) + html3 = await GetHtml.PostUtf8Async(url3, data3); + if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败 " + BaseRegex.GetStringJson(ref html3, "msg"), "Error", 5); + } + List transitExtraPackageList = new List(); + try + { + transitExtraPackageList = JsonHelper.DeserializeJsonToList(JObject.Parse(html3)["data"].ParseToString()); + return transitExtraPackageList; + } + catch + { + } + return new List(); + } + + /// + /// 读取中转仓退货包裹 + /// + /// + /// + public static async Task> GetTransitWarehouseAfterSaleList(string order_ids) + { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + + // 读取中转仓处理售后单 + var url5 = BaseClass.Build29WxObjString("order/wx_get_transit_warehouse_aftersale_list"); + var data5 = UserLogin.GetSignaturex(); + data5 += "&wx_order_id_in=" + order_ids; + var html5 = await GetHtml.PostUtf8Async(url5, data5); + if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) + html5 = await GetHtml.PostUtf8Async(url5, data5); + if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("云仓售后订单读取失败 " + BaseRegex.GetStringJson(ref html5, "msg"), "Error", 5); + } + List transitAfterSaleList = new List(); + try + { + transitAfterSaleList = JsonHelper.DeserializeJsonToList(JObject.Parse(html5)["data"].ParseToString()) + .OrderByDescending(p => p.created_time).ToList(); + if (transitAfterSaleList != null) + return transitAfterSaleList; + } + catch + { + } + return new List(); + } + + /// + /// 读取退货仓包裹 + /// + /// + /// + public static async Task> GetTransitReturnOrderList(string order_ids) + { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + + // 读取退货仓包裹 + var url5 = BaseClass.Build29WxObjString("order/wx_get_erp_return_order_list"); + var data5 = UserLogin.GetSignaturex(); + data5 += "&erp_order_id_in=" + order_ids; + var html5 = await GetHtml.PostUtf8Async(url5, data5); + if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) + html5 = await GetHtml.PostUtf8Async(url5, data5); + if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("云仓分销退货订单读取失败 " + BaseRegex.GetStringJson(ref html5, "msg"), "Error", 5); + } + List transitAfterSaleList = new List(); + try + { + transitAfterSaleList = JsonHelper.DeserializeJsonToList(JObject.Parse(html5)["data"].ParseToString()) + .OrderByDescending(p => p.created_at).ToList(); + if (transitAfterSaleList != null) + return transitAfterSaleList; + } + catch + { + } + return new List(); + } + + /// + /// 读取多多买手单 + /// + /// + /// + public static async Task> GetPddBuyerOrders(string order_ids) + { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + + var url4 = BaseClass.Build29WxObjString("order/wx_get_buyer_order_list"); + var data4 = UserLogin.GetSignaturex(); + data4 += "&wx_order_id_in=" + order_ids; + var html4 = await GetHtml.PostUtf8Async(url4, data4); + if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) + html4 = await GetHtml.PostUtf8Async(url4, data4); + if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手) " + BaseRegex.GetStringJson(ref html4, "msg"), "Error", 5); + } + List pddBuyerOrders = new List(); + try + { + pddBuyerOrders = JsonHelper.DeserializeJsonToList(JObject.Parse(html4)["data"].ParseToString()) + .OrderByDescending(p => p.TransitCreateTime).ToList(); + return pddBuyerOrders; + } + catch + { + } + return new List(); + } + + /// + /// 读取淘宝买手单 + /// + /// + /// + public static async Task> GetTbBuyerOrders(string order_ids) + { + if (string.IsNullOrEmpty(order_ids)) + return new List(); + + var url4 = BaseClass.Build29WxObjString("order/wx_get_tb_buyer_order_list"); + var data4 = UserLogin.GetSignaturex(); + data4 += "&wx_order_id_in=" + order_ids; + var html4 = await GetHtml.PostUtf8Async(url4, data4); + if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) + html4 = await GetHtml.PostUtf8Async(url4, data4); + if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手) " + BaseRegex.GetStringJson(ref html4, "msg"), "Error", 5); + } + List pddBuyerOrders = new List(); + try + { + pddBuyerOrders = JsonHelper.DeserializeJsonToList(JObject.Parse(html4)["data"].ParseToString()) + .OrderByDescending(p => p.TransitCreateTime).ToList(); + return pddBuyerOrders; + } + catch + { + } + return new List(); + } + + /// + /// 读取多多售后 + /// + /// + /// + public static async Task> GetPddBuyerAfterSales(string order_ids) + { + var url6 = BaseClass.Build29WxObjString("order/wx_get_buyer_after_sale_list"); + var data6 = UserLogin.GetSignaturex(); + data6 += "&wx_order_id_in=" + order_ids; + List pddBuyerAfterSales = new List(); + if (!string.IsNullOrEmpty(order_ids)) + { + var html6 = await GetHtml.PostUtf8Async(url6, data6); + if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) + html6 = await GetHtml.PostUtf8Async(url6, data6); + if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手售后) " + BaseRegex.GetStringJson(ref html6, "msg"), "Error", 6); + return new List(); + } + try + { + pddBuyerAfterSales = JsonHelper.DeserializeJsonToList(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.TransitCreateTime).ToList(); + return pddBuyerAfterSales; + } + catch + { + } + } + return new List(); + } + + /// + /// 读取淘宝售后 + /// + /// + /// + public static async Task> GetTbBuyerAfterSales(string order_ids) + { + var url6 = BaseClass.Build29WxObjString("order/wx_get_tb_buyer_after_sale_list"); + var data6 = UserLogin.GetSignaturex(); + data6 += "&wx_order_id_in=" + order_ids; + List pddBuyerAfterSales = new List(); + if (!string.IsNullOrEmpty(order_ids)) + { + var html6 = await GetHtml.PostUtf8Async(url6, data6); + if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) + html6 = await GetHtml.PostUtf8Async(url6, data6); + if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手售后) " + BaseRegex.GetStringJson(ref html6, "msg"), "Error", 6); + return new List(); + } + try + { + pddBuyerAfterSales = JsonHelper.DeserializeJsonToList(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.TransitCreateTime).ToList(); + return pddBuyerAfterSales; + } + catch + { + } + } + return new List(); + } + + /// + /// 读取同步单信息 + /// + /// + /// + /// + public static async Task> GetSyncLogistics(string buyer_order_ids, int? not_upload_pickup_status = null) + { + var url6 = BaseClass.Build29WxObjString("order/wx_get_sync_waybill"); + var data6 = UserLogin.GetSignaturex(); + data6 += "&order_id=" + buyer_order_ids; + if (not_upload_pickup_status != null) + data6 += "¬_upload_pickup_status=" + not_upload_pickup_status; + List pddBuyerAfterSales = new List(); + if (!string.IsNullOrEmpty(buyer_order_ids)) + { + var html6 = await GetHtml.PostUtf8Async(url6, data6); + if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) + html6 = await GetHtml.PostUtf8Async(url6, data6); + if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手售后) " + BaseRegex.GetStringJson(ref html6, "msg"), "Error", 6); + return new List(); + } + try + { + pddBuyerAfterSales = JsonHelper.DeserializeJsonToList(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.id).ToList(); + return pddBuyerAfterSales; + } + catch (Exception ex) + { + } + } + return new List(); + } + + /// + /// 读取店铺物流信息 + /// + /// + /// + public static async Task> GetEWaybillPath(string order_ids) + { + List oms_wei_ewaybill_path_list = null; + if (!string.IsNullOrEmpty(order_ids)) + { + try + { + var url = BaseClass.Build29WxObjString("order/wx_get_erp_ewaybill_path_latest_list"); + var data = UserLogin.GetSignaturex(); + data += "&erp_order_id_in=" + order_ids; + var html = await GetHtml.PostUtf8Async(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = await GetHtml.PostUtf8Async(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + BaseMsgWindow.ShowAnimateMessage("物流查询失败 " + BaseRegex.GetStringJson(ref html, "msg"), "Error", 6); + } + else + { + oms_wei_ewaybill_path_list = JsonHelper.DeserializeJsonToList(JObject.Parse(html)["data"].ParseToString()).OrderByDescending(p => p.update_time).ToList(); + return oms_wei_ewaybill_path_list; + } + } + catch + { + } + } + return new List(); } } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index bab8101..791f5a9 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -442,17 +442,17 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls // 读取订单详情 if (string.IsNullOrEmpty(order_ids)) await Task.Delay(100); - List orderItems = await GetOrderItemInfo(order_ids); + List orderItems = await OrderGetOrderListHelper.GetOrderItemInfo(order_ids); // 读取售后单 if (string.IsNullOrEmpty(order_ids)) await Task.Delay(100); - List refunds = await GetOrderRefundInfo(order_ids); + List refunds = await OrderGetOrderListHelper.GetOrderRefundInfo(order_ids); // 读订单扩展 if (string.IsNullOrEmpty(order_ids)) await Task.Delay(100); - List orderItemExts = await GetOrderItemExts(order_ids); + List orderItemExts = await OrderGetOrderListHelper.GetOrderItemExts(order_ids); if (string.IsNullOrEmpty(order_ids)) { foreach (var oie in orderItemExts) @@ -464,30 +464,30 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } // 读取中转仓拍单订单 - var transitOrderList = await GetTransitWarehouseList(order_ids); + var transitOrderList = await OrderGetOrderListHelper.GetTransitWarehouseList(order_ids); // 额外订单包裹补发 - var transitExtraPackageList = await GetTransitExtraPackageList(order_ids); + var transitExtraPackageList = await OrderGetOrderListHelper.GetTransitExtraPackageList(order_ids); // 读取中转仓拍单订单售后状态 - var transitAfterSaleList = await GetTransitWarehouseAfterSaleList(order_ids); + var transitAfterSaleList = await OrderGetOrderListHelper.GetTransitWarehouseAfterSaleList(order_ids); // 读取分销退货(中转仓退货)订单 - var transitReturnOrderList = await GetTransitReturnOrderList(order_ids); + var transitReturnOrderList = await OrderGetOrderListHelper.GetTransitReturnOrderList(order_ids); // 读取暂时记录的买手订单,后面想办法放到中转订单库里去 - var pddBuyerOrders = await GetPddBuyerOrders(order_ids); + var pddBuyerOrders = await OrderGetOrderListHelper.GetPddBuyerOrders(order_ids); // 读取暂时记录的淘宝买手订单(格式与拼多多的一致,存在不同的表中),后面想办法放到中转订单库里去 - pddBuyerOrders.AddRange(await GetTbBuyerOrders(order_ids)); + pddBuyerOrders.AddRange(await OrderGetOrderListHelper.GetTbBuyerOrders(order_ids)); // 读取暂时记录的买手售后单,后面想办法放到中转订单库里去 - var pddBuyerAfterSales = await GetPddBuyerAfterSales(order_ids); + var pddBuyerAfterSales = await OrderGetOrderListHelper.GetPddBuyerAfterSales(order_ids); // 读取暂时记录的淘宝买手售后单(格式与拼多多的一致,存在不同的表中),后面想办法放到中转订单库里去 - pddBuyerAfterSales.AddRange(await GetTbBuyerAfterSales(order_ids)); + pddBuyerAfterSales.AddRange(await OrderGetOrderListHelper.GetTbBuyerAfterSales(order_ids)); // 同步单 var buyerOrderIds = string.Join(",", pddBuyerOrders.Select(o => o.order_sn)); - var syncLogistics = await GetSyncLogistics(buyerOrderIds); + var syncLogistics = await OrderGetOrderListHelper.GetSyncLogistics(buyerOrderIds); // 读取关联拍单商品 var buyMapList = await GetBuyProdMap(orderItems); @@ -496,7 +496,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls var buyMapSkusList = await GetBuyProdMapSkus(orderItems); // 读取物流轨迹 - var ewaybillLst = await GetEWaybillPath(order_ids); + var ewaybillLst = await OrderGetOrderListHelper.GetEWaybillPath(order_ids); // 装载订单 foreach (JObject jObj in jArr) @@ -669,379 +669,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } } - /// - /// 读取订单详情信息 - /// - /// - /// - public static async Task> GetOrderItemInfo(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - var url = BaseClass.Build29WxObjString("order/get_erp_order_item_list"); - var data = UserLogin.GetSignaturex(); - data += "&erp_order_id_in=" + order_ids; - data += "&page_size=" + 2500; - var html = await GetHtml.PostUtf8Async(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - html = await GetHtml.PostUtf8Async(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单详情读取失败 " + BaseRegex.GetStringJson(ref html, "msg"), "Error", 5); - } - List orderItems = new List(); - try - { - orderItems = JsonHelper.DeserializeJsonToList(JObject.Parse(html)["data"].ParseToString()); - if (orderItems == null) - orderItems = new List(); - } - catch (Exception ex) - { - orderItems = new List(); - BaseMsgWindow.ShowAnimateMessage("订单详情读取失败 " + ex.Message, "Error", 5); - } - return orderItems; - } + - public static async Task> GetOrderItemExts(string order_ids) - { - List existOrderExtList = new List(); - if (!string.IsNullOrEmpty(order_ids)) - { - var url = BaseClass.Build29WxObjString("order/wx_get_order_item_ext_info"); - var data = UserLogin.GetSignaturex(); - data += "&wx_order_id_in=" + order_ids; - var html = await GetHtml.PostUtf8Async(url, data); - if (!html.Contains("\"code\":200")) - html = await GetHtml.PostUtf8Async(url, data); - if (!html.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单扩展信息查询失败 " + BaseRegex.GetStringJson(ref html, "msg"), "Error", 5); - } - try - { - existOrderExtList = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(html)["data"].ParseToString()); - } - catch - { - } - } - return existOrderExtList; - } - /// - /// 读取售后单 - /// - /// - /// - public static async Task> GetOrderRefundInfo(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - Thread.Sleep(100); - var url2 = BaseClass.Build29WxObjString("order/get_erp_refund_list"); - var data2 = UserLogin.GetSignaturex(); - data2 += "&erp_order_id_in=" + order_ids; - var html2 = await GetHtml.PostUtf8Async(url2, data2); - if (string.IsNullOrEmpty(html2) || !html2.Contains("\"code\":200")) - html2 = await GetHtml.PostUtf8Async(url2, data2); - if (string.IsNullOrEmpty(html2) || !html2.Contains("\"code\":200")) - { - //BaseMsgWindow.ShowError(MainWindow.Instance, "订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg")); - //break; - } - List refunds = new List(); - try { refunds = JsonHelper.DeserializeJsonToList(JObject.Parse(html2)["data"].ParseToString()); } catch { } - return refunds; - } - - public static async Task> GetTransitWarehouseList(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - var url3 = BaseClass.Build29WxObjString("order/wx_get_transit_order"); - var data3 = UserLogin.GetSignaturex(); - data3 += "&order_no=" + order_ids; - data3 += "&page_size=5000"; - var html3 = await GetHtml.PostUtf8Async(url3, data3); - if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) - html3 = await GetHtml.PostUtf8Async(url3, data3); - if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败 " + BaseRegex.GetStringJson(ref html3, "msg"), "Error", 5); - } - List transitOrderList = new List(); - try - { - transitOrderList = JsonHelper.DeserializeJsonToList(JObject.Parse(html3)["data"].ParseToString()); - return transitOrderList; - } - catch - { - } - return new List(); - } - - public static async Task> GetTransitExtraPackageList(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - var url3 = BaseClass.Build29WxObjString("order/wx_get_transfer_extra_package"); - var data3 = UserLogin.GetSignaturex(); - data3 += "&order_no=" + order_ids; - var html3 = await GetHtml.PostUtf8Async(url3, data3); - if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) - html3 = await GetHtml.PostUtf8Async(url3, data3); - if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败 " + BaseRegex.GetStringJson(ref html3, "msg"), "Error", 5); - } - List transitExtraPackageList = new List(); - try - { - transitExtraPackageList = JsonHelper.DeserializeJsonToList(JObject.Parse(html3)["data"].ParseToString()); - return transitExtraPackageList; - } - catch - { - } - return new List(); - } - - public static async Task> GetTransitWarehouseAfterSaleList(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - // 读取中转仓处理售后单 - var url5 = BaseClass.Build29WxObjString("order/wx_get_transit_warehouse_aftersale_list"); - var data5 = UserLogin.GetSignaturex(); - data5 += "&wx_order_id_in=" + order_ids; - var html5 = await GetHtml.PostUtf8Async(url5, data5); - if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) - html5 = await GetHtml.PostUtf8Async(url5, data5); - if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("云仓售后订单读取失败 " + BaseRegex.GetStringJson(ref html5, "msg"), "Error", 5); - } - List transitAfterSaleList = new List(); - try - { - transitAfterSaleList = JsonHelper.DeserializeJsonToList(JObject.Parse(html5)["data"].ParseToString()) - .OrderByDescending(p => p.created_time).ToList(); - if (transitAfterSaleList != null) - return transitAfterSaleList; - } - catch - { - } - return new List(); - } - - public static async Task> GetTransitReturnOrderList(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - // 读取中转仓处理售后单 - var url5 = BaseClass.Build29WxObjString("order/wx_get_erp_return_order_list"); - var data5 = UserLogin.GetSignaturex(); - data5 += "&erp_order_id_in=" + order_ids; - var html5 = await GetHtml.PostUtf8Async(url5, data5); - if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) - html5 = await GetHtml.PostUtf8Async(url5, data5); - if (string.IsNullOrEmpty(html5) || !html5.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("云仓分销退货订单读取失败 " + BaseRegex.GetStringJson(ref html5, "msg"), "Error", 5); - } - List transitAfterSaleList = new List(); - try - { - transitAfterSaleList = JsonHelper.DeserializeJsonToList(JObject.Parse(html5)["data"].ParseToString()) - .OrderByDescending(p => p.created_at).ToList(); - if (transitAfterSaleList != null) - return transitAfterSaleList; - } - catch - { - } - return new List(); - } - - public static async Task> GetPddBuyerOrders(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - var url4 = BaseClass.Build29WxObjString("order/wx_get_buyer_order_list"); - var data4 = UserLogin.GetSignaturex(); - data4 += "&wx_order_id_in=" + order_ids; - var html4 = await GetHtml.PostUtf8Async(url4, data4); - if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) - html4 = await GetHtml.PostUtf8Async(url4, data4); - if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手) " + BaseRegex.GetStringJson(ref html4, "msg"), "Error", 5); - } - List pddBuyerOrders = new List(); - try - { - pddBuyerOrders = JsonHelper.DeserializeJsonToList(JObject.Parse(html4)["data"].ParseToString()) - .OrderByDescending(p => p.TransitCreateTime).ToList(); - return pddBuyerOrders; - } - catch - { - } - return new List(); - } - - public static async Task> GetTbBuyerOrders(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - var url4 = BaseClass.Build29WxObjString("order/wx_get_tb_buyer_order_list"); - var data4 = UserLogin.GetSignaturex(); - data4 += "&wx_order_id_in=" + order_ids; - var html4 = await GetHtml.PostUtf8Async(url4, data4); - if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) - html4 = await GetHtml.PostUtf8Async(url4, data4); - if (string.IsNullOrEmpty(html4) || !html4.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手) " + BaseRegex.GetStringJson(ref html4, "msg"), "Error", 5); - } - List pddBuyerOrders = new List(); - try - { - pddBuyerOrders = JsonHelper.DeserializeJsonToList(JObject.Parse(html4)["data"].ParseToString()) - .OrderByDescending(p => p.TransitCreateTime).ToList(); - return pddBuyerOrders; - } - catch - { - } - return new List(); - } - - public static async Task> GetPddBuyerAfterSales(string order_ids) - { - var url6 = BaseClass.Build29WxObjString("order/wx_get_buyer_after_sale_list"); - var data6 = UserLogin.GetSignaturex(); - data6 += "&wx_order_id_in=" + order_ids; - List pddBuyerAfterSales = new List(); - if (!string.IsNullOrEmpty(order_ids)) - { - var html6 = await GetHtml.PostUtf8Async(url6, data6); - if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) - html6 = await GetHtml.PostUtf8Async(url6, data6); - if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手售后) " + BaseRegex.GetStringJson(ref html6, "msg"), "Error", 6); - return new List(); - } - try - { - pddBuyerAfterSales = JsonHelper.DeserializeJsonToList(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.TransitCreateTime).ToList(); - return pddBuyerAfterSales; - } - catch - { - } - } - return new List(); - } - - public static async Task> GetTbBuyerAfterSales(string order_ids) - { - var url6 = BaseClass.Build29WxObjString("order/wx_get_tb_buyer_after_sale_list"); - var data6 = UserLogin.GetSignaturex(); - data6 += "&wx_order_id_in=" + order_ids; - List pddBuyerAfterSales = new List(); - if (!string.IsNullOrEmpty(order_ids)) - { - var html6 = await GetHtml.PostUtf8Async(url6, data6); - if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) - html6 = await GetHtml.PostUtf8Async(url6, data6); - if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手售后) " + BaseRegex.GetStringJson(ref html6, "msg"), "Error", 6); - return new List(); - } - try - { - pddBuyerAfterSales = JsonHelper.DeserializeJsonToList(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.TransitCreateTime).ToList(); - return pddBuyerAfterSales; - } - catch - { - } - } - return new List(); - } - - public static async Task> GetSyncLogistics(string buyer_order_ids, int? not_upload_pickup_status = null) - { - var url6 = BaseClass.Build29WxObjString("order/wx_get_sync_waybill"); - var data6 = UserLogin.GetSignaturex(); - data6 += "&order_id=" + buyer_order_ids; - if (not_upload_pickup_status != null) - data6 += "¬_upload_pickup_status=" + not_upload_pickup_status; - List pddBuyerAfterSales = new List(); - if (!string.IsNullOrEmpty(buyer_order_ids)) - { - var html6 = await GetHtml.PostUtf8Async(url6, data6); - if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) - html6 = await GetHtml.PostUtf8Async(url6, data6); - if (string.IsNullOrEmpty(html6) || !html6.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("订单读取失败(买手售后) " + BaseRegex.GetStringJson(ref html6, "msg"), "Error", 6); - return new List(); - } - try - { - pddBuyerAfterSales = JsonHelper.DeserializeJsonToList(JObject.Parse(html6)["data"].ParseToString()).OrderByDescending(p => p.id).ToList(); - return pddBuyerAfterSales; - } - catch (Exception ex) - { - } - } - return new List(); - } - - public static async Task> GetEWaybillPath(string order_ids) - { - List oms_wei_ewaybill_path_list = null; - if (!string.IsNullOrEmpty(order_ids)) - { - try - { - var url = BaseClass.Build29WxObjString("order/wx_get_erp_ewaybill_path_latest_list"); - var data = UserLogin.GetSignaturex(); - data += "&erp_order_id_in=" + order_ids; - var html = await GetHtml.PostUtf8Async(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - html = await GetHtml.PostUtf8Async(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - { - BaseMsgWindow.ShowAnimateMessage("物流查询失败 " + BaseRegex.GetStringJson(ref html, "msg"), "Error", 6); - } - else - { - oms_wei_ewaybill_path_list = JsonHelper.DeserializeJsonToList(JObject.Parse(html)["data"].ParseToString()).OrderByDescending(p => p.update_time).ToList(); - return oms_wei_ewaybill_path_list; - } - } - catch - { - } - } - return new List(); - } + public static async Task> GetBuyProdMap(List orderItems) { diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitService.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitService.cs index 42abee3..6c65041 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitService.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderTransitService.cs @@ -277,9 +277,9 @@ internal class OrderTransitService if (BaseMsgWindow.ShowConfirm(msg, "云仓拒收退回总店", null, MsgWindowLevel.LARGE, 300).DialogResult != true) return ""; - orderItem.ItemTransitOrders = await OrderListCtrl.GetTransitWarehouseList(orderItem.order_id); - orderItem.PddBuyerOrders = (await OrderListCtrl.GetPddBuyerOrders(orderItem.order_id)).Where(o => o.wx_send_type == 0).ToList(); - orderItem.PddBuyerOrders.AddRange((await OrderListCtrl.GetTbBuyerOrders(orderItem.order_id)).Where(o => o.wx_send_type == 0).ToList()); + orderItem.ItemTransitOrders = await OrderGetOrderListHelper.GetTransitWarehouseList(orderItem.order_id); + orderItem.PddBuyerOrders = (await OrderGetOrderListHelper.GetPddBuyerOrders(orderItem.order_id)).Where(o => o.wx_send_type == 0).ToList(); + orderItem.PddBuyerOrders.AddRange((await OrderGetOrderListHelper.GetTbBuyerOrders(orderItem.order_id)).Where(o => o.wx_send_type == 0).ToList()); OrderListCtrl.InitOrderItemObservableProp(orderItem); var itemTransitOrder = orderItem.ItemTransitOrders.FirstOrDefault(o => o.order_code == _itemTransitOrder?.order_code && o.out_order_no == _itemTransitOrder?.out_order_no); diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs index a9ed269..00ed6de 100644 --- a/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs +++ b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs @@ -199,7 +199,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows (jObj["orderDetailsList"] as JArray).Add(jItemObj); - var returnOrders = await OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id); + var returnOrders = await OrderGetOrderListHelper.GetTransitReturnOrderList(OrderItem.order_id); OrderItem.DistribReturnOrderInfos = returnOrders; if (btnAdd.Content.ToString() == "添 加" && OrderItem.DistribReturnOrderInfo == null) { @@ -216,7 +216,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows } } - returnOrders = await OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id); + returnOrders = await OrderGetOrderListHelper.GetTransitReturnOrderList(OrderItem.order_id); OrderItem.DistribReturnOrderInfos = returnOrders; var orderCode = OrderItem.DistribReturnOrderInfo.order_code; if (string.IsNullOrEmpty(orderCode)) @@ -325,7 +325,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows (jObj["orderDetailsList"] as JArray).Add(jItemObj); - var returnOrders = await OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id); + var returnOrders = await OrderGetOrderListHelper.GetTransitReturnOrderList(OrderItem.order_id); OrderItem.DistribReturnOrderInfos = returnOrders; if (OrderItem.DistribReturnOrderInfo == null) { @@ -342,7 +342,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows } } - returnOrders = await OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id); + returnOrders = await OrderGetOrderListHelper.GetTransitReturnOrderList(OrderItem.order_id); OrderItem.DistribReturnOrderInfos = returnOrders; var orderCode = OrderItem.DistribReturnOrderInfo.order_code; if (string.IsNullOrEmpty(orderCode)) @@ -369,7 +369,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows } //MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id); - returnOrders = await OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id); + returnOrders = await OrderGetOrderListHelper.GetTransitReturnOrderList(OrderItem.order_id); OrderItem.DistribReturnOrderInfos = returnOrders; StartUp.UpdateBalance(); BaseMsgWindow.ShowAnimateMessage("订单 " + OrderItem.order_id + " 中转仓退货订单创建成功", "Msg", 2);