自动领店铺优惠券 修复平台服务费不显示问题

This commit is contained in:
wule committed 2026-10-22 20:07:35 +08:00
1 parent 3f3477d3f4
commit 3af9a8017a
5 files changed
+206 -118

No files matched your search

@@ -351,6 +351,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
imgLoading.Visibility = Visibility.Visible;
btnSearch.IsEnabled = false;
}));
bool hasGetPage = false;
int page = 0;
int totalPage = 1;
int pageSize = 50;
@@ -360,7 +361,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
while (true && (IsAutoReadOrder || !string.IsNullOrEmpty(orderIds)))
{
BottomMsg = "当前正在读取订单...,第" + (page + 1) + "页";
BottomMsg = "当前正在读取订单...,第" + (page + 1) + "页" + (hasGetPage ? "" : ("/共" + totalPage + "页"));
if (page >= totalPage)
{
break;
@@ -383,7 +384,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
//指定订单id的查询,不再查询店铺id
if (string.IsNullOrEmpty(orderIds))
data += "&erp_shop_id_in=" + shop_id;
// 按过滤条件读取 已废弃
//if (filterGetCondition)
//{
@@ -416,13 +417,16 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var totalCount = BaseRegex.GetIntJson(ref html, "count");
if (totalCount > 0)
{
hasGetPage = true;
totalPage = Math.Ceiling(1m * totalCount / pageSize).ParseToInt();
}
else
{
}
if (html.Contains("3738686976228742912"))
{
{
}
var seconds = BaseRegex.GetDecimalJson(ref html, "seconds");
@@ -479,7 +483,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
pddBuyerAfterSales.AddRange(GetTbBuyerAfterSales(order_ids));
// 同步单
var buyerIds = string.Join(",", pddBuyerOrders.Select(o => o.order_sn));
var buyerIds = string.Join(",", pddBuyerOrders.Select(o => o.order_sn));
var syncLogistics = GetSyncLogistics(buyerIds);
// 读取关联拍单商品
@@ -520,7 +524,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
var pddBuyMapLst = buyMapList.Where(m => m.platform == "pdd").ToList();
item.PddBuyMap = pddBuyMapLst.FirstOrDefault(b => b.sku_code == item.out_sku_id && b.spu_code == item.out_product_id);
if (item.PddBuyMap == null)
item.PddBuyMap = pddBuyMapLst.FirstOrDefault(b => b.sku_code == item.SkuAttrStr && b.spu_code == item.out_product_id);
item.PddBuyMap = pddBuyMapLst.FirstOrDefault(b => b.sku_code == item.SkuAttrStr && b.spu_code == item.out_product_id);
if (item.PddBuyMap == null)
item.PddBuyMap = pddBuyMapLst.FirstOrDefault(b => b.sku_code == item.out_sku_id && b.spu_code == item.product_id);
if (item.PddBuyMap == null)
@@ -1551,7 +1555,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
public void disPlayOrderTabOrderCount()
public async Task disPlayOrderTabOrderCount()
{
//var orders = string.Join("','", GlobalConfig.lstFilterOrder.Select(o => o.order_id));
//var orders1 = string.Join(",", GlobalConfig.lstFilterOrder.Select(o => o.order_id));
@@ -1559,46 +1563,57 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
//TabItem tabItem = null;
//List<TabItem> tabItems = this.tabOrderType.Items.Cast<TabItem>().ToList();
var task1 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsWaitBuy).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "待采购")).Count();
WaitBuyTabTxt = "待采购(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
var task2 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsWaitSend).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "待发货")).Count();
WaitSendTabTxt = "待发货(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
var task3 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsWaitReceive).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "待收货")).Count();
WaitReceiveTabTxt = "待收货(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
var task4 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsRefund).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "售后完成单")).Count();
RefundTabTxt = "售后完成单(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
await Task.WhenAll(task1, task2, task3, task4);
var task5 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsEmergencyManualReturnOrder).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "需处理售后单")).Count();
EmergencyManualReturnOrderTabTxt = "需处理售后单(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
var task6 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsEmergencyDistribReturnOrder).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "退货仓自动售后单")).Count();
EmergencyDistribReturnOrderTabTxt = "退货仓自动售后单(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
var task7 = Task.Run(() =>
{
var lstCount = userOrderLst.Where(r => r.IsAbnormal).Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "异常需重拍")).Count();
AbnormalTabTxt = "异常需重拍(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
var task8 = Task.Run(() =>
{
var lstCount = userOrderLst.Count();
var filteLstTmpCount = userOrderLst.Where(o => !GetOrderIsFilter(o, "全部订单")).Count();
AllOrderTabTxt = "全部订单(" + lstCount + "|" + filteLstTmpCount + ")";
}
});
await Task.WhenAll(task5, task6, task7, task8);
}
CancellationTokenSource TokenSource = null;
@@ -1680,7 +1695,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
return;
oms_wei_order_info orderExist = null;
lock (MainWindow._orderLock)
{
orderExist = GlobalConfig.lstFilterOrder.ToList().FirstOrDefault(o => o.order_id == order.order_id);
@@ -1925,8 +1940,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
(bOrder?.tracking_number).IsNullOrEmpty() && bOrder?.order_time <= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72))))
{ }
// 直发没有单号正常发货才判断中转仓总店是否超时发货
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
(bOrder?.tracking_number).IsNullOrEmpty() && bOrder?.order_time <= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72))))
{ }
else
@@ -1939,8 +1954,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
bOrder.order_time >= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72)))))
{ }
// 直发没有单号才判断中转仓总店是否超时发货
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
(bOrder?.tracking_number).IsNullOrEmpty() && (bOrder?.order_time < BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-48)) &&
bOrder.order_time >= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72)))))
{ }
@@ -1982,10 +1997,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (order.orderItems.Any(oi => oi.DirectPddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
(bOrder?.tracking_number).IsNullOrEmpty() && bOrder?.order_time <= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72))))
{ }
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
(bOrder?.tracking_number).IsNullOrEmpty() && bOrder?.order_time <= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72))))
{ }
{ }
else
return true;
}
@@ -1996,8 +2011,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
(bOrder?.tracking_number).IsNullOrEmpty() && (bOrder?.order_time < BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-48)) &&
bOrder.order_time >= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72)))))
{ }
else if (order.orderItems.Any(oi =>(oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
else if (order.orderItems.Any(oi => (oi.DirectPddBuyerOrders?.Count).IsNullOrZero() &&
oi.PddBuyerOrders.OrderByDescending(bo => bo.order_time).FirstOrDefault() is order_pdd_buyer_order bOrder &&
(bOrder?.tracking_number).IsNullOrEmpty() && (bOrder?.order_time < BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-48)) &&
bOrder.order_time >= BaseClass.DateTimeToTimestampSeconds(DateTime.Now.AddHours(-72)))))
{ }
@@ -2295,7 +2310,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
GlobalConfig.OrderTabHeaderStr = ((tabOrderType.SelectedItem as TabItem)?.Header).ParseToString();
FilterOrders();
}
private void chkMapProd_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
@@ -2361,10 +2376,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
chkEmergencyBuyerWaitAfterSale.IsChecked = chkEmergencyBuyerWaitSendBack.IsChecked = chkEmergencyBuyerWaitSupplierRefund.IsChecked = chkEmergencyBuyerRefundFail.IsChecked = false;
chk.IsChecked = !isCheck;
chkEmergencyBuyerWaitAfterSaleIsChecked = chkEmergencyBuyerWaitAfterSale.IsChecked.ParseToBool();
chkEmergencyBuyerWaitSendBackIsChecked = chkEmergencyBuyerWaitSendBack.IsChecked.ParseToBool();
chkEmergencyBuyerWaitSupplierRefundIsChecked = chkEmergencyBuyerWaitSupplierRefund.IsChecked.ParseToBool();
chkEmergencyBuyerRefundFailIsChecked = chkEmergencyBuyerRefundFail.IsChecked.ParseToBool();
chkEmergencyBuyerWaitAfterSaleIsChecked = chkEmergencyBuyerWaitAfterSale.IsChecked.ParseToBool();
chkEmergencyBuyerWaitSendBackIsChecked = chkEmergencyBuyerWaitSendBack.IsChecked.ParseToBool();
chkEmergencyBuyerWaitSupplierRefundIsChecked = chkEmergencyBuyerWaitSupplierRefund.IsChecked.ParseToBool();
chkEmergencyBuyerRefundFailIsChecked = chkEmergencyBuyerRefundFail.IsChecked.ParseToBool();
}
FilterOrders();
}
@@ -2397,10 +2412,10 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
chkEmergencyWaitSupplierReceive.IsChecked = chkEmergencyWaitSupplierAccept.IsChecked = chkEmergencyShopAfterSaleSuccess.IsChecked = chkEmergencyShopInAfterSale.IsChecked = false;
chk.IsChecked = !isCheck;
chkEmergencyWaitSupplierReceiveIsChecked = chkEmergencyWaitSupplierReceive.IsChecked.ParseToBool();
chkEmergencyWaitSupplierAcceptIsChecked = chkEmergencyWaitSupplierAccept.IsChecked.ParseToBool();
chkEmergencyWaitSupplierReceiveIsChecked = chkEmergencyWaitSupplierReceive.IsChecked.ParseToBool();
chkEmergencyWaitSupplierAcceptIsChecked = chkEmergencyWaitSupplierAccept.IsChecked.ParseToBool();
chkEmergencyShopAfterSaleSuccessIsChecked = chkEmergencyShopAfterSaleSuccess.IsChecked.ParseToBool();
chkEmergencyShopInAfterSaleIsChecked = chkEmergencyShopInAfterSale.IsChecked.ParseToBool();
chkEmergencyShopInAfterSaleIsChecked = chkEmergencyShopInAfterSale.IsChecked.ParseToBool();
}
FilterOrders();
}
@@ -2434,8 +2449,8 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
chk.IsChecked = !isCheck;
chkWaitReceiveWarehouseIsNotPickupIsChecked = chkWaitReceiveWarehouseIsNotPickup.IsChecked.ParseToBool();
chkWaitReceiveWarehouseIsPickupIsChecked = chkWaitReceiveWarehouseIsPickup.IsChecked.ParseToBool();
chkWaitReceiveWarehouseIsSendOutIsChecked = chkWaitReceiveWarehouseIsSendOut.IsChecked.ParseToBool();
chkWaitReceiveWarehouseIsPickupIsChecked = chkWaitReceiveWarehouseIsPickup.IsChecked.ParseToBool();
chkWaitReceiveWarehouseIsSendOutIsChecked = chkWaitReceiveWarehouseIsSendOut.IsChecked.ParseToBool();
}
FilterOrders();
}
@@ -2699,7 +2714,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
outOrderSn = tmpOrderItem.ItemOrder?.out_order_no;
if (outOrderSn.StartsWith("tb_"))
{
{
// todo 淘宝退货暂时不处理
}
else
@@ -3194,7 +3209,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
e.Column.Header = ColumnHeaderTitle = "交易时间 ▲";
}
}
}
private void cmbFilterRemark_SelectionChanged(object sender, SelectionChangedEventArgs e)
@@ -3431,80 +3446,80 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
public class OrderFilterConfig : PropertyNotifyObject
{
public string FilterGoodsNameType { get; set; } = "标题包含";
public string FilterRemarkType { get; set; } = "店铺备注包含";
public List<string> lstFilterGoodsName { get; set; } = new List<string>();
/// <summary>
/// 隐藏标记
/// </summary>
public bool chkHideGreenFlagIsChecked
{
public string FilterGoodsNameType { get; set; } = "标题包含";
public string FilterRemarkType { get; set; } = "店铺备注包含";
public List<string> lstFilterGoodsName { get; set; } = new List<string>();
/// <summary>
/// 隐藏标记
/// </summary>
public bool chkHideGreenFlagIsChecked
{
get { return this.GetValue(x => x.chkHideGreenFlagIsChecked); }
set { this.SetValue(x => x.chkHideGreenFlagIsChecked, value); }
}
/// <summary>
/// 过滤非本系统订单
/// </summary>
public bool chkOnlyWarehouseOrderIsChecked
{
get { return this.GetValue(x => x.chkOnlyWarehouseOrderIsChecked); }
set { this.SetValue(x => x.chkOnlyWarehouseOrderIsChecked, value); }
}
/// <summary>
/// 过滤多子单订单
/// </summary>
public bool chkNoMultiOrderIsChecked
{
get { return this.GetValue(x => x.chkNoMultiOrderIsChecked); }
set { this.SetValue(x => x.chkNoMultiOrderIsChecked, value); }
}
/// <summary>
/// 云仓
/// </summary>
public bool chkTransitOrderIsChecked
{
get { return this.GetValue(x => x.chkTransitOrderIsChecked); }
set { this.SetValue(x => x.chkTransitOrderIsChecked, value); }
}
/// <summary>
/// 直发
/// </summary>
public bool chkDirectOrderIsChecked
{
get { return this.GetValue(x => x.chkDirectOrderIsChecked); }
set { this.SetValue(x => x.chkDirectOrderIsChecked, value); }
}
/// <summary>
/// 云改直
/// </summary>
public bool chkTransitChangeDirectOrderIsChecked
{
get { return this.GetValue(x => x.chkTransitChangeDirectOrderIsChecked); }
set { this.SetValue(x => x.chkTransitChangeDirectOrderIsChecked, value); }
}
/// <summary>
/// 过滤备注
/// </summary>
public bool chkFilterRemarkIsChecked
{
get { return this.GetValue(x => x.chkFilterRemarkIsChecked); }
set { this.SetValue(x => x.chkFilterRemarkIsChecked, value); }
}
public ConcurrentList<string> lstFilterOrderIds
{
get { return this.GetValue(x => x.lstFilterOrderIds); }
set { this.SetValue(x => x.lstFilterOrderIds, value); }
}
public ConcurrentList<string> lstFilterRemarkText
{
get { return this.GetValue(x => x.lstFilterRemarkText); }
set { this.SetValue(x => x.lstFilterRemarkText, value); }
}
public string txtFilterShopNameText
{
get { return this.GetValue(x => x.txtFilterShopNameText); }
set { this.SetValue(x => x.txtFilterShopNameText, value); }
}
get { return this.GetValue(x => x.chkHideGreenFlagIsChecked); }
set { this.SetValue(x => x.chkHideGreenFlagIsChecked, value); }
}
/// <summary>
/// 过滤非本系统订单
/// </summary>
public bool chkOnlyWarehouseOrderIsChecked
{
get { return this.GetValue(x => x.chkOnlyWarehouseOrderIsChecked); }
set { this.SetValue(x => x.chkOnlyWarehouseOrderIsChecked, value); }
}
/// <summary>
/// 过滤多子单订单
/// </summary>
public bool chkNoMultiOrderIsChecked
{
get { return this.GetValue(x => x.chkNoMultiOrderIsChecked); }
set { this.SetValue(x => x.chkNoMultiOrderIsChecked, value); }
}
/// <summary>
/// 云仓
/// </summary>
public bool chkTransitOrderIsChecked
{
get { return this.GetValue(x => x.chkTransitOrderIsChecked); }
set { this.SetValue(x => x.chkTransitOrderIsChecked, value); }
}
/// <summary>
/// 直发
/// </summary>
public bool chkDirectOrderIsChecked
{
get { return this.GetValue(x => x.chkDirectOrderIsChecked); }
set { this.SetValue(x => x.chkDirectOrderIsChecked, value); }
}
/// <summary>
/// 云改直
/// </summary>
public bool chkTransitChangeDirectOrderIsChecked
{
get { return this.GetValue(x => x.chkTransitChangeDirectOrderIsChecked); }
set { this.SetValue(x => x.chkTransitChangeDirectOrderIsChecked, value); }
}
/// <summary>
/// 过滤备注
/// </summary>
public bool chkFilterRemarkIsChecked
{
get { return this.GetValue(x => x.chkFilterRemarkIsChecked); }
set { this.SetValue(x => x.chkFilterRemarkIsChecked, value); }
}
public ConcurrentList<string> lstFilterOrderIds
{
get { return this.GetValue(x => x.lstFilterOrderIds); }
set { this.SetValue(x => x.lstFilterOrderIds, value); }
}
public ConcurrentList<string> lstFilterRemarkText
{
get { return this.GetValue(x => x.lstFilterRemarkText); }
set { this.SetValue(x => x.lstFilterRemarkText, value); }
}
public string txtFilterShopNameText
{
get { return this.GetValue(x => x.txtFilterShopNameText); }
set { this.SetValue(x => x.txtFilterShopNameText, value); }
}
}
}
@@ -142,7 +142,7 @@ namespace _29WxOrderWpf.ViewModels
// <AjaxResult><msg>创建额外包裹异常: 用户账户余额不足,需至少 2.20 元用于中转仓取号, userId:17333276316, balance:0.85</msg><code>2</code></AjaxResult>
if (BaseRegex.GetStringXml(ref rst, "code") != "0" && BaseRegex.GetStringXml(ref rst, "code") != "200")
{
BaseMsgWindow.ShowError(BaseRegex.GetStringXml(ref rst, "msg"));
BaseMsgWindow.ShowError("服务端返回:" + BaseRegex.GetStringXml(ref rst, "msg"));
return;
}
@@ -156,7 +156,7 @@ namespace _29WxOrderWpf.ViewModels
// <AjaxResult><msg>额外信息已保存</msg><code>200</code></AjaxResult>
if (BaseRegex.GetStringXml(ref rst, "code") != "0" && BaseRegex.GetStringXml(ref rst, "code") != "200")
{
BaseMsgWindow.ShowError(BaseRegex.GetStringXml(ref rst, "msg"));
BaseMsgWindow.ShowError("服务端返回:" + BaseRegex.GetStringXml(ref rst, "msg"));
return;
}
+1 -1
View File
@@ -28,7 +28,7 @@ namespace AllBase.Model.DBModel
public ShopLoginInfo Shop
{
get { return this.GetValue(x => x.Shop); }
set { this.SetValue(x => x.Shop, value); if (!Shop.ShopAccount.IsNullOrEmpty()) shop_name = Shop.ShopAccount; }
set { this.SetValue(x => x.Shop, value); if (!(Shop?.ShopAccount).IsNullOrEmpty()) shop_name = Shop?.ShopAccount; }
}
public int Index
{
@@ -1241,6 +1241,10 @@ namespace AllBase.Model.DBModel
//get { if (ItemOrder.out_amount > 0 || ItemTransitOrder?.out_amount > 0) return Visibility.Collapsed; return Visibility.Visible; }
FreightVisibility = Visibility.Collapsed;
if (order_id == "3740014218899272960")
{
}
//get { return "¥" + (order_items.Sum(oi => oi.predict_commission_fee.ParseToInt()) * 0.01m).ParseToDecimal().ToString("0.00"); }
PredictCommissionFeeStr = "¥" + (predict_commission_fee * 0.01m).ParseToDecimal().ToString("0.00");
@@ -1346,8 +1350,8 @@ namespace AllBase.Model.DBModel
/// </summary>
public string CommissionAmountStr
{
get { return this.GetValue(x => x.PredictCommissionFeeStr); }
set { this.SetValue(x => x.PredictCommissionFeeStr, value); }
get { return this.GetValue(x => x.CommissionAmountStr); }
set { this.SetValue(x => x.CommissionAmountStr, value); }
}
/// <summary>
+73 -4
View File
@@ -611,7 +611,13 @@ namespace TemuKJD.ToolForms
}
}
}
var rst = await ChangeAddress(transit);
// 填地址
var rst = await ChangeAddress(transit);
// 领优惠券
await AutoGetCoupon();
IsChangeAddress = false;
}
}
@@ -654,7 +660,7 @@ namespace TemuKJD.ToolForms
while (this.Created && IsAutoBuy)
{
Thread.Sleep(100);
if (HasChangeAddress && (this.cefWebBrowser?.GetMainFrame()?.Url).ParseToString().StartsWith("https://mobile.yangkeduo.com/order_checkout.html?sku_id="))
if (!IsChangeAddress && HasChangeAddress && (this.cefWebBrowser?.GetMainFrame()?.Url).ParseToString().StartsWith("https://mobile.yangkeduo.com/order_checkout.html?sku_id="))
{
try
{
@@ -772,7 +778,7 @@ namespace TemuKJD.ToolForms
IBrowserHost host = null;
DevToolsClient client = null;
public async Task<EvaluateResponse> EvaluateJsBuyTagNameAndInnerHtml(string tagName, string innerHTML, bool isClick = false)
public async Task<EvaluateResponse> EvaluateJsBuyTagNameAndInnerHtml(string tagName, string innerHTML, bool isClick = false, bool isOuterHtml = false)
{
if (!this.Created)
throw new Exception("窗口已关闭");
@@ -796,7 +802,7 @@ namespace TemuKJD.ToolForms
var jsStr1 = @"(function() { var elements = document.getElementsByTagName('" + tagName + @"');
for (i = elements.length - 1; i >= 0; i--){
var element = elements[i];
if (element.innerHTML.indexOf('" + innerHTML + @"') >= 0) {";
if (element." + (isOuterHtml ? "outerHTML" : "innerHTML") + @".indexOf('" + innerHTML + @"') >= 0) {";
if (isClick)
jsStr1 += @"element.click();";
jsStr1 += @"
@@ -840,6 +846,69 @@ namespace TemuKJD.ToolForms
}
}
public async Task<string> AutoGetCoupon()
{
for (int i = 0; i < 10; i++)
{
Thread.Sleep(100);
if (host == null || client == null)
{
host = cefWebBrowser?.GetBrowser().GetHost();
client = cefWebBrowser?.GetDevToolsClient();
}
else
break;
}
if (host == null || client == null)
{
throw new Exception("页面加载异常");
}
// 点击领取优惠券
for (int i = 0; i < 20; i++)
{
Thread.Sleep(150);
if (!this.Created) return "窗口已关闭";
var ts1 = await EvaluateJsBuyTagNameAndInnerHtml("span", "领券可减", true);
if (ts1.Result.Value is string rstStr && rstStr == "success")
{
break;
}
}
Thread.Sleep(Randomx.GetId(200, 400));
//点击领取优惠券
for (int i = 0; i < 20; i++)
{
Thread.Sleep(150);
if (!this.Created) return "窗口已关闭";
var ts1 = await EvaluateJsBuyTagNameAndInnerHtml("div", "领取", true);
if (ts1.Result.Value is string rstStr && rstStr == "success")
{
break;
}
}
Thread.Sleep(Randomx.GetId(200, 400));
// 点击关闭
for (int i = 0; i < 20; i++)
{
Thread.Sleep(150);
if (!this.Created) return "窗口已关闭";
var ts1 = await EvaluateJsBuyTagNameAndInnerHtml("div", "aria-label=\"关闭\"", true, true);
if (ts1.Result.Value is string rstStr && rstStr == "success")
{
break;
}
}
Thread.Sleep(Randomx.GetId(200, 400));
return "";
}
/// <summary>
/// 自动填写地址
/// </summary>