优化订单读取 显示中转仓状态

This commit is contained in:
wule committed 2026-10-27 16:12:27 +08:00
1 parent 3f618707da
commit e01d9a4681
6 files changed
+135 -133

No files matched your search

@@ -399,111 +399,96 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}
//if (data1.Contains("260415-154067299863696") || data1.Contains("待用户退回商品") || data1.Contains("已寄出,待商家处理") || data1.Contains("待商家处理退货申请") || data1.Contains("待用户拒收商品"))
//{
//if (data1.Contains("260415-154067299863696") || data1.Contains("待用户退回商品") || data1.Contains("已寄出,待商家处理") || data1.Contains("待商家处理退货申请") || data1.Contains("待用户拒收商品"))
//{
//}
//}
// 已发货 第一页
if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=3")) //https://mobile.yangkeduo.com/orders.html?type=3
{
await Task.Run(() =>
{
if (data1.Contains("display_amount"))
{
var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault();
var nickName = BaseRegex.GetStringJson(ref data1, "nickName");
var uid = BaseRegex.GetStringJson(ref data1, "uid");
var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id;
if (buyerId.IsNullOrEmpty())
buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id;
if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId))
{
var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault();
if (ordersStr != null && ordersStr.StartsWith("{\"3\":"))
{
ordersStr = "{\"orders\":" + ordersStr.Substring(5);
CefReadBuyerOrder(buyerId, ordersStr);
}
}
}
});
}
// 待发货 第一页
if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=2"))
{
await Task.Run(() =>
{
if (data1.Contains("display_amount"))
{
var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault();
var nickName = BaseRegex.GetStringJson(ref data1, "nickName");
var uid = BaseRegex.GetStringJson(ref data1, "uid");
var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id;
if (buyerId.IsNullOrEmpty())
buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id;
if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId))
{
var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault();
if (ordersStr != null && ordersStr.StartsWith("{\"2\":"))
{
ordersStr = "{\"orders\":" + ordersStr.Substring(5);
CefReadBuyerOrder(buyerId, ordersStr);
}
}
}
});
}
// 已发货 第一页
if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=3")) //https://mobile.yangkeduo.com/orders.html?type=3
{
if (data1.Contains("display_amount"))
{
var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault();
var nickName = BaseRegex.GetStringJson(ref data1, "nickName");
var uid = BaseRegex.GetStringJson(ref data1, "uid");
var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id;
if (buyerId.IsNullOrEmpty())
buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id;
if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId))
{
var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault();
if (ordersStr != null && ordersStr.StartsWith("{\"3\":"))
{
ordersStr = "{\"orders\":" + ordersStr.Substring(5);
await CefReadBuyerOrder(buyerId, ordersStr);
}
}
}
}
// 待发货 第一页
if (url1.StartsWith("https://mobile.yangkeduo.com/orders.html?type=2"))
{
if (data1.Contains("display_amount"))
{
var jsonData = BaseRegex.GetJsonObjStrJson(ref data1, "ordersStore")?.FirstOrDefault();
var nickName = BaseRegex.GetStringJson(ref data1, "nickName");
var uid = BaseRegex.GetStringJson(ref data1, "uid");
var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id;
if (buyerId.IsNullOrEmpty())
buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_nick == nickName)?.buyer_id;
if (!string.IsNullOrEmpty(jsonData) && !string.IsNullOrEmpty(buyerId))
{
var ordersStr = BaseRegex.GetJsonObjStrJson(ref jsonData, "initOdersList")?.FirstOrDefault();
if (ordersStr != null && ordersStr.StartsWith("{\"2\":"))
{
ordersStr = "{\"orders\":" + ordersStr.Substring(5);
await CefReadBuyerOrder(buyerId, ordersStr);
}
}
}
}
// 读订单
if (/*(cefAddress.Contains("orders.html")) &&*/ url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/aristotle/order_list_v")) //https://mobile.yangkeduo.com/proxy/api/api/aristotle/order_list_v4?pdduid=6766109923730
{
await Task.Run(() =>
{
CefReadBuyerOrder(url1, data1);
});
await CefReadBuyerOrder(url1, data1);
}
// 售后 第一页
if (url1.StartsWith("https://mobile.yangkeduo.com/complaint_list.html"))
{
await Task.Run(() =>
{
if (data1.Contains("listItemStatusVo") && data1.Contains("afterSalesId") && data1.Contains("statusText"))
{
var cookie2 = cookie1.Replace(";", "&").Replace(" ", "");
var jsonDatas = BaseRegex.GetJsonObjStrJson(ref data1, "listDataMap");
var jsonData = jsonDatas?.OrderByDescending(x => x.Length).FirstOrDefault();
var uid = BaseRegex.GetStringQuery(ref cookie2, "pdd_user_id");
var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id;
if (!string.IsNullOrEmpty(buyerId) && !string.IsNullOrEmpty(jsonData))
{
try
{
var jObj = JsonHelper.JObjectParse(jsonData);
jObj["result"] = jObj["all"];
jObj["result"]["listItemVOList"] = jObj["result"]["list"];
// 售后 第一页
if (url1.StartsWith("https://mobile.yangkeduo.com/complaint_list.html"))
{
if (data1.Contains("listItemStatusVo") && data1.Contains("afterSalesId") && data1.Contains("statusText"))
{
var cookie2 = cookie1.Replace(";", "&").Replace(" ", "");
var jsonDatas = BaseRegex.GetJsonObjStrJson(ref data1, "listDataMap");
var jsonData = jsonDatas?.OrderByDescending(x => x.Length).FirstOrDefault();
var uid = BaseRegex.GetStringQuery(ref cookie2, "pdd_user_id");
var buyerId = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => b.buyer_id == uid)?.buyer_id;
if (!string.IsNullOrEmpty(buyerId) && !string.IsNullOrEmpty(jsonData))
{
try
{
var jObj = JsonHelper.JObjectParse(jsonData);
jObj["result"] = jObj["all"];
jObj["result"]["listItemVOList"] = jObj["result"]["list"];
var nextQueryCreatedAt = BaseRegex.GetStringJson(ref data1, "nextQueryCreatedAt");
jObj["result"]["nextQueryCreatedAt"] = nextQueryCreatedAt;
var nextQueryCreatedAt = BaseRegex.GetStringJson(ref data1, "nextQueryCreatedAt");
jObj["result"]["nextQueryCreatedAt"] = nextQueryCreatedAt;
CefReadBuyerAfterSale(buyerId, JsonHelper.SerializeObject(jObj));
}
catch
{
await CefReadBuyerAfterSale(buyerId, JsonHelper.SerializeObject(jObj));
}
catch
{
}
}
}
});
}
}
}
}
}
// 读取售后
if (url1.StartsWith("https://mobile.yangkeduo.com/proxy/api/api/blade/after_sales_list"))
{
await Task.Run(() =>
{
CefReadBuyerAfterSale(url1, data1);
});
await CefReadBuyerAfterSale(url1, data1);
}
});
}
@@ -717,7 +702,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
pdd_afterSale.AfterSaleAddress = buyer_after_sale?.afterSaleAddress;
}
void CefReadBuyerOrder(string url, string data)
async Task CefReadBuyerOrder(string url, string data)
{
if (data.Contains("轻奢壁挂式香皂盒置物架卫生间沥水家居可拆卸收纳盒翻盖肥皂盒"))
{
@@ -964,7 +949,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
}));
}
Task.Run(() =>
await Task.Run(() =>
{
// 根据订单状态 取号/修改取号
if (order.WxSendTypeStr == "直发")
@@ -1090,7 +1075,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
NaiBa.Util.Helper.ConfigHelper.SaveConfig("pdd_buyer_order_list", lstPddBuyerOrderInfoLite);
}
void CefReadBuyerAfterSale(string url, string data)
async Task CefReadBuyerAfterSale(string url, string data)
{
var buyer = GlobalConfig.PDDBuyerLoginList.FirstOrDefault(b => url.Contains(b.buyer_id));
if (buyer == null)
@@ -609,7 +609,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
}
disPlayOrderTabOrderCount();
if (page % 5 == 1 || page >= totalPage)
disPlayOrderTabOrderCount();
}
// 处理店铺后台物流异常单
@@ -1144,6 +1145,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (shop.LoginStatus != "登录成功")
continue;
// 查询异常订单
var rst = WxSimAbnormalOrderSeach(shop, 100);
//Thread.Sleep(Randomx.GetId(50, 150));
if (rst.Contains("\"code\":0"))
@@ -1268,7 +1270,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
BaseMsgWindow.ShowAnimateMessage("订单扩展信息查询失败 " + ex.Message, "Error", 5);
}
}
disPlayOrderTabOrderCount();
if (index % 5 == 0 || index >= GlobalConfig.ShopLoginList.Count - 1)
disPlayOrderTabOrderCount();
}
}
@@ -2135,7 +2135,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
private async void borderWarehouseStatas_MouseUp(object sender, MouseButtonEventArgs e)
{
return;
//return;
if (this.DataContext is oms_wei_order_item_info orderItem)
{
oms_wei_order_item_transit_info transitInfo = new oms_wei_order_item_transit_info()
@@ -63,15 +63,25 @@ namespace _29WxOrderWpf.Windows.OrderWindows
TransitOrder = OrderItem.ItemTransitOrderWithVoid;
}
this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == TransitOrder?.platform)?.TransName;
this.txtExpressName.Text = TransitOrder?.express_2_company;
this.txtWarehouseWaybill.Text = TransitOrder?.express_2_waybill;
if (this.txtExpressName.Text.IsNullOrEmpty())
this.txtExpressName.Text = string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) ? TransitOrder?.express_1_company : TransitOrder?.express_2_company;
this.txtWarehouseWaybill.Text = string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) ? TransitOrder?.express_1_waybill : TransitOrder?.express_2_waybill;
if (TransitOrder != null && (this.txtExpressName.Text.IsNullOrEmpty() || this.txtWarehouseWaybill.Text.IsNullOrEmpty()))
{
this.txtExpressName.Text = OrderItem.PddBuyerOrders.FirstOrDefault(p => p.order_sn == TransitOrder?.out_order_no)?.outExpressCompanyCode;
}
if (this.txtWarehouseWaybill.Text.IsNullOrEmpty())
{
this.txtWarehouseWaybill.Text = OrderItem.PddBuyerOrders.FirstOrDefault(p => p.order_sn == TransitOrder?.out_order_no)?.tracking_number;
if (!string.IsNullOrWhiteSpace(this.txtExpressName.Text) && !string.IsNullOrWhiteSpace(this.txtWarehouseWaybill.Text))
{
// 没物流信息的仓库单手动更新买手物流信息
JObject data = new JObject();
data["orderNo"] = OrderItem.order_id;
data["orderCode"] = TransitOrder?.order_code;
data["logisticsExpressCode"] = this.txtWarehouseWaybill.Text;
data["logisticsExpressCompany"] = this.txtExpressName.Text;
var updateTransitExpressUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/orders/updateLogisticsExpressCode";
var updateTransitExpressStr = JsonHelper.SerializeObject(data);
var updateTransitExpressRst = HttpResponseWXBLL.e57PostResponse(updateTransitExpressUrl, updateTransitExpressStr, "");
}
}
if (OrderItem.ItemTransitOrderAfterSale != null)
@@ -176,12 +186,12 @@ namespace _29WxOrderWpf.Windows.OrderWindows
data["recipientPhone"] = txtMobile.Text.Trim();
data["account_user"] = BaseClass.UserName;
data["accountUser"] = BaseClass.UserName;
if (string.IsNullOrWhiteSpace(TransitOrder?.express_1_waybill) && string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) &&
!string.IsNullOrWhiteSpace(txtWarehouseWaybill.Text) && !string.IsNullOrWhiteSpace(txtExpressName.Text.Trim()))
{
data["refundWaybill"] = txtWarehouseWaybill.Text.Trim();
data["returnExpressCompany"] = txtExpressName.Text.Trim();
}
//if (string.IsNullOrWhiteSpace(TransitOrder?.express_1_waybill) && string.IsNullOrWhiteSpace(TransitOrder?.express_2_waybill) &&
// !string.IsNullOrWhiteSpace(txtWarehouseWaybill.Text) && !string.IsNullOrWhiteSpace(txtExpressName.Text.Trim()))
//{
// data["refundWaybill"] = txtWarehouseWaybill.Text.Trim();
// data["returnExpressCompany"] = txtExpressName.Text.Trim();
//}
//data["platform"] = "WEISHOP";
if (GlobalConfig.BuyConfig.IsUseAppBalance)
@@ -61,6 +61,7 @@ namespace AllBase.Model.DBModel
{ "XDYKMC", "昆明仓" },
{ "XDYSSC", "河北仓" },
{ "XDYZZC", "郑州仓" },
{ "XDYFJSSC", "福建仓" },
};
public static string TransitWarehouseDataStr = @"
@@ -69,8 +70,11 @@ XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市增城区朱村街
XDYWHC ;武汉2仓 ;杨先生 ;13044121071 ;湖北省武汉市江汉区民族街道沿江大道轮渡龙王庙码头 ;13 ;180 ;1546 ;湖北省 ;武汉市 ;江汉区 ;民族街道 ;沿江大道轮渡龙王庙码头
XDYSHANDC ;山东2仓 ;鸿鹄小申 ;13044121239 ;山东省临沂市费县南外环东转盘往东200米顺通快递有限公司(仓库二楼) ;22 ;292 ;2415 ;山东省 ;临沂市 ;费县 ;费城街道 ;南外环东转盘往东200米顺通快递有限公司(仓库二楼)
XDYSHC ;上海新仓 ;纪先生 ;13044121150 ;上海市上海市普陀区真如镇街道真北路2653弄T区 ;25 ;321 ;2709 ;上海市 ;上海市 ;普陀区 ;真如镇街道 ;真北路2653弄T区
XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋5号楼 ;6 ;79 ;732 ;广东省 ;东莞市 ;凤岗镇 ;凤岗街道 ;浸校塘东良巷逸乐轩E栋5号楼";
//XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省义乌市后宅街道金城高尔夫二期别墅区401栋 ;31 ;386 ;3409 ;浙江省 ;金华市 ;义乌市 ;后宅街道 ;金城高尔夫二期别墅区401栋
XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋5号楼 ;6 ;79 ;732 ;广东省 ;东莞市 ;凤岗镇 ;凤岗街道 ;浸校塘东良巷逸乐轩E栋5号楼
XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市后宅街道金城高尔夫二期别墅区401栋 ;31 ;386 ;3409 ;浙江省 ;金华市 ;义乌市 ;后宅街道 ;金城高尔夫二期别墅区401栋
XDYFJSSC ;福建仓 ;小张 ;13799125513 ;福建省泉州市晋江市青阳街道中堡电商园一栋 ;4 ;58 ;568 ;福建省 ;泉州市 ;晋江市 ;青阳街道 ;中堡电商园一栋";
//XDYFJSSC 石狮仓 福建省/泉州市/晋江市青阳街道中堡电商园一栋
//XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸18号库39号楼誉达 ;31 ;386 ;3409 ;浙江省 ;金华市 ;义乌市 ;北苑街道 ;西站大道妈妈商贸18号库39号楼誉达
//XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569 ;福建省 ;泉州市
//XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898 ;四川省 ;资阳市
@@ -376,29 +376,29 @@ namespace Work._29Tools.Forms.ShopForms
return;
}
{
JObject endActivityObj = new JObject();
endActivityObj["platformActivityId"] = "1269";
JArray arr = new JArray();
foreach (var sku in prodObjs["skuList"])
{
JObject obj = new JObject();
obj["productId"] = spuId;
obj["skuId"] = sku["skuId"];
arr.Add(obj);
}
endActivityObj["productList"] = arr;
endActivityObj["actionType"] = 1;
//{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1}
//{
// JObject endActivityObj = new JObject();
// endActivityObj["platformActivityId"] = "1269";
// JArray arr = new JArray();
// foreach (var sku in prodObjs["skuList"])
// {
// JObject obj = new JObject();
// obj["productId"] = spuId;
// obj["skuId"] = sku["skuId"];
// arr.Add(obj);
// }
// endActivityObj["productList"] = arr;
// endActivityObj["actionType"] = 1;
// //{ "platformActivityId":"1016","productList":[{ "productId":"10000879673464","skuId":"15601266074"},{ "productId":"10000879673464","skuId":"15601240593"}],"actionType":1}
rst = WxSimProductBLL.cancelActivity(shop, endActivityObj);
if (!rst.Contains("\"code\":0"))
{
var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
BaseMsgForm.ShowError("取消优惠失败 " + error);
return;
}
}
// rst = WxSimProductBLL.cancelActivity(shop, endActivityObj);
// if (!rst.Contains("\"code\":0"))
// {
// var error = BaseRegex.GetStringJsonByRegs(ref rst, rst, "err_msg", "error_msg", "errMsg", "errorMsg");
// BaseMsgForm.ShowError("取消优惠失败 " + error);
// return;
// }
//}
{
JObject endActivityObj = new JObject();