diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs index cd2a8a2..9f02c3d 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs @@ -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) diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs index ace38cc..c827e82 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TaobaoBuyOrderViewModel.cs @@ -1341,10 +1341,10 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls isOnsale = 1, spec = taobaoSku?.propPath, // 淘宝格式与拼多多存在差异,包含冒号与父类型id specs = pddSpecs, - price = tbSku2.price.priceMoney.ParseToInt() + 100, - normalPrice = ((tbSku2.price.priceMoney.ParseToInt() + 100) / 100m).ToString("F2"), - groupPrice = tbSku2.price.priceText, - oldGroupPrice = tbSku2.price.priceMoney.ParseToInt(), + price = tbSku2.price?.priceMoney.ParseToInt() + 100, + normalPrice = ((tbSku2.price?.priceMoney.ParseToInt() + 100) / 100m).ParseToDecimal().ToString("F2"), + groupPrice = tbSku2.price?.priceText, + oldGroupPrice = tbSku2.price?.priceMoney.ParseToInt(), }; pddFrontGoods3.skus.Add(pddFrontSkuInfo); } diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs index 8c5587b..d103d67 100644 --- a/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/BuyerCtrls/TbBuyerOrderReadCtrl.xaml.cs @@ -660,9 +660,17 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls oList.Add(o); + if (o.order_sn == "tb_5127890185262007919") + { + + } // 售后单放在同一个列表中统一处理 var refundStatus = BaseRegex.GetStringJson(ref orderItemInfoStr, "refundStatus"); - if (!string.IsNullOrEmpty(refundStatus) && !string.IsNullOrEmpty(orderStatus)) + if (refundStatus.IsNullOrEmpty()) + { + refundStatus = BaseRegex.GetStringJson(ref shopInfoStr, "tradeTitle") == "交易关闭" ? "退款成功" : ""; + } + if ((!string.IsNullOrEmpty(refundStatus) && !string.IsNullOrEmpty(orderStatus)) || refundStatus == "退款成功") { TbBuyerAfterSaleLiteInfo af = new TbBuyerAfterSaleLiteInfo(); af.buyerId = o.buyerId; @@ -769,7 +777,7 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls o.buyerId = buyer.buyer_id; o.buyerName = buyer.buyer_name; - if (o.order_sn == "tb_5127796188031004903") + if (o.order_sn == "tb_5127890185262007919") { } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs index aac80bd..725f97d 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs @@ -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(); } } diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml index 215357a..4cabe80 100644 --- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml +++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml @@ -1374,7 +1374,6 @@ - +