From 7998a753cc8bcdd0e766b3abe4e1efcc7eaa8806 Mon Sep 17 00:00:00 2001 From: chfei Date: Mon, 24 Aug 2026 18:11:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BB=BB=E5=8A=A1=EF=BC=8C?= =?UTF-8?q?=E7=8E=B0=E5=B7=B2=E4=BF=AE=E6=94=B9=E6=88=90=E5=85=A8=E5=B1=80?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=20=E5=8C=85=E6=8B=AC=20?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=BB=BB=E5=8A=A1=E5=92=8C=E7=A4=BC=E5=93=81?= =?UTF-8?q?=E5=8D=95=E4=BB=BB=E5=8A=A1=20=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=8A=A8=E6=80=81=E5=B1=95=E7=A4=BA=E7=A4=BC=E5=93=81?= =?UTF-8?q?=E5=8D=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 29WxOrderWpf/29WxOrderWpf.csproj | 1 + .../Converters/OrderTaskStatusConverter.cs | 2 +- .../Ctrls/OrderCtrls/OrderListCtrl.xaml.cs | 46 +- .../OrderCtrls/OrderListRowItemCtrl.xaml | 3546 +++++++++-------- .../Ctrls/OrderCtrls/OrderTaskDialogView.xaml | 70 +- .../OrderCtrls/OrderTaskDialogView.xaml.cs | 151 +- 29WxOrderWpf/Services/PullWXOrderService.cs | 129 +- 29WxOrderWpf/Services/ShipGiftService.cs | 5 +- 29WxOrderWpf/Services/TaskService.cs | 109 + 29WxOrderWpf/StartUp.cs | 5 +- AllBase/Model/DBModel/oms_wei_order_info.cs | 1249 +++--- Work/29WxOrderWork.csproj | 3 + Work/KJDServer.API/KJDServerHttp.cs | 4 +- Work/KJDServer.API/Models/OrderTask.cs | 44 +- .../WXOrder/WxOrderServiceApi.cs | 15 +- Work/packages.config | 1 + WxOrder.Framework/Commons/Result.cs | 2 +- WxOrder.Framework/SingleInstance.cs | 42 + WxOrder.Framework/Startup.cs | 17 + WxOrder.Framework/WxOrder.Framework.csproj | 6 +- 20 files changed, 2820 insertions(+), 2627 deletions(-) create mode 100644 29WxOrderWpf/Services/TaskService.cs create mode 100644 WxOrder.Framework/SingleInstance.cs create mode 100644 WxOrder.Framework/Startup.cs diff --git a/29WxOrderWpf/29WxOrderWpf.csproj b/29WxOrderWpf/29WxOrderWpf.csproj index ef214a5..336b87b 100644 --- a/29WxOrderWpf/29WxOrderWpf.csproj +++ b/29WxOrderWpf/29WxOrderWpf.csproj @@ -28,6 +28,7 @@ + diff --git a/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs b/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs index cd86425..baf8b41 100644 --- a/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs +++ b/29WxOrderWpf/Converters/OrderTaskStatusConverter.cs @@ -6,7 +6,7 @@ using Work.ERP.API; namespace _29WxOrderWpf.Converters { /// - /// 订单任务状态转换: (int) → 中文描述。 + /// 订单任务状态转换: (int) → 中文描述。 /// 1=执行中,2=已完成,3=已人为中断。 /// public class OrderTaskStatusConverter : IValueConverter diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index 7bef38e..e588237 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -46,6 +46,7 @@ using TemuKJD.ToolForms; using Work; using Work._29Tools.BLL; using Work.BuyUsers; +using Work.KJDServer.API.Models; using WPFCommon.Helpers; using static _29WxOrderWpf.Services.ShipGiftService; using static System.Net.Mime.MediaTypeNames; @@ -62,7 +63,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls public OrderFilterConfig orderFilterConfig { get { return _orderFilterConfig; } - set { if (_orderFilterConfig != value) + set + { + if (_orderFilterConfig != value) _orderFilterConfig = value; OnPropertyChanged(new PropertyChangedEventArgs("orderFilterConfig")); } @@ -76,7 +79,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls { InitializeComponent(); DataContext = this; - _shipGiftService = new ShipGiftService(); + _shipGiftService = ShipGiftService.Instance; } private void Window_Loaded(object sender, RoutedEventArgs e) @@ -103,8 +106,13 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls borderFilterRemarkSelect.Visibility = Visibility.Collapsed; AutoGetOrder(); + + TaskService.Instance.Start(); + TaskService.Instance.TaskChanged += Instance_TaskChanged; } + + //public void GetOrderTest() //{ // for (int i = 0; i < 10000; i++) @@ -837,7 +845,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls { } - if (orderItem.TransitRefundStatusStr.ParseToString().Contains("需手动申请售后") && + if (orderItem.TransitRefundStatusStr.ParseToString().Contains("需手动申请售后") && orderItem.ItemTransitOrderWithVoid?.has_reject == 3 && orderItem.ItemTransitOrderWithVoid?.platform != "XDYYWC") // 义乌仓不支持拒收,等于3也是失败 { // 拒收后24小时才去总店填拒收退货 @@ -1043,7 +1051,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls var type = 4; if (chkRst.Contains("\"interactType\":0")) type = 2; - var result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId,"韵达快递", "121", type.ToString()); + var result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); if (!result.Contains("\"result\":\"ok\"")) { type = type == 4 ? 2 : 4; @@ -1096,7 +1104,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls TabItem tabItem = null; List tabItems = this.tabOrderType.Items.Cast().ToList(); - Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("待采购")); })); + Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("待采购")); })); if (tabItem != null) { var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "待采购")).ToList(); @@ -1513,7 +1521,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls { Thread.Sleep(5000); Dispatcher.Invoke(new Action(() => { this.btnSearch.IsEnabled = true; })); - }); + }); //Task.Run(() => //{ // GetOrder(); @@ -1902,7 +1910,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls public async Task DoReturnOrderBuyerRefendSlient() { List emergencyRefundOrders = new List(); - Dispatcher.Invoke(new Action(() => + Dispatcher.Invoke(new Action(() => { emergencyRefundOrders = GlobalConfig.lstOrder.Where(o => o.IsEmergency).ToList(); })); @@ -2281,7 +2289,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls FilterOrders(); } - + /// /// @@ -2398,7 +2406,27 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls // set => SetProperty(ref _IsShipGift, value); //} + private void Instance_TaskChanged(object sender, IEnumerable data) + { + var giftTaks = data.Where(a => a.TaskType == Work.KJDServer.API.Models.TaskType.Gifts && a.SubTasks != null) + .SelectMany(a => a.SubTasks) + .GroupBy(a => a.ObjectId) + .Select(a => a.OrderByDescending(b => b.CreateTime).First()) + .ToList(); + foreach (TaskSubItem item in giftTaks) + { + oms_wei_order_info order = GlobalConfig.lstOrder.FirstOrDefault(a => a.order_id == item.ObjectId); + if (order != null) + { + order.GiftSuccessed = item.Status == 1; + if (order.GiftSuccessed == false) + { + order.GiftErrorMsg = item.SysMsg; + } + } + } + } } public class OrderFilterConfig : PropertyNotifyObject @@ -2408,7 +2436,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls /// /// 隐藏标记 /// - public bool chkHideGreenFlagIsChecked + public bool chkHideGreenFlagIsChecked { get { return this.GetValue(x => x.chkHideGreenFlagIsChecked); } set { this.SetValue(x => x.chkHideGreenFlagIsChecked, value); } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml index cab34cd..f7fcc1e 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml @@ -1,111 +1,111 @@  - - - - - + x:Class="_29WxOrderWpf.Ctrls.OrderCtrls.OrderListRowItemCtrl" + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:conv="clr-namespace:_29WxOrderWpf.Converters" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:uc="clr-namespace:_29WxOrderWpf.UserControls" + d:Background="White" + d:DesignHeight="220" + d:DesignWidth="1300" + DataContextChanged="UserControl_DataContextChanged" + mc:Ignorable="d"> + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - -