From b8674a11c57291a520854ee76733adea748ca5b8 Mon Sep 17 00:00:00 2001 From: wule Date: Fri, 13 Nov 2026 14:48:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=A4=BC=E7=89=A9=E5=8D=95?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs | 56 ++---------- .../PDDMultiBuyerOrderReadCtrl.xaml.cs | 54 +----------- .../BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs | 54 +----------- .../OrderCtrls/OrderGetOrderListHelper.cs | 87 +++++++++++++++++++ 29WxOrderWpf/Services/ShipGiftService.cs | 1 + 5 files changed, 101 insertions(+), 151 deletions(-) create mode 100644 29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs index a71995e..648dcae 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs @@ -575,52 +575,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls return transitOrderList; } - /// - /// 读取订单详情信息 - /// - /// - /// - async Task> GetOrderInfo(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - Thread.Sleep(100); - var url1 = BaseClass.Build29WxObjString("order/get_erp_order_list"); - var data1 = UserLogin.GetSignaturex(); - data1 += "&erp_order_id_in=" + order_ids; - data1 += "&page_size=" + 100; - var html1 = GetHtml.PostUtf8(url1, data1); - if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200")) - html1 = GetHtml.PostUtf8(url1, data1); - if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200")) - { - //BaseMsgWindow.ShowError("订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg")); - //break; - } - List orders = new List(); - try - { - orders = JsonHelper.DeserializeJsonToList(JObject.Parse(html1)["data"].ParseToString()); - if (orders == null) - orders = new List(); - - var orderItems = await OrderListCtrl.GetOrderItemInfo(order_ids); - foreach (var orderItem in orderItems) - { - var order = orders.FirstOrDefault(o => o.order_id == orderItem.order_id); - orderItem.ItemOrder = order; - order.orderItems.Add(orderItem); - } - return orders; - } - catch - { - return new List(); - } - } - - public static List GetOrderAfterSales(string order_ids) { if (order_ids.IsNullOrEmpty()) @@ -787,7 +741,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var order_id_lst = transitOrderList.Select(ts => ts.order_no).ToList(); order_id_lst.AddRange(orderExtList.Select(ts => ts.order_id)); var order_ids = string.Join(",", order_id_lst.Distinct()); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); //var buyerAfterSales = GetOrderAfterSales(order_ids); @@ -1130,7 +1084,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls order_id_lst.AddRange(orderExtList.Select(ts => ts.order_id)); var order_ids = string.Join(",", order_id_lst.Distinct()); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); foreach (var order in orders) { foreach (var orderItem in order.orderItems) @@ -2250,8 +2204,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var transitOrderList = GetOrderTransitWarehouseInfo(out_order_nos); var order_ids = string.Join(",", transitOrderList.Select(ts => ts.order_no)); - var orders = await GetOrderInfo(order_ids); - foreach (var order in orders) + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); + foreach (var order in orders) { foreach (var orderItem in order.orderItems) { @@ -2703,7 +2657,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } // 取最新订单状态 - var wxOrder = (await GetOrderInfo(order.ShopOrderIdStr))?.FirstOrDefault(); + var wxOrder = (await OrderGetOrderListHelper.GetOrderInfo(order.ShopOrderIdStr))?.FirstOrDefault(); if (wxOrder == null) throw new Exception("买手单对应微信订单不存在!"); var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == wxOrder.shop_id.ToString()); diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs index c4577f1..b749206 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDMultiBuyerOrderReadCtrl.xaml.cs @@ -511,52 +511,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } return transitOrderList; } - - /// - /// 读取订单详情信息 - /// - /// - /// - async Task> GetOrderInfo(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - Thread.Sleep(100); - var url1 = BaseClass.Build29WxObjString("order/get_erp_order_list"); - var data1 = UserLogin.GetSignaturex(); - data1 += "&erp_order_id_in=" + order_ids; - data1 += "&page_size=" + 100; - var html1 = GetHtml.PostUtf8(url1, data1); - if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200")) - html1 = GetHtml.PostUtf8(url1, data1); - if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200")) - { - //BaseMsgWindow.ShowError("订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg")); - //break; - } - List orders = new List(); - try - { - orders = JsonHelper.DeserializeJsonToList(JObject.Parse(html1)["data"].ParseToString()); - if (orders == null) - orders = new List(); - - var orderItems = await OrderListCtrl.GetOrderItemInfo(order_ids); - foreach (var orderItem in orderItems) - { - var order = orders.FirstOrDefault(o => o.order_id == orderItem.order_id); - orderItem.ItemOrder = order; - order.orderItems.Add(orderItem); - } - return orders; - } - catch - { - return new List(); - } - } - public static List GetOrderAfterSales(string order_ids) { @@ -714,7 +668,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var order_id_lst = transitOrderList.Select(ts => ts.order_no).ToList(); order_id_lst.AddRange(orderExtList.Select(ts => ts.order_id)); var order_ids = string.Join(",", order_id_lst.Distinct()); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); //var buyerAfterSales = GetOrderAfterSales(order_ids); @@ -1062,7 +1016,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls order_id_lst.AddRange(orderExtList.Select(ts => ts.order_id)); var order_ids = string.Join(",", order_id_lst.Distinct()); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); foreach (var order in orders) { foreach (var orderItem in order.orderItems) @@ -1816,7 +1770,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var transitOrderList = GetOrderTransitWarehouseInfo(out_order_nos); var order_ids = string.Join(",", transitOrderList.Select(ts => ts.order_no)); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); foreach (var order in orders) { foreach (var orderItem in order.orderItems) @@ -2257,7 +2211,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } // 取最新订单状态 - var wxOrder = (await GetOrderInfo(order.ShopOrderIdStr)).FirstOrDefault(); + var wxOrder = (await OrderGetOrderListHelper.GetOrderInfo(order.ShopOrderIdStr)).FirstOrDefault(); if (wxOrder == null) throw new Exception("买手单对应微信订单不存在!"); var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == wxOrder.shop_id.ToString()); diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs index ca49090..d989ec6 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs @@ -433,52 +433,6 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls return transitOrderList; } - /// - /// 读取订单详情信息 - /// - /// - /// - async Task> GetOrderInfo(string order_ids) - { - if (string.IsNullOrEmpty(order_ids)) - return new List(); - - Thread.Sleep(100); - var url1 = BaseClass.Build29WxObjString("order/get_erp_order_list"); - var data1 = UserLogin.GetSignaturex(); - data1 += "&erp_order_id_in=" + order_ids; - data1 += "&page_size=" + 100; - var html1 = GetHtml.PostUtf8(url1, data1); - if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200")) - html1 = GetHtml.PostUtf8(url1, data1); - if (string.IsNullOrEmpty(html1) || !html1.Contains("\"code\":200")) - { - //BaseMsgWindow.ShowError("订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg")); - //break; - } - List orders = new List(); - try - { - orders = JsonHelper.DeserializeJsonToList(JObject.Parse(html1)["data"].ParseToString()); - if (orders == null) - orders = new List(); - - var orderItems = await OrderListCtrl.GetOrderItemInfo(order_ids); - foreach (var orderItem in orderItems) - { - var order = orders.FirstOrDefault(o => o.order_id == orderItem.order_id); - orderItem.ItemOrder = order; - order.orderItems.Add(orderItem); - } - return orders; - } - catch - { - return new List(); - } - } - - public static List GetOrderAfterSales(string order_ids) { if (order_ids.IsNullOrEmpty()) @@ -754,7 +708,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var order_id_lst = transitOrderList.Select(ts => ts.order_no).ToList(); order_id_lst.AddRange(orderExtList.Select(ts => ts.order_id)); var order_ids = string.Join(",", order_id_lst.Distinct()); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); //var buyerAfterSales = GetOrderAfterSales(order_ids); @@ -1103,7 +1057,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls order_id_lst.AddRange(orderExtList.Select(ts => ts.order_id)); var order_ids = string.Join(",", order_id_lst.Distinct()); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); foreach (var order in orders) { foreach (var orderItem in order.orderItems) @@ -1673,7 +1627,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls var transitOrderList = GetOrderTransitWarehouseInfo(out_order_nos); var order_ids = string.Join(",", transitOrderList.Select(ts => ts.order_no)); - var orders = await GetOrderInfo(order_ids); + var orders = await OrderGetOrderListHelper.GetOrderInfo(order_ids); foreach (var order in orders) { foreach (var orderItem in order.orderItems) @@ -2119,7 +2073,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls } // 取最新订单状态 - var wxOrder = (await GetOrderInfo(order.ShopOrderIdStr)).FirstOrDefault(); + var wxOrder = (await OrderGetOrderListHelper.GetOrderInfo(order.ShopOrderIdStr)).FirstOrDefault(); if (wxOrder == null) throw new Exception("买手单对应微信订单不存在!"); var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == wxOrder.shop_id.ToString()); diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs new file mode 100644 index 0000000..ca30950 --- /dev/null +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderGetOrderListHelper.cs @@ -0,0 +1,87 @@ +using _29WxOrderWpf.BaseWindows; +using AllBase; +using AllBase.Helper; +using AllBase.Model.DBModel; +using NaiBa.Util.Extension; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Work; + +namespace _29WxOrderWpf.Ctrls.OrderCtrls; + +public class OrderGetOrderListHelper +{ + /// + /// 读取订单详情信息 + /// + /// + /// + static async Task> GetOrderInfoBase(string orderIds, string shopIds = null, DateTime? beginUpdateTime = null, DateTime? endUpdateTime = null) + { + if (string.IsNullOrEmpty(orderIds)) + return new List(); + + Thread.Sleep(100); + try + { + var url = BaseClass.Build29WxObjString("order/get_erp_order_list"); + var data = UserLogin.GetSignaturex(); + data += "&erp_order_id_in=" + orderIds; + data += "&page_size=" + 100; + if (!string.IsNullOrWhiteSpace(shopIds)) + data += "&erp_shop_id_in=" + shopIds; + if (beginUpdateTime != null && beginUpdateTime != DateTime.MinValue) + { + var startTime = BaseClass.DateTimeToTimestampSeconds(beginUpdateTime.Value); + data += "&start_time=" + startTime; + } + if (endUpdateTime != null && endUpdateTime != DateTime.MinValue) + { + var endTime = BaseClass.DateTimeToTimestampSeconds(endUpdateTime.Value); + data += "&end_time=" + endTime; + } + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + throw new Exception("订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg")); + } + List orders = new List(); + orders = JsonHelper.DeserializeJsonToList(JObject.Parse(html)["data"].ParseToString()); + if (orders == null) + orders = new List(); + + var orderItems = await OrderListCtrl.GetOrderItemInfo(orderIds); + foreach (var orderItem in orderItems) + { + var order = orders.FirstOrDefault(o => o.order_id == orderItem.order_id); + orderItem.ItemOrder = order; + order.orderItems.Add(orderItem); + } + return orders; + } + catch (Exception ex) + { + BaseMsgWindow.ShowAnimateMessage(ex.Message, "Error", 6); + return new List(); + } + } + + public static async Task> GetOrderInfo(string order_ids) + { + return await GetOrderInfoBase(order_ids, null, null); + } + + public static async Task> GetWxOrder‌IncrementAsync() + { + + + return new List(); + } +} diff --git a/29WxOrderWpf/Services/ShipGiftService.cs b/29WxOrderWpf/Services/ShipGiftService.cs index 907bfa0..9d6d8e5 100644 --- a/29WxOrderWpf/Services/ShipGiftService.cs +++ b/29WxOrderWpf/Services/ShipGiftService.cs @@ -45,6 +45,7 @@ public class ShipGiftService : SingleInstance if (BaseClass.Setting.AutoSwitchGiftType && (item.product_price ?? 0) > 6 * 100) { + giftType = GiftType._160; giftAmount = 1.6m; } decimal amount = giftAmount + BaseClass.OemGiftAmount;