修复直拍买手单多条退货记录时显示错误问题

This commit is contained in:
wule committed 2026-09-09 19:20:43 +08:00
1 parent 3579fac394
commit b2d91563ed
6 files changed
+70 -58

No files matched your search

+2 -2
View File
@@ -73,8 +73,8 @@ Global
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|x64.ActiveCfg = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|x64.Build.0 = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|x64.ActiveCfg = Debug|x64
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|x64.Build.0 = Debug|x64
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|x86.ActiveCfg = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Debug|x86.Build.0 = Debug|Any CPU
{5A410EB5-06AD-97BB-2314-9D7A808E12F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+1
View File
@@ -12,6 +12,7 @@
<OutputPath>..\bin\</OutputPath>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
<Platforms>AnyCPU;x64</Platforms>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
@@ -1024,7 +1024,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
if (wxOrderItem != null)
{
af.ShopOrderSkuNameStr = wxOrderItem.sku_attr_str;
}
af.ShopOrderOutAfterSaleStatusStr = wxOrder.out_after_sale_status;
}
}
}
else
@@ -1098,7 +1099,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
afterSale.ShopOrderIdStr = af.ShopOrderIdStr;
afterSale.ShopOrderSkuIdStr = af.ShopOrderSkuIdStr;
afterSale.ShopOrderSkuNameStr = af.ShopOrderSkuNameStr;
afterSale.TransitBuyerOrderRefundStatus = af.TransitBuyerOrderRefundStatus;
afterSale.ShopOrderOutAfterSaleStatusStr = af.ShopOrderOutAfterSaleStatusStr;
afterSale.TransitBuyerOrderRefundStatus = af.TransitBuyerOrderRefundStatus;
afterSale.TransitWarehouseIdStr = af.TransitWarehouseIdStr;
afterSale.TransitWarehouseOrderCodeStr = af.TransitWarehouseOrderCodeStr;
afterSale.Express1WaybillStr = af.Express1WaybillStr;
@@ -1151,58 +1153,61 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
//return;
}
if (afterSale?.ShopIdStr == "3738859887048176128")
{
}
// 记录直发或者中转仓订单买手售后情况
if (isUpdate && !string.IsNullOrEmpty(afterSale?.ShopOrderIdStr))
{
if(afterSale.WxSendTypeStr == "直发")
{
// 退款状态有变化才发起修改(退款状态不能从退款成功变成未退款)
PddBuyerAfterSaleLiteInfo afterSaleRefundSuccessExist = null;
Dispatcher.Invoke(new Action(() =>
{
afterSaleRefundSuccessExist = lstPddBuyerAfterSaleInfoLite
.FirstOrDefault(a => a.orderSn == afterSale.orderSn && (a.AfterSaleStatusStr.Contains("退款成功") || a.AfterSaleStatusStr.Contains("交易已取消")));
}));
if ((afterSaleRefundSuccessExist == null || afterSale.AfterSaleStatusStr == afterSaleRefundSuccessExist.AfterSaleStatusStr) &&
afterSale.AfterSaleStatusOldStr != afterSale.AfterSaleStatusStr)
{
SendAfterSaleE57(afterSale);
afterSale.AfterSaleStatusOldStr = afterSale.AfterSaleStatusStr;
}
}
else
{
// 如果买手退款成功,仓库不是买手退款成功,则修改仓库售后字段为买手退款成功
if (afterSale.AfterSaleStatusStr.Contains("退款成功") || afterSale.AfterSaleStatusStr.Contains("交易已取消"))
{
if (afterSale.TransitBuyerOrderRefundStatus != "买手退款成功")
{
var orderTmp = new PddBuyerOrderLiteInfo() { ShopOrderIdStr = afterSale.ShopOrderIdStr, order_sn = afterSale.orderSn };
var refundRst = SendTransitAfterSaleE57(orderTmp, "买手退款成功");
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
{
afterSale.afterSaleSendStatus = "退款成功 买手退款信息更新成功";
}
else
{
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
afterSale.afterSaleSendStatus = "退款成功 买手退款信息更新失败,服务端返回 " + msg;
}
}
}
// 如果中转仓表买手售后状态不等于买手售后单售后,更新仓库买手售后状态
else if (afterSale.TransitBuyerOrderRefundStatus != "买手退款成功" && afterSale.TransitBuyerOrderRefundStatus != afterSale.AfterSaleStatusStr)
{
if (afterSale.WxSendTypeStr == "直发")
{
// 退款状态有变化才发起修改(退款状态不能从退款成功变成未退款)
PddBuyerAfterSaleLiteInfo afterSaleRefundSuccessExist = null;
afterSaleRefundSuccessExist = lstPddBuyerAfterSaleInfoLite.FirstOrDefault(a => a.afterSalesId != afterSale.afterSalesId &&
a.orderSn == afterSale.orderSn && (a.AfterSaleStatusStr.Contains("退款成功") || a.AfterSaleStatusStr.Contains("交易已取消")));
if ((afterSaleRefundSuccessExist == null || afterSale.AfterSaleStatusStr == afterSaleRefundSuccessExist.AfterSaleStatusStr) &&
(afterSale.AfterSaleStatusOldStr != afterSale.AfterSaleStatusStr))
{
SendAfterSaleE57(afterSale);
afterSale.AfterSaleStatusOldStr = afterSale.AfterSaleStatusStr;
}
}
else
{
// 如果买手退款成功,仓库不是买手退款成功,则修改仓库售后字段为买手退款成功
if (afterSale.AfterSaleStatusStr.Contains("退款成功") || afterSale.AfterSaleStatusStr.Contains("交易已取消"))
{
if (afterSale.TransitBuyerOrderRefundStatus != "买手退款成功")
{
var orderTmp = new PddBuyerOrderLiteInfo() { ShopOrderIdStr = afterSale.ShopOrderIdStr, order_sn = afterSale.orderSn };
var refundRst = SendTransitAfterSaleE57(orderTmp, "买手退款成功");
if (refundRst.Contains("<code>0</code>") || refundRst.Contains("<code>200</code>"))
{
afterSale.afterSaleSendStatus = "退款成功 买手退款信息更新成功";
}
else
{
var msg = BaseRegex.GetStringXml(ref refundRst, "msg");
afterSale.afterSaleSendStatus = "退款成功 买手退款信息更新失败,服务端返回 " + msg;
}
}
}
// 如果中转仓表买手售后状态不等于买手售后单售后,更新仓库买手售后状态
else if (afterSale.TransitBuyerOrderRefundStatus != "买手退款成功" && afterSale.TransitBuyerOrderRefundStatus != afterSale.AfterSaleStatusStr)
{
if (afterSale.ShopOrderIdStr == "3738552208766960384")
{
}
var afterSaleExistList = lstPddBuyerAfterSaleInfoLite.Where(a => a.orderSn == afterSale.orderSn).ToList();
if ((afterSale.AfterSaleStatusStr == "退款失败" || afterSale.AfterSaleStatusStr == "申请已撤销") &&
if ((afterSale.AfterSaleStatusStr == "退款失败" || afterSale.AfterSaleStatusStr == "申请已撤销") &&
afterSaleExistList.Any(a => a.AfterSaleStatusStr != "退款失败" && a.AfterSaleStatusStr != "申请已撤销"))
{
}
{
}
else
{
//if (!afterSale.AfterSaleStatusStr.Contains("关闭") && !afterSale.AfterSaleStatusStr.Contains("撤销") && !afterSale.AfterSaleStatusStr.Contains("失败"))
@@ -1218,8 +1223,8 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
afterSale.afterSaleSendStatus = "买手退款信息更新失败,服务端返回 " + msg;
}
}
}
}
}
}
}
// 买手已退款,尝试作废仓库订单
@@ -52,8 +52,8 @@
<ColumnDefinition Width="28" />
<ColumnDefinition Width="200*" />
<ColumnDefinition Width="100*" MinWidth="200" />
<ColumnDefinition Width="75*" MinWidth="150" />
<ColumnDefinition Width="170*" MinWidth="380" />
<ColumnDefinition Width="75*" MinWidth="130" />
<ColumnDefinition Width="170*" MinWidth="280" />
<ColumnDefinition Width="120*" />
<ColumnDefinition Width="120*" />
<ColumnDefinition Width="72*" />
@@ -1169,7 +1169,7 @@
VerticalSpacing="5">
<!-- 操作按钮行(原 Row 1) -->
<wpf:TitleContent>
<WrapPanel HorizontalAlignment="Center">
<WrapPanel HorizontalAlignment="Center" Orientation="Vertical">
<Button
x:Name="btnMapSkus"
Height="24"
@@ -864,12 +864,12 @@ namespace AllBase.Model.DBModel
{
this.DirectPddBuyerOrder = DirectPddBuyerOrders.FirstOrDefault(p => OrderItemExt?.out_order_id == p.order_sn);
//this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault(p => p.statusText == "退款成功") ?? DirectPddBuyerAfterSales?.FirstOrDefault(p => p.statusText != "申请已撤销");
//if (DirectPddBuyerAfterSale == null)
// DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault();
this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales.FirstOrDefault(p => OrderItemExt?.out_order_id == p.orderSn);
// 服务端这个值不会在拍新单后覆盖,在此处使用扩展订单绑定的买手单信息修改掉,后续在拍单的时候覆盖掉
if (ItemOrder.order_id == "3738598656037525761")
this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault(p => p.statusText == "退款成功") ?? DirectPddBuyerAfterSales?.FirstOrDefault(p => p.statusText != "申请已撤销");
if (DirectPddBuyerAfterSale == null)
DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault();
//this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales.FirstOrDefault(p => OrderItemExt?.out_order_id == p.orderSn);
// 服务端这个值不会在拍新单后覆盖,在此处使用扩展订单绑定的买手单信息修改掉,后续在拍单的时候覆盖掉
if (ItemOrder.order_id == "3738859887048176128")
{
}
@@ -44,7 +44,13 @@ namespace AllBase.Model.Result
get { return this.GetValue(x => x.ShopOrderRefundStr); }
set { this.SetValue(x => x.ShopOrderRefundStr, value); }
}
public string TransitBuyerOrderRefundStatus
// 店铺直发订单售后状态
public string ShopOrderOutAfterSaleStatusStr
{
get { return this.GetValue(x => x.ShopOrderOutAfterSaleStatusStr); }
set { this.SetValue(x => x.ShopOrderOutAfterSaleStatusStr, value); }
}
public string TransitBuyerOrderRefundStatus
{
get { return this.GetValue(x => x.TransitBuyerOrderRefundStatus); }
set { this.SetValue(x => x.TransitBuyerOrderRefundStatus, value); }