From 87a0d34526f671b7dd18903b45b1566293a70d61 Mon Sep 17 00:00:00 2001 From: chfei Date: Thu, 8 Oct 2026 16:16:19 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E8=AE=A2=E5=8D=95=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=20=E5=A2=9E=E5=8A=A0=E9=80=80=E6=AC=BE?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E6=8C=89=E9=92=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Models/ShopRevenueStatisticsModels.cs | 9 +++ .../Services/ShopRevenueStatisticsService.cs | 28 +++++++ .../Ctrls/Statistics/ShowOrderDialogView.xaml | 24 +++++- .../Statistics/ShowOrderDialogView.xaml.cs | 78 +++++++++++++++---- .../PeriodRevenueStatisticsViewModel.cs | 2 +- .../ShopRevenueStatisticsViewModel.cs | 2 +- 29WxOrderWpf/ToolCtrls/ToastHelper.cs | 9 ++- 7 files changed, 135 insertions(+), 17 deletions(-) diff --git a/29WxOrderWpf/Ctrls/Statistics/Models/ShopRevenueStatisticsModels.cs b/29WxOrderWpf/Ctrls/Statistics/Models/ShopRevenueStatisticsModels.cs index e11a639..24f5bc9 100644 --- a/29WxOrderWpf/Ctrls/Statistics/Models/ShopRevenueStatisticsModels.cs +++ b/29WxOrderWpf/Ctrls/Statistics/Models/ShopRevenueStatisticsModels.cs @@ -200,6 +200,14 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Models /// public class BuyerOrderInfo { + /// + /// 买手订单ID + /// + public long Id { get; set; } + /// + /// 仓库类型 0,1直发 + /// + public int PurchaseType { get; set; } /// /// 外部订单(买手订单)号 /// @@ -210,6 +218,7 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Models /// public int OutAmount { get; set; } + public long RefundId { get; set; } /// /// 退款金额(分) /// diff --git a/29WxOrderWpf/Ctrls/Statistics/Services/ShopRevenueStatisticsService.cs b/29WxOrderWpf/Ctrls/Statistics/Services/ShopRevenueStatisticsService.cs index 819dc07..21d452c 100644 --- a/29WxOrderWpf/Ctrls/Statistics/Services/ShopRevenueStatisticsService.cs +++ b/29WxOrderWpf/Ctrls/Statistics/Services/ShopRevenueStatisticsService.cs @@ -37,6 +37,12 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Services /// 订单明细列表(有效订单 / 退款订单 / 买手未退回金额的订单),供订单列表弹窗使用。 /// Task> QueryOrderRowsAsync(ShopRevenueStatisticsQuery query, ShopOrderDetailType detailType); + + /// + /// 把某笔买手订单标记为退款成功(订单列表弹窗“退款成功”按钮,仅买手未退回金额的订单使用)。 + /// + /// 买手退款表ID(,即表格当前行的 id) + Task UpdateBuyerRefundStatusAsync(long id); } /// @@ -364,6 +370,9 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Services /// 订单明细接口地址(订单列表弹窗用) private const string GetShopOrderDetailsApi = "shop_revenue_statistics/GetShopOrderDetails"; + /// 更新买手订单退款状态接口地址(id 通过 URL 参数传递) + private const string UpdateBuyerRefundStatusApi = "buyer/UpdateBuyerRefundStatsu"; + /// Unix 纪元(本地时区),用于解析以时间戳作为 Key 的返回数据 private static readonly DateTime UnixEpoch = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); @@ -626,5 +635,24 @@ namespace _29WxOrderWpf.Ctrls.Statistics.Services EnsureSuccess(ret); return ret.Data ?? new List(); } + + /// + /// 请求 buyer/UpdateBuyerRefundStatsu 更新买手订单退款状态: + /// id 拼在 URL 查询参数上(Build29WxObjString 生成的地址已带 ?obj=…,这里用 &id= 追加); + /// 请求体走 UserLogin.GetSignPostData 常规签名(time/code 等)。 + /// 返回码非 200 时抛出异常,由调用方提示。 + /// + public async Task UpdateBuyerRefundStatusAsync(long id) + { + if (id == 0) + throw new Exception("更新失败:缺少买手订单ID"); + + var url = BaseClass.Build29WxObjString(UpdateBuyerRefundStatusApi) + "&id=" + id; + var html = await GetHtml.PostJsonAsync(url, UserLogin.GetSignPostData(new { })); + + var ret = Deserialize>(html); + EnsureSuccess(ret); + return ret.Data; + } } } diff --git a/29WxOrderWpf/Ctrls/Statistics/ShowOrderDialogView.xaml b/29WxOrderWpf/Ctrls/Statistics/ShowOrderDialogView.xaml index 49811dd..f667ec3 100644 --- a/29WxOrderWpf/Ctrls/Statistics/ShowOrderDialogView.xaml +++ b/29WxOrderWpf/Ctrls/Statistics/ShowOrderDialogView.xaml @@ -12,11 +12,12 @@ comn:DialogWindowProperty.Width="1320" d:Background="White" d:DesignHeight="450" - d:DesignWidth="800" + d:DesignWidth="1000" Focusable="True" PreviewKeyDown="ShowOrderDialogView_PreviewKeyDown" mc:Ignorable="d"> +