diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index d64bb61..2a776da 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -5,6 +5,7 @@ using _29WxOrderWpf.Ctrls.BuyerCtrls; using _29WxOrderWpf.Ctrls.Statistics; using _29WxOrderWpf.Services; using _29WxOrderWpf.Utils; +using _29WxOrderWpf.Windows.OrderWindows; using AllBase; using AllBase.Extension; using AllBase.Helper; @@ -378,8 +379,14 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (string.IsNullOrEmpty(orderIds)) AutoUpdateTransitPackageToPddShop(); + // 处理退货仓分销退货 if (string.IsNullOrEmpty(orderIds)) - Task.Run(DoReturnOrderBuyerRefendSlient); + Task.Run(async () => + { + await DoReturnOrderBuyerRefendSlient(); + await DoReturnOrderTransitCreateSlient(); + await AutoUpdateTransitReturnOrderToPddShop(); + }); if (string.IsNullOrEmpty(orderIds)) hasReadOrder = true; @@ -785,6 +792,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } } } + + /// + /// 中转仓拦截去总店填写退货物流信息 + /// public void AutoUpdateTransitPackageToPddShop() { Task.Run(() => @@ -863,6 +874,139 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls }); } + /// + /// 退货仓去总店填写退货物流信息 + /// + public async Task AutoUpdateTransitReturnOrderToPddShop() + { + await Task.Run(() => + { + foreach (var order in GlobalConfig.lstOrder) + { + foreach (var orderItem in order.orderItems) + { + if (order.OrderBuyType == "直发" || order.OrderBuyType == "云改直") + { + //if (order.out_after_sale_status.ParseToString().Contains("待用户发货") && !(orderItem.DistribReturnOrderInfo?.real_logistics_express_code).IsNullOrEmpty()) + //{ + // string orderSn = order.out_order_no; + // if (orderSn.IsNullOrEmpty()) + // continue; + // string buyerNickName = order.out_account; + // if (buyerNickName.IsNullOrEmpty()) + // continue; + // var buyer = GlobalConfig.PDDBuyerLoginList.ToList().FirstOrDefault(b => b.buyer_nick == buyerNickName); + // if (buyer == null) + // continue; + // var afterSalesId = orderItem.PddBuyerAfterSale?.afterSalesId; + // if (string.IsNullOrEmpty(afterSalesId)) + // continue; + // var waybillId = orderItem.DistribReturnOrderInfo?.real_logistics_express_code; + + // var chkRst = AddReturnPddShopPackageInfocheck(buyer, orderSn, afterSalesId, waybillId); + // var type = 4; + // if (chkRst.Contains("\"interactType\":0")) + // type = 2; + // var result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); + // if (!result.Contains("\"result\":\"ok\"")) + // { + // type = type == 4 ? 2 : 4; + // chkRst = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); + // } + + // if (result.Contains("\"result\":\"ok\"")) + // { + // order.out_after_sale_status = "商家处理中"; + // } + // else + // { + // order.out_after_sale_status = "待用户发货 自动退货失败"; + // } + // var pddBuyerOrderLiteInfo = new PddBuyerOrderLiteInfo() + // { + // ShopOrderIdStr = orderItem.order_id, + // order_sn = orderSn, + // }; + // // 更新中转仓退货信息 + // var e57Rst = PDDBuyerOrderReadCtrl.SendAfterSaleE57NeedManual(pddBuyerOrderLiteInfo, order.out_after_sale_status); + // if (e57Rst.Contains("0") || e57Rst.Contains("200")) + // { + // BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 3); + // Thread.Sleep(Randomx.GetId(10000, 12001)); + // } + // else + // { + // var msg = BaseRegex.GetStringXml(ref e57Rst, "msg"); + // BaseMsgWindow.ShowAnimateMessage("买手退款信息更新失败,服务端返回 " + msg, "Error", 5); + // } + //} + } + else + { + if (orderItem.TransitRefundStatusStr.ParseToString().Contains("待用户发货") && !(orderItem.DistribReturnOrderInfo?.real_logistics_express_code).IsNullOrEmpty()) + { + string orderSn = orderItem.ItemTransitOrderWithVoid.out_order_no; + if (orderSn.IsNullOrEmpty()) + continue; + string buyerNickName = orderItem.ItemTransitOrderWithVoid.buyer_account; + if (buyerNickName.IsNullOrEmpty()) + continue; + var buyer = GlobalConfig.PDDBuyerLoginList.ToList().FirstOrDefault(b => b.buyer_nick == buyerNickName); + if (buyer == null) + continue; + var afterSalesId = orderItem.PddBuyerAfterSale?.afterSalesId; + if (string.IsNullOrEmpty(afterSalesId)) + continue; + var waybillId = orderItem.DistribReturnOrderInfo?.real_logistics_express_code; + + var chkRst = AddReturnPddShopPackageInfocheck(buyer, orderSn, afterSalesId, waybillId); + var type = 4; + if (chkRst.Contains("\"interactType\":0")) + type = 2; + var result = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId,"韵达快递", "121", type.ToString()); + if (!result.Contains("\"result\":\"ok\"")) + { + type = type == 4 ? 2 : 4; + chkRst = AddReturnPddShopPackageInfo(buyer, orderSn, afterSalesId, waybillId, "韵达快递", "121", type.ToString()); + } + + if (result.Contains("\"result\":\"ok\"")) + { + orderItem.ItemTransitOrderWithVoid.refund_status = "商家处理中"; + } + else + { + orderItem.ItemTransitOrderWithVoid.refund_status = "待用户发货 自动退货失败"; + } + var pddBuyerOrderLiteInfo = new PddBuyerOrderLiteInfo() + { + ShopOrderIdStr = orderItem.order_id, + order_sn = orderSn, + }; + // 更新中转仓退货信息 + var e57Rst = PDDBuyerOrderReadCtrl.SendTransitAfterSaleE57(pddBuyerOrderLiteInfo, orderItem.ItemTransitOrderWithVoid.refund_status); + if (e57Rst.Contains("0") || e57Rst.Contains("200")) + { + BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 5); + } + else + { + var msg = BaseRegex.GetStringXml(ref e57Rst, "msg"); + BaseMsgWindow.ShowAnimateMessage("买手退款信息更新失败,服务端返回 " + msg, "Error", 5); + } + } + } + // 赋值显示订单元素 + Dispatcher.Invoke(new Action(() => + { + InitOrderItemObservableProp(orderItem); + MainWindow.Instance.orderListCtrl.FilterOneOrder(order); + })); + } + } + }); + } + public void disPlayOrderTabOrderCount() { @@ -1589,7 +1733,53 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls } /// - /// 退货仓退货 + /// 退货仓创建退货单 + /// + /// + public async Task DoReturnOrderTransitCreateSlient() + { + List emergencyRefundOrders = new List(); + Dispatcher.Invoke(new Action(() => + { + emergencyRefundOrders = GlobalConfig.lstOrder.Where(o => o.IsEmergency).ToList(); + })); + List tmpOrderItems = new List(); + foreach (var order in emergencyRefundOrders) + { + foreach (var orderItem in order.orderItems) + { + if (order.order_id == "3738480261631214336") + { + + } + + // 退货地址不是退货仓,跳过 + if (orderItem.ItemRefund?.return_detail != GlobalConfig.TransitReturnOrderReturnAddress) + continue; + + if (orderItem.DistribReturnOrderInfo == null || orderItem.DistribReturnOrderInfo.warehouse_status == 0) + { + if (!tmpOrderItems.Any(oi => oi.order_id == orderItem.order_id)) + tmpOrderItems.Add(orderItem); + } + } + } + + if (tmpOrderItems.Count > 0) + { + foreach (var orderItem in tmpOrderItems) + { + if (orderItem.order_id == "3738480261631214336") + { + + } + await Task.Run(() => { TransitReturnOrderWindow.AddReturnOrder(orderItem); }); + } + } + } + + /// + /// 退货仓买手申请退货 /// /// public async Task DoReturnOrderBuyerRefendSlient() @@ -1604,10 +1794,16 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls { foreach (var orderItem in order.orderItems) { - // 退货地址是退货仓的,直接申请退货退款,取到地址后直接去填写退货仓退货信息 + if (order.order_id == "3738480261631214336") + { + + } + + // 退货地址不是退货仓,跳过 if (orderItem.ItemRefund?.return_detail != GlobalConfig.TransitReturnOrderReturnAddress) continue; + // 退货地址是退货仓的,直接申请退货退款,取到地址后直接去填写退货仓退货信息 if (orderItem?.ItemOrder?.OrderBuyType == "云仓") { if (!string.IsNullOrEmpty(orderItem.ItemTransitOrderWithVoid?.out_order_no) && orderItem.PddBuyerAfterSaleAddressStr.IsNullOrEmpty() && @@ -1621,6 +1817,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls ((orderItem.ItemOrder?.out_after_sale_status).ParseToString().Contains("需手动申请售后") || (orderItem.ItemOrder?.out_after_sale_status).ParseToString().Contains("待用户发货"))) tmpOrderItems.Add(orderItem); } + // 云改直有两个买手单,暂时只处理直发的,云仓默认已退款 if (orderItem?.ItemOrder?.OrderBuyType == "云改直") { @@ -1634,6 +1831,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls await DoBuyerRefend(tmpOrderItems); } + /// + /// 退货仓买手退货 + /// + /// public async Task DoBuyerRefend(List tmpOrderItems) { if (tmpOrderItems == null) @@ -1658,6 +1859,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls if (buyer == null) { BaseMsgWindow.ShowAnimateMessage("买手单:" + pddOrderSn + " 买手不在当前账户下,跳过", "Error", 3); + continue; } // 检测一下买手号 diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml index 8e56b2f..efff70b 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml @@ -539,11 +539,12 @@ Margin="12,0,2,0" VerticalAlignment="Center" VerticalContentAlignment="Center" + d:Text="礼品单已购买" Background="Transparent" BorderThickness="0" Foreground="{StaticResource PageWarningBrush}" IsReadOnly="True" - Text="礼品单已购买" /> + Text="{Binding ItemOrder.GiftOrderStatusStr}" /> @@ -1588,7 +1589,7 @@ Background="Transparent" BorderThickness="1" IsReadOnly="True" - Text="{Binding DistribReturnOrderInfo.real_logistics_express_code}" + Text="{Binding AddEditTransitWarehouseReturnOrderWaybillStr}" TextWrapping="Wrap" WaterMark="云仓退货" />