修复显示等相关bug

This commit is contained in:
wule committed 2026-08-26 07:32:23 +08:00
1 parent 3281fe7885
commit 7cc4f5d856
8 files changed
+163 -63

No files matched your search

@@ -1993,7 +1993,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
}
// 向服务端更新售后退货信息更新状态
// 向服务端更新售后退货信息更新状态 直发外采信息
public void SendAfterSaleE57(PddBuyerAfterSaleLiteInfo afterSale, bool resetSendStatus = false, bool isManualSendNoRecordCancelOrder = false)
{
if (resetSendStatus)
@@ -2045,6 +2045,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}));
}
// 手动调用直发外采星系
public static string SendAfterSaleE57NeedManual(PddBuyerOrderLiteInfo order, string statusText)
{
Thread.Sleep(100);
@@ -87,6 +87,10 @@ public partial class OrderListCtrl
{
sucessCount++;
item.gift_order_status = 1;
foreach (var orderItem in item.orderItems)
{
InitOrderItemObservableProp(orderItem);
}
this.FilterOneOrder(item, true);
}
else
@@ -412,6 +412,7 @@
VerticalContentAlignment="Center"
BorderBrush="Transparent"
SelectedIndex="0"
SelectionChanged="cmbFilterRemark_SelectionChanged"
Style="{StaticResource RoundedComboBox}"
Text="成交时间">
<ComboBoxItem>
@@ -611,6 +612,13 @@
</WrapPanel>
</Border>
</TabItem>
<TabItem
MinWidth="60"
Background="Transparent"
BorderBrush="Transparent"
Foreground="#FFEE0099"
Header="异常需重拍"
SizeChanged="TabItem_SizeChanged" />
<TabItem
MinWidth="60"
Header="待发货"
@@ -708,18 +716,11 @@
</Grid>
</Border>
</TabItem>
<TabItem
MinWidth="60"
Background="Transparent"
BorderBrush="Transparent"
Foreground="#FFEE0099"
Header="异常单"
SizeChanged="TabItem_SizeChanged" />
<TabItem
MinWidth="60"
Background="#FF6666"
BorderBrush="Transparent"
Foreground="#FF6666"
Foreground="#FF2222"
Header="需处理售后单"
SizeChanged="TabItem_SizeChanged">
<Border
@@ -920,7 +921,7 @@
MinWidth="60"
Background="Transparent"
BorderBrush="Transparent"
Foreground="#FF9966"
Foreground="#FF7744"
Header="退货仓自动售后单"
SizeChanged="TabItem_SizeChanged">
<Border
@@ -948,7 +949,7 @@
MinWidth="60"
Background="Transparent"
BorderBrush="Transparent"
Foreground="#FF9966"
Foreground="#FFaa77"
Header="售后完成单"
SizeChanged="TabItem_SizeChanged">
<Border
@@ -99,6 +99,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
orderFilterConfig.chkTransitChangeDirectOrderIsChecked = true; // 云改直
orderFilterConfig.lstFilterOrderIds = new ConcurrentList<string>();
orderFilterConfig.lstFilterRemarkText = new ConcurrentList<string>();
orderFilterConfig.txtFilterShopNameText = "";
dateStart.SelectedDate = DateTime.Now.Date.AddDays(-7);
dateEnd.SelectedDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
@@ -209,6 +210,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
//指定订单id的查询,不再查询店铺id
if (string.IsNullOrEmpty(orderIds))
data += "&erp_shop_id_in=" + shop_id;
Dispatcher.Invoke(new Action(() =>
{
// 按过滤条件读取 已废弃
@@ -240,6 +243,14 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
BaseMsgWindow.ShowError("订单读取失败 " + BaseRegex.GetStringJson(ref html, "msg"));
break;
}
var totalCount = BaseRegex.GetIntJson(ref html, "count");
if (totalCount > 0)
totalPage = Math.Ceiling(1m * totalCount / pageSize).ParseToInt();
else
{
}
if (html.Contains("3738686976228742912"))
{
}
@@ -391,15 +402,6 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
//Dispatcher.Invoke(new Action(() => { disPlayOrderTabOrderCount(); }));
disPlayOrderTabOrderCount();
var totalCount = BaseRegex.GetIntJson(ref html, "count");
if (totalCount > 0)
totalPage = Math.Ceiling(1m * totalCount / pageSize).ParseToInt();
else
{
}
}
// 处理店铺后台物流异常单
@@ -713,7 +715,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var wxOrderIdIn = string.Join(",", jObj["orderList"].Select(j => j["commonInfo"]["orderId"].ParseToString()));
var wxSkuIdIn = string.Join(",", jObj["orderList"].Select(j => (j["orderProductInfo"].FirstOrDefault()?["skuId"]).ParseToString()));
// 异常单
// 异常单 异常需重拍
List<order_item_ext> existOrderExtList = new List<order_item_ext>();
if (!string.IsNullOrEmpty(wxOrderIdIn) && !string.IsNullOrEmpty(wxSkuIdIn))
{
@@ -967,8 +969,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
foreach (var orderItem in order.orderItems)
{
if (orderItem.order_id == "3738442174434006784")
{
if (orderItem.order_id == "3738598656037525761")
{
}
if (order.OrderBuyType == "直发" || order.OrderBuyType == "云改直")
@@ -984,7 +986,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var buyer = GlobalConfig.PDDBuyerLoginList.ToList().FirstOrDefault(b => b.buyer_nick == buyerNickName);
if (buyer == null)
continue;
var afterSalesId = orderItem.PddBuyerAfterSale?.afterSalesId;
var afterSalesId = orderItem.DirectPddBuyerAfterSale?.afterSalesId;
if (string.IsNullOrEmpty(afterSalesId))
continue;
var waybillId = orderItem.DistribReturnOrderInfo?.real_logistics_express_code;
@@ -1002,10 +1004,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (result.Contains("\"result\":\"ok\""))
{
orderItem.DirectPddBuyerAfterSale.statusText = "商家处理中";
order.out_after_sale_status = "商家处理中";
}
else
{
orderItem.DirectPddBuyerAfterSale.statusText = "待用户发货 自动退货失败";
order.out_after_sale_status = "待用户发货 自动退货失败";
}
var pddBuyerOrderLiteInfo = new PddBuyerOrderLiteInfo()
@@ -1013,10 +1017,28 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
ShopOrderIdStr = orderItem.order_id,
order_sn = orderSn,
};
// 更新中转仓退货信息
// 更新退货信息
var e57Rst = PDDBuyerOrderReadCtrl.SendAfterSaleE57NeedManual(pddBuyerOrderLiteInfo, order.out_after_sale_status);
if (e57Rst.Contains("<code>0</code>") || e57Rst.Contains("<code>200</code>"))
{
var url3 = BaseClass.Build29WxObjString("order/wx_add_mdy_buyer_after_sale");
var data3 = UserLogin.GetSignaturex();
data3 += "&wx_order_id=" + orderItem.DirectPddBuyerAfterSale.wx_order_id;
data3 += "&wx_sku_id=" + orderItem.DirectPddBuyerAfterSale.wx_sku_id;
data3 += "&buyerId=" + orderItem.DirectPddBuyerAfterSale.buyerId;
data3 += "&buyerName=" + orderItem.DirectPddBuyerAfterSale.buyerName;
data3 += "&orderAmount=" + orderItem.DirectPddBuyerAfterSale?.orderAmount;
data3 += "&orderSn=" + orderItem.DirectPddBuyerAfterSale.orderSn;
data3 += "&afterSalesId=" + orderItem.DirectPddBuyerAfterSale.afterSalesId;
data3 += "&orderDate=" + orderItem.DirectPddBuyerAfterSale.orderDate;
data3 += "&refundAmount=" + orderItem.DirectPddBuyerAfterSale.refundAmount;
data3 += "&statusText=" + orderItem.DirectPddBuyerAfterSale.statusText;
data3 += "&wx_send_type=" + orderItem.DirectPddBuyerAfterSale.wx_send_type;
var html3 = GetHtml.PostUtf8(url3, data3);
if (string.IsNullOrEmpty(html3) || !html3.Contains("\"code\":200"))
html3 = GetHtml.PostUtf8(url3, data3);
BaseMsgWindow.ShowAnimateMessage("买手退款信息更新成功", "Msg", 3);
Thread.Sleep(Randomx.GetId(10000, 12001));
}
@@ -1146,11 +1168,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "退货仓自动售后单"));
Dispatcher.Invoke(new Action(() => { tabItem.Header = "退货仓自动售后单(" + userOrderLst.Where(r => r.IsEmergencyDistribReturnOrder).Count() + "|" + filteLstTmp.Count() + ")"; }));
}
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, "异常单"));
Dispatcher.Invoke(new Action(() => { tabItem.Header = "异常单(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Count() + ")"; }));
var filteLstTmp = userOrderLst.Where(o => !GetOrderIsFilter(o, "异常需重拍"));
Dispatcher.Invoke(new Action(() => { tabItem.Header = "异常需重拍(" + userOrderLst.Where(r => r.isAbnormal).Count() + "|" + filteLstTmp.Count() + ")"; }));
}
Dispatcher.Invoke(new Action(() => { tabItem = tabItems.FirstOrDefault(t => t.Header.ParseToString().StartsWith("全部订单")); }));
if (tabItem != null)
@@ -1179,7 +1201,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var orderLstTmp = new List<oms_wei_order_info>();
if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单") || GlobalConfig.OrderTabHeaderStr.StartsWith("退货仓自动售后单"))
orderLstTmp = GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.RefundDatetime).ToList();
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单"))
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常需重拍"))
orderLstTmp = GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.update_time).ToList();
else
orderLstTmp = GlobalConfig.lstOrder.Where(o => !GetOrderIsFilter(o)).OrderByDescending(o => o.create_time).ToList();
@@ -1229,7 +1251,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
oms_wei_order_info nextOrder = null;
if (GlobalConfig.OrderTabHeaderStr.StartsWith("需处理售后单") || GlobalConfig.OrderTabHeaderStr.StartsWith("退货仓自动售后单"))
nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.RefundDatetime < order.RefundDatetime);
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常单"))
else if (GlobalConfig.OrderTabHeaderStr.StartsWith("异常需重拍"))
nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.update_time < order.update_time);
else
nextOrder = GlobalConfig.lstFilterOrder.FirstOrDefault(o => o.create_time < order.create_time);
@@ -1304,7 +1326,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
// 过滤店铺名称
if (!string.IsNullOrEmpty(orderFilterConfig.txtFilterShopNameText) && !(";" + orderFilterConfig.txtFilterShopNameText + ";").Contains(";" + order.shop_name + ";"))
if (!string.IsNullOrWhiteSpace(orderFilterConfig?.txtFilterShopNameText) && !(";" + orderFilterConfig?.txtFilterShopNameText + ";").Contains(";" + order.shop_name + ";"))
{
return true;
}
@@ -1330,20 +1352,14 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 过滤备注
if (orderFilterConfig.chkFilterRemarkIsChecked && orderFilterConfig.lstFilterRemarkText != null && orderFilterConfig.lstFilterRemarkText.Count > 0)
{
if (cmbFilterRemark.SelectedItem is ComboBoxItem comboBoxItem)
{
if (comboBoxItem.Content is TextBlock tb)
{
if (tb.Text == "店铺备注包含" && !orderFilterConfig.lstFilterRemarkText.Contains(order.shop_remark))
return true;
else if (tb.Text == "软件备注包含" && !orderFilterConfig.lstFilterRemarkText.Contains(order.soft_remark))
return true;
else if (tb.Text == "店铺备注不含" && orderFilterConfig.lstFilterRemarkText.Contains(order.shop_remark))
return true;
else if (tb.Text == "软件备注不含" && orderFilterConfig.lstFilterRemarkText.Contains(order.soft_remark))
return true;
}
}
if (orderFilterConfig.FilterRemarkType == "店铺备注包含" && !orderFilterConfig.lstFilterRemarkText.Contains(order.shop_remark))
return true;
else if (orderFilterConfig.FilterRemarkType == "软件备注包含" && !orderFilterConfig.lstFilterRemarkText.Contains(order.soft_remark))
return true;
else if (orderFilterConfig.FilterRemarkType == "店铺备注不含" && orderFilterConfig.lstFilterRemarkText.Contains(order.shop_remark))
return true;
else if (orderFilterConfig.FilterRemarkType == "软件备注不含" && orderFilterConfig.lstFilterRemarkText.Contains(order.soft_remark))
return true;
}
if (!orderFilterConfig.chkDirectOrderIsChecked == true && order.OrderBuyType == "直发")
return true;
@@ -1457,7 +1473,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (chkWaitReceiveWarehouseIsSendOut.IsChecked == true && order.orderItems.All(oi => oi.WarehouseWaybillStatusStr != "中转已出库"))
return true;
}
if (filterHeadStr.StartsWith("异常单") && !order.isAbnormal)
if (filterHeadStr.StartsWith("异常需重拍") && !order.isAbnormal)
{
return true;
}
@@ -1903,7 +1919,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
foreach (var orderItem in order.orderItems)
{
if (order.order_id == "3738480261631214336")
if (order.order_id == "3738564728075491584")
{
}
@@ -1924,12 +1940,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
foreach (var orderItem in tmpOrderItems)
{
if (orderItem.order_id == "3738517858745481728")
if (orderItem.order_id == "3738564728075491584")
{
}
// 10元余额才允许自动创建退货仓分销退货
if (BaseClass.Balance > 10)
if (BaseClass.Balance > 5)
{
await Task.Run(() => { TransitReturnOrderWindow.AddReturnOrder(orderItem); });
}
@@ -2461,11 +2477,24 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
}
}
private void cmbFilterRemark_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
if (cmbFilterRemark.SelectedItem is ComboBoxItem comboBoxItem)
{
if (comboBoxItem.Content is TextBlock tb)
{
if (orderFilterConfig != null)
orderFilterConfig.FilterRemarkType = tb.Text;
}
}
}
}
public class OrderFilterConfig : PropertyNotifyObject
{
public string FilterGoodsNameType { get; set; } = "标题包含";
public string FilterRemarkType { get; set; } = "店铺备注包含";
public List<string> lstFilterGoodsName { get; set; } = new List<string>();
/// <summary>
/// 隐藏标记
@@ -249,11 +249,16 @@ namespace _29WxOrderWpf.Windows.OrderWindows
{
aftersaleAddress = OrderItem?.DirectPddBuyerAfterSale?.afterSaleAddress;
}
var receiver = AddressAnalysis(aftersaleAddress.ParseToString());
var receiver = PddAddressAnalysis(aftersaleAddress.ParseToString());
// 单号不存在或者地址识别失败的直接返回
if (wxExpressName.IsNullOrEmpty() || OrderItem.ItemRefund.return_waybill_id.IsNullOrEmpty() || receiver.receiver_name.IsNullOrEmpty() || receiver.receiver_phone.IsNullOrEmpty() ||
receiver.receiver_province.IsNullOrEmpty() || receiver.receiver_city.IsNullOrEmpty() || receiver.receiver_area.IsNullOrEmpty() || receiver.receiver_address.IsNullOrEmpty())
{
if (!string.IsNullOrWhiteSpace(aftersaleAddress))
{
// todo 提示地址解析失败请手动提交
OrderItem.AddEditTransitWarehouseReturnOrderStr = "解析失败请手动添加";
}
return;
}
@@ -352,7 +357,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
private void btnAddressAnalysis_Click(object sender, RoutedEventArgs e)
{
var receiver = AddressAnalysis(txtAddressAnalysis.Text.Trim());
var receiver = PddAddressAnalysis(txtAddressAnalysis.Text.Trim());
this.txtUser.Text = receiver.receiver_name;
this.txtMobile.Text = receiver.receiver_phone;
this.txtProvince.Text = receiver.receiver_province;
@@ -361,7 +366,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
this.txtDetailAddress.Text = receiver.receiver_address;
}
public static distrib_receiver_info AddressAnalysis(string AddressText)
public static distrib_receiver_info WxAddressAnalysis(string AddressText)
{
distrib_receiver_info receiver = new distrib_receiver_info();
@@ -415,5 +420,60 @@ namespace _29WxOrderWpf.Windows.OrderWindows
return receiver;
}
}
public static distrib_receiver_info PddAddressAnalysis(string AddressText)
{
distrib_receiver_info receiver = new distrib_receiver_info();
var txt = AddressText;
txt = txt.Replace("\r", "").Replace("\n", "");
// 定义座机号的正则表达式
string landlinePattern = @"\d{3}-\d{8}|\d{4}-\d{7}";
// 定义手机号的正则表达式
string mobilePattern = @"1[3-9]\d{9}";
// 使用正则表达式匹配座机号和手机号
Match landlineMatch = Regex.Match(txt, landlinePattern);
Match mobileMatch = Regex.Match(txt, mobilePattern);
var phone = "";
if (landlineMatch.Success)
{
phone = landlineMatch.Value;
txt = txt.Replace(phone, " ");
}
if (mobileMatch.Success)
{
phone = mobileMatch.Value;
txt = txt.Replace(phone, " ");
}
if (!string.IsNullOrEmpty(phone))
{
receiver.receiver_phone = phone;
}
var province = GlobalConfig.PddDivisions.FirstOrDefault(d => txt.Contains(d.name));
if (province == null)
return receiver;
receiver.receiver_province = province.name;
var city = province.children.FirstOrDefault(c => txt.Contains(c.name));
if (city == null)
return receiver;
receiver.receiver_city = city.name;
var county = city.children.FirstOrDefault(c => txt.Contains(c.name));
if (county == null)
return receiver;
receiver.receiver_area = county.name;
txt = txt.Replace(county.name, " ").Replace(city.name, " ").Replace(province.name, " ");
var tArr = txt.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
tArr = tArr.OrderBy(t => t.Length).ToArray();
receiver.receiver_name = tArr.FirstOrDefault();
receiver.receiver_address = string.Join("", tArr).Replace(receiver.receiver_name, "");
return receiver;
}
}
}
+1 -1
View File
@@ -36,7 +36,7 @@ namespace AllBase
/// 版本ID
/// </summary>
public static int VersionCount = 260;
public static int VersionCount = 262;
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string DebugUrl { get; set; } = "http://localhost:9000";
+4 -4
View File
@@ -138,7 +138,7 @@ namespace AllBase.Model.DBModel
set { }
}
/// <summary>
/// 异常单(买手异常退货)
/// 异常单(买手异常退货)异常需重拍
/// </summary>
public bool isAbnormal
{
@@ -680,7 +680,7 @@ namespace AllBase.Model.DBModel
isAbnormal = GetIsAbnormal();
}
private bool GetIsWaitBuy()
public bool GetIsWaitBuy()
{
if (order_id == "3738686976228742912")
{
@@ -744,7 +744,7 @@ namespace AllBase.Model.DBModel
return true;
}
private bool GetIsAbnormal()
public bool GetIsAbnormal()
{
if (order_id == "3738000949931831296")
{
@@ -758,7 +758,7 @@ namespace AllBase.Model.DBModel
if (orderItems.Any(oi => oi.refund_status <= 1 && oi.ItemTransitOrder != null && oi.ItemTransitOrder.refund_status == "买手退款成功"))
return true;
// 取号异常或无法调用发货也放在异常单
// 取号异常或无法调用发货也放在异常单(异常需重拍)
// 订单不满足鸿浩仓库发货条件,无法调用鸿浩仓库接口发货
else if (orderItems.Any(oi => ((oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("取号异常") ||
(oi.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains("无法调用")) &&
@@ -850,10 +850,10 @@ namespace AllBase.Model.DBModel
// DirectPddBuyerAfterSale = DirectPddBuyerAfterSales?.FirstOrDefault();
this.DirectPddBuyerAfterSale = DirectPddBuyerAfterSales.FirstOrDefault(p => OrderItemExt?.out_order_id == p.orderSn);
// 服务端这个值不会在拍新单后覆盖,在此处使用扩展订单绑定的买手单信息修改掉,后续在拍单的时候覆盖掉
if (ItemOrder.order_id == "3738114484652896256")
{
if (ItemOrder.order_id == "3738598656037525761")
{
}
}
if (!this.ItemOrder.out_after_sale_status.ParseToString().Contains("需手动申请售后"))
this.ItemOrder.out_after_sale_status = DirectPddBuyerAfterSale?.statusText;
@@ -1093,11 +1093,16 @@ namespace AllBase.Model.DBModel
if (rawMsgKeyWords.Any(k => (this.ItemTransitOrderWithVoid?.raw_message).ParseToString().Contains(k)) && this.ItemTransitOrderWithVoid?.transfer_warehouse_status != 1)
BtnAbnormalBtnVisibility = Visibility.Collapsed;
if (order_id == "3738706885587395328")
{
}
// 直拍按钮
BtnDirectBuyOrderVisibility = Visibility.Collapsed;
if (this.ItemOrder?.IsWaitBuy == true && this.BuyGoodsBtnTxt != "关联拍单")
if (this.ItemOrder?.GetIsWaitBuy() == true && this.BuyGoodsBtnTxt != "关联拍单")
BtnDirectBuyOrderVisibility = Visibility.Visible;
if (this.ItemOrder?.isAbnormal == true && this.refund_status <= 1)
if (this.ItemOrder?.GetIsAbnormal() == true && this.refund_status <= 1)
{
//if (BtnAbnormalBtnVisibility == Visibility.Collapsed && (this.ItemOrder.out_order_no.IsNullOrEmpty() || this.ItemOrder.out_after_sale_status == "退款成功"))
if (this.ItemOrder.out_order_no.IsNullOrEmpty() || this.ItemOrder.out_after_sale_status == "退款成功")