优化售后仓退货相关逻辑

This commit is contained in:
wule committed 2026-08-17 01:32:29 +08:00
1 parent d06ec9badc
commit 05a48bf605
10 files changed
+750 -235

No files matched your search

@@ -12,8 +12,11 @@ namespace AllBase.Model.DBModel
/// <summary>
/// 分销退货表
/// </summary>
public class distrib_return_order : PropertyNotifyObject
public class distrib_return_order_info : PropertyNotifyObject
{
/// <summary>
/// 退货主订单唯一ID
/// </summary>
public long id { get; set; }
/// <summary>
/// 退货订单编码
@@ -140,7 +143,10 @@ namespace AllBase.Model.DBModel
/// 售后单号
/// </summary>
public string after_sale_no { get; set; }
/// <summary>
/// 订单初始费用(分)
/// </summary>
public int? postage { get; set; }
[JsonIgnore]
public ObservableCollection<distrib_return_order_item> distrib_return_order_items
{
@@ -162,7 +168,7 @@ namespace AllBase.Model.DBModel
public int return_quantity { get; set; } = 1;
public DateTime updated_at { get; set; }
public distrib_return_order distrib_return_order
public distrib_return_order_info distrib_return_order
{
get { return this.GetValue(x => x.distrib_return_order); }
set
@@ -221,45 +221,45 @@ namespace AllBase.Model.DBModel
get { return this.GetValue(x => x.PddBuyerAfterSaleAddressStr); }
set { this.SetValue(x => x.PddBuyerAfterSaleAddressStr, value); }
}
public void SetTransitOrder()
{
public void SetTransitOrder()
{
if (order_id == "3738110521481264129")
{
}
this.ItemTransitOrder = ItemTransitOrders?.FirstOrDefault(t => t.order_void_status != 1);
this.ItemTransitOrderWithVoid = ItemTransitOrders?.FirstOrDefault();
this.ItemTransitOrderAfterSale = ItemTransitOrderAfterSales?.FirstOrDefault();
this.PddBuyerOrder = PddBuyerOrders?.FirstOrDefault();
// 优先找非撤销买手退款单
this.PddBuyerAfterSale = PddBuyerAfterSales?.FirstOrDefault(p => p.statusText == "退款成功") ?? PddBuyerAfterSales?.FirstOrDefault(p => p.statusText != "申请已撤销");
if (PddBuyerAfterSale == null)
PddBuyerAfterSale = PddBuyerAfterSales?.FirstOrDefault();
this.ItemTransitOrderWithVoid = ItemTransitOrders?.FirstOrDefault();
this.ItemTransitOrderAfterSale = ItemTransitOrderAfterSales?.FirstOrDefault();
this.PddBuyerOrder = PddBuyerOrders?.FirstOrDefault();
// 优先找非撤销买手退款单
this.PddBuyerAfterSale = PddBuyerAfterSales?.FirstOrDefault(p => p.statusText == "退款成功") ?? PddBuyerAfterSales?.FirstOrDefault(p => p.statusText != "申请已撤销");
if (PddBuyerAfterSale == null)
PddBuyerAfterSale = PddBuyerAfterSales?.FirstOrDefault();
// 直接取号和更正取号显示的买手到仓库物流
if (ItemTransitOrder?.pre_allocated_order_no != 1 && ItemTransitOrder?.pre_allocated_order_no != 3)
this.TransitOrderWaybillToWareHouseStr = null;
else
this.TransitOrderWaybillToWareHouseStr = "买手物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
// 直接取号和更正取号显示的买手到仓库物流
if (ItemTransitOrder?.pre_allocated_order_no != 1 && ItemTransitOrder?.pre_allocated_order_no != 3)
this.TransitOrderWaybillToWareHouseStr = null;
else
this.TransitOrderWaybillToWareHouseStr = "买手物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
// 提前取号物流
if (ItemTransitOrder?.pre_allocated_order_no != 2)
this.TransitOrderWaybillFakeStr = null;
else
this.TransitOrderWaybillFakeStr = "取号物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
// 提前取号物流
if (ItemTransitOrder?.pre_allocated_order_no != 2)
this.TransitOrderWaybillFakeStr = null;
else
this.TransitOrderWaybillFakeStr = "取号物流:" + ItemTransitOrder.express_1_company + "-" + ItemTransitOrder.express_1_waybill;
// 仓库下游物流
if (ItemTransitOrder == null || ItemTransitOrder.express_2_company.IsNullOrEmpty() || ItemTransitOrder.express_2_waybill.IsNullOrEmpty())
TransitOrderWaybillFromWareHouseStr = null;
else
TransitOrderWaybillFromWareHouseStr = "仓库物流:" + ItemTransitOrder.express_2_company + "-" + ItemTransitOrder.express_2_waybill;
// 仓库下游物流
if (ItemTransitOrder == null || ItemTransitOrder.express_2_company.IsNullOrEmpty() || ItemTransitOrder.express_2_waybill.IsNullOrEmpty())
TransitOrderWaybillFromWareHouseStr = null;
else
TransitOrderWaybillFromWareHouseStr = "仓库物流:" + ItemTransitOrder.express_2_company + "-" + ItemTransitOrder.express_2_waybill;
AddEditTransitWarehouseRejectStr = "申请";
if (this.ItemTransitOrderWithVoid?.has_reject == 1)
AddEditTransitWarehouseRejectStr = "已申请拒收";
AddEditTransitWarehouseRejectStr = "申请";
if (this.ItemTransitOrderWithVoid?.has_reject == 1)
AddEditTransitWarehouseRejectStr = "已申请拒收";
if (this.ItemTransitOrderWithVoid?.has_reject == 2)
AddEditTransitWarehouseRejectStr = "申请拒收失败";
if (this.ItemTransitOrderWithVoid?.has_reject == 3)
@@ -267,24 +267,38 @@ namespace AllBase.Model.DBModel
if (this.ItemTransitOrderWithVoid?.has_reject == 5)
AddEditTransitWarehouseRejectStr = "已取消拒收";
if (this.ItemTransitOrderWithVoid == null || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) || this.ItemTransitOrderWithVoid.warehouse_status >= 2 ||
string.IsNullOrEmpty(PddBuyerOrder?.order_sn))
{
if (AddEditTransitWarehouseRejectStr == "申请")
AddEditTransitWarehouseRejectStr = "";
}
string.IsNullOrEmpty(PddBuyerOrder?.order_sn))
{
if (AddEditTransitWarehouseRejectStr == "申请")
AddEditTransitWarehouseRejectStr = "";
}
// 仓库物流售后按钮上的文字,仓库作废单不存在仓库物流,所以此处必须是有效的仓库单(含作废失败)
AddEditTransitWarehouseAfterSaleStr = this.ItemTransitOrderAfterSale == null ? "添加" : "已添加";
if (this.ItemTransitOrderWithVoid == null || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) || this.ItemTransitOrderWithVoid.warehouse_status < 1)
{
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
AddEditTransitWarehouseAfterSaleStr = "";
}
if (this.ItemTransitOrderAfterSale != null)
TransitWarehouseAfterSaleWayBillStr = (this.ItemTransitOrderAfterSale?.downstream_express_code + "-" + this.ItemTransitOrderAfterSale?.downstream_waybill).Trim('-');
// 仓库物流售后按钮上的文字,仓库作废单不存在仓库物流,所以此处必须是有效的仓库单(含作废失败)
AddEditTransitWarehouseAfterSaleStr = this.ItemTransitOrderAfterSale == null ? "添加" : "已添加";
if (this.ItemTransitOrderWithVoid == null || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) || this.ItemTransitOrderWithVoid.warehouse_status < 1)
{
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
AddEditTransitWarehouseAfterSaleStr = "";
}
if (this.ItemTransitOrderAfterSale != null)
TransitWarehouseAfterSaleWayBillStr = (this.ItemTransitOrderAfterSale?.downstream_express_code + "-" + this.ItemTransitOrderAfterSale?.downstream_waybill).Trim('-');
this.PddBuyerAfterSaleAddressStr = this.PddBuyerAfterSale?.afterSaleAddress;
}
if (order_id == "3738382691615546112")
{
}
AddEditTransitWarehouseReturnOrderStr = "";
if (ItemRefund?.return_detail == GlobalConfig.TransitReturnOrderReturnAddress)
{
// 关闭中转包裹退回,改为中转分销退货
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
AddEditTransitWarehouseAfterSaleStr = "";
AddEditTransitWarehouseReturnOrderStr = DistribReturnOrderInfo == null ? "添加" : "已添加";
}
// 买手退货地址
this.PddBuyerAfterSaleAddressStr = this.PddBuyerAfterSale?.afterSaleAddress;
}
/// <summary>
/// 仓库拒收按钮文本参数
/// </summary>
@@ -300,11 +314,27 @@ namespace AllBase.Model.DBModel
{
get { return this.GetValue(x => x.AddEditTransitWarehouseAfterSaleStr); }
set { this.SetValue(x => x.AddEditTransitWarehouseAfterSaleStr, value); }
}
/// <summary>
/// 拍单物流编号
/// </summary>
public string TransitOrderWaybillToWareHouseStr
}
/// <summary>
/// 仓库分销退货按钮显示文本参数
/// </summary>
public string AddEditTransitWarehouseReturnOrderStr
{
get { return this.GetValue(x => x.AddEditTransitWarehouseReturnOrderStr); }
set { this.SetValue(x => x.AddEditTransitWarehouseReturnOrderStr, value); }
}
/// <summary>
/// 仓库分销退货物流信息
/// </summary>
public string AddEditTransitWarehouseReturnOrderWaybillStr
{
get { return this.GetValue(x => x.AddEditTransitWarehouseReturnOrderWaybillStr); }
set { this.SetValue(x => x.AddEditTransitWarehouseReturnOrderWaybillStr, value); }
}
/// <summary>
/// 拍单物流编号
/// </summary>
public string TransitOrderWaybillToWareHouseStr
{
get { return this.GetValue(x => x.TransitOrderWaybillToWareHouseStr); }
set { this.SetValue(x => x.TransitOrderWaybillToWareHouseStr, value); }
@@ -713,8 +743,26 @@ namespace AllBase.Model.DBModel
set { }
}
public List<distrib_return_order_info> DistribReturnOrderInfos
{
get { return this.GetValue(x => x.DistribReturnOrderInfos); }
set
{
if (value == null)
value = new List<distrib_return_order_info>();
this.SetValue(x => x.DistribReturnOrderInfos, value);
DistribReturnOrderInfo = value.OrderByDescending(dr => dr.created_at).FirstOrDefault(dr => dr.order_void_status == 0);
if (DistribReturnOrderInfo != null)
AddEditTransitWarehouseReturnOrderWaybillStr = (DistribReturnOrderInfo.real_logistics_code + "-" + DistribReturnOrderInfo.real_logistics_express_code).Trim('-');
}
}
public distrib_return_order_info DistribReturnOrderInfo
{
get { return this.GetValue(x => x.DistribReturnOrderInfo); }
set { this.SetValue(x => x.DistribReturnOrderInfo, value); }
}
public List<order_pdd_buyer_order> DirectPddBuyerOrders { get; set; } = new List<order_pdd_buyer_order>();
public List<order_pdd_buyer_order> DirectPddBuyerOrders { get; set; } = new List<order_pdd_buyer_order>();
public order_pdd_buyer_order DirectPddBuyerOrder
{
get { return this.GetValue(x => x.DirectPddBuyerOrder); }
@@ -1161,8 +1209,8 @@ namespace AllBase.Model.DBModel
// }));
//}
this.SetTransitOrder();
this.SetItemRefund();
this.SetTransitOrder();
this.SetDirectOrder();
this.SetBuyerTransitWaybillStatusStr();
this.SetWarehouseWaybillStatusStr();
@@ -106,10 +106,10 @@ namespace AllBase.Model.Result
if (expressCompanyCode.Contains("YTO")) return "圆通速递";
if (expressCompanyCode.Contains("ZTO")) return "中通快递";
if (expressCompanyCode.Contains("BTWL")) return "百世快运";
if (expressCompanyCode.Contains("顺丰速运")) return "SF";
if (expressCompanyCode.Contains("京东快递")) return "JD";
if (expressCompanyCode.Contains("京东快运")) return "JDKY";
if (expressCompanyCode.Contains("其他快递")) return "OTHER";
if (expressCompanyCode.Contains("SF")) return "顺丰速运";
if (expressCompanyCode.Contains("JD")) return "京东快递";
if (expressCompanyCode.Contains("JDKY")) return "京东快运";
if (expressCompanyCode.Contains("OTHER")) return "其他快递";
return "其他快递";
}