diff --git a/29WxOrderWpf/Converters/MoreThanZeroVisibilityConverter.cs b/29WxOrderWpf/Converters/MoreThanZeroVisibilityConverter.cs
new file mode 100644
index 0000000..603d163
--- /dev/null
+++ b/29WxOrderWpf/Converters/MoreThanZeroVisibilityConverter.cs
@@ -0,0 +1,24 @@
+using NaiBa.Util.Extension;
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Data;
+
+namespace _29WxOrderWpf.Converters
+{
+ public class MoreThanZeroVisibilityConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ return value.ParseToInt() > 0 ? Visibility.Visible : Visibility.Collapsed;
+ }
+ public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
+ {
+ throw new NotImplementedException(); // 单向绑定可不实现
+ }
+ }
+}
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
index aec7499..f6c080a 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
@@ -1,1177 +1,1191 @@
+ x:Class="_29WxOrderWpf.Ctrls.OrderCtrls.OrderListCtrl"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:c="clr-namespace:_29WxOrderWpf.Common"
+ xmlns:converters="clr-namespace:_29WxOrderWpf.Converters"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:usercontrols="clr-namespace:_29WxOrderWpf.UserControls"
+ xmlns:utils="clr-namespace:_29WxOrderWpf.Utils"
+ d:DesignHeight="450"
+ d:DesignWidth="1560"
+ Loaded="Window_Loaded"
+ mc:Ignorable="d">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
- 标题包含
-
-
- 标题不含
-
-
-
-
+
+
+
+
+ 标题包含
+
+
+ 标题不含
+
+
+
+
-
-
+
+
-
-
-
-
- 更新时间
-
-
- 成交时间
-
-
+
+
+
+
+ 更新时间
+
+
+ 成交时间
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 店铺备注包含
+
+
+ 软件备注包含
+
+
+ 店铺备注不含
+
+
+ 软件备注不含
+
+
+
+
+
+
+
+
- VerticalAlignment="Top">
-
-
-
-
-
-
-
-
-
-
-
-
- 店铺备注包含
-
-
- 软件备注包含
-
-
- 店铺备注不含
-
-
- 软件备注不含
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs
index f04fba9..477d5e9 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs
@@ -84,21 +84,21 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
AutoGetOrder();
}
- public void GetOrderTest()
- {
- for (int i = 0; i < 10000; i++)
- {
- //lstOrder.Add(new oms_wei_order_info() { id = 1, IsSelect = false, order_id = ("3737033423685556736".ParseToLong() + Randomx.GetId(0,100)).ParseToString(), shop_name = "媛卡曦工厂优选" });
- GlobalConfig.lstOrder.Add(new oms_wei_order_info() { id = 1, IsSelect = false, order_id = Randomx.GetId(1000, 10000).ParseToString(), shop_name = "媛卡曦工厂优选" });
- }
- //GlobalConfig.lstOrder.SortDesc(o => o.order_id.ParseToLong());
- }
+ //public void GetOrderTest()
+ //{
+ // for (int i = 0; i < 10000; i++)
+ // {
+ // //lstOrder.Add(new oms_wei_order_info() { id = 1, IsSelect = false, order_id = ("3737033423685556736".ParseToLong() + Randomx.GetId(0,100)).ParseToString(), shop_name = "媛卡曦工厂优选" });
+ // GlobalConfig.lstOrder.Add(new oms_wei_order_info() { id = 1, IsSelect = false, order_id = Randomx.GetId(1000, 10000).ParseToString(), shop_name = "媛卡曦工厂优选" });
+ // }
+ // //GlobalConfig.lstOrder.SortDesc(o => o.order_id.ParseToLong());
+ //}
public void AutoGetOrder()
{
Task.Run(() =>
{
- Thread.Sleep(5000);
+ //Thread.Sleep(5000);
while (true)
{
if (!IsAutoReadOrder)
@@ -136,6 +136,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
/// 按过滤条件读取读取服务端订单
public void GetOrder(string orderIds = "", bool filterGetCondition = false)
{
+ while (!MainWindow.Instance.hasReadShop)
+ {
+ Thread.Sleep(100);
+ }
+
BottomMsg = "开始读取订单...";
StartProgress();
Dispatcher.Invoke(new Action(() =>
@@ -934,6 +939,11 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (order == null)
return true;
+ if (order.order_id == "3738456804637165312")
+ {
+
+ }
+
// 过滤id
if (!string.IsNullOrEmpty(txtOrderId.Text.Trim()))
{
@@ -1190,11 +1200,6 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
});
Task.Run(() =>
{
- while (!MainWindow.Instance.hasReadShop)
- {
- Thread.Sleep(100);
- }
-
GetOrder();
nextGetOrderTime = DateTime.Now.AddMinutes(25);
});
@@ -1881,19 +1886,27 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
else
{
- giftType = GiftType._155;
+ giftType = GiftType._160;
}
int index = 1;
int sucessCount = 0;
int errorCount = 0;
foreach (oms_wei_order_info item in list)
{
- var ret = await _shipGiftService.Send(item.order_id, giftType);
- if (ret)
+ var rst = await WxApiBLL.WxSearchAndDropshipCancel(item.Shop, item);
+ if (rst == "success")
{
- sucessCount++;
- item.gift_order_status = 1;
- this.FilterOneOrder(item, true);
+ var ret = await _shipGiftService.Send(item.order_id, giftType);
+ if (ret)
+ {
+ sucessCount++;
+ item.gift_order_status = 1;
+ this.FilterOneOrder(item, true);
+ }
+ else
+ {
+ errorCount++;
+ }
}
else
{
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowCtrl.xaml
index 6b66489..584a8b9 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowCtrl.xaml
@@ -35,21 +35,6 @@
-
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml
index c6220e6..b5107c2 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml
@@ -66,8 +66,8 @@
+ Text="{Binding Shop.LoginStatusStr}" BorderThickness="0"
+ Foreground="{Binding Shop.LoginStatusStr, Converter={StaticResource statusToColorBrushConverter}}"/>
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml
index a871b75..383e895 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml
@@ -1,507 +1,1721 @@
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
-
+
-
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs
index 51add91..c159016 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs
@@ -1217,7 +1217,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
if (apiSearchDropship.Contains("ds_order_id_list") && !apiSearchDropship.Contains("\"ds_order_id_list\":[]"))
{
var dsOrderId = JsonHelper.JObjectParse(apiSearchDropship)["ds_order_id_list"].FirstOrDefault().ParseToString();
- var apiCancelDropship = new WxApiBLL().WxApiDropshipCancel(orderItem.Shop, orderItem.order_id, dsOrderId, orderItem.product_id, orderItem.sku_id, orderItem.sku_cnt.ParseToInt());
+ var apiCancelDropship = new WxApiBLL().WxApiDropshipCancel(orderItem.Shop, orderItem.ItemOrder, dsOrderId);
}
apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(orderItem.Shop, orderItem.order_id, 100);
if (!apiSearchDropship.Contains("\"ds_order_id_list\":[]"))
@@ -1377,20 +1377,24 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
else
{
- giftType = GiftType._155;
+ giftType = GiftType._160;
}
Task.Run(async () =>
{
try
{
- var ret = await MainWindow.Instance.orderListCtrl._shipGiftService.Send(orderItem.order_id, giftType);
- if (ret)
+ var rst = await WxApiBLL.WxSearchAndDropshipCancel(orderItem.Shop, orderItem.ItemOrder);
+ if (rst == "success")
{
- Application.Current.Dispatcher.Invoke(() =>
+ var ret = await MainWindow.Instance.orderListCtrl._shipGiftService.Send(orderItem.order_id, giftType);
+ if (ret)
{
- orderItem.ItemOrder.gift_order_status = 1;
- MainWindow.Instance.orderListCtrl.FilterOneOrder(orderItem.ItemOrder, true);
- });
+ Application.Current.Dispatcher.Invoke(() =>
+ {
+ orderItem.ItemOrder.gift_order_status = 1;
+ MainWindow.Instance.orderListCtrl.FilterOneOrder(orderItem.ItemOrder, true);
+ });
+ }
}
}
catch (Exception ex)
diff --git a/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml.cs
index 8abeedc..9e0658d 100644
--- a/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml.cs
@@ -41,7 +41,8 @@ namespace _29WxOrderWpf.Ctrls.ShopCtrls
{
this.lbxShop.ItemsSource = GlobalConfig.ShopLoginList;
- Task.Run(() => {
+ Task.Run(() =>
+ {
while(MainWindow.Instance.hasReadShop == false)
{
Thread.Sleep(100);
diff --git a/29WxOrderWpf/Services/ShipGiftService.cs b/29WxOrderWpf/Services/ShipGiftService.cs
index ddcec31..4652a09 100644
--- a/29WxOrderWpf/Services/ShipGiftService.cs
+++ b/29WxOrderWpf/Services/ShipGiftService.cs
@@ -65,8 +65,8 @@ public class ShipGiftService
userId = BaseClass.UserId,
userName = BaseClass.UserName,
giftOrderType = (int)giftType,
- amount = amount * 100,
- oemAmount = BaseClass.OemGiftAmount * 100
+ amount = (int)(amount * 100),
+ oemAmount = (int)(BaseClass.OemGiftAmount * 100)
});
Debug.WriteLine($"礼品单:{data}");
string ret = await HttpResponseWXBLL.e57PostResponseAsync("https://po.e57.cn//prod-api/api/oms-api/gift/order/deliveryFor29Erp", data, "");
diff --git a/29WxOrderWpf/Styles/StaticColorBrushDictionary.xaml b/29WxOrderWpf/Styles/StaticColorBrushDictionary.xaml
index e33b1fe..20af15a 100644
--- a/29WxOrderWpf/Styles/StaticColorBrushDictionary.xaml
+++ b/29WxOrderWpf/Styles/StaticColorBrushDictionary.xaml
@@ -1,29 +1,29 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
+
diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index f0b75aa..39e46e5 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -27,7 +27,7 @@ namespace AllBase
public static bool IsShowRegister { get; set; } = true;
public static bool IsShowOpenAccount { get; set; } = true;
///
- /// 礼品单价格
+ /// 礼品单oem额外价格
///
public static decimal OemGiftAmount { get; set; } = 0;
#endregion
@@ -36,7 +36,7 @@ namespace AllBase
/// 版本ID
///
- public static int VersionCount = 230;
+ public static int VersionCount = 232;
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string DebugUrl { get; set; } = "http://localhost:9000";
diff --git a/AllBase/Model/DBModel/oms_wei_order_info.cs b/AllBase/Model/DBModel/oms_wei_order_info.cs
index 5fc6546..8bbb79a 100644
--- a/AllBase/Model/DBModel/oms_wei_order_info.cs
+++ b/AllBase/Model/DBModel/oms_wei_order_info.cs
@@ -18,7 +18,16 @@ namespace AllBase.Model.DBModel
{
public class oms_wei_order_info : PropertyNotifyObject
{
- public string OrderBuyType
+ ///
+ /// 订单对应店铺
+ ///
+ public ShopLoginInfo Shop
+ {
+ get { return this.GetValue(x => x.Shop); }
+ set { this.SetValue(x => x.Shop, value); }
+ }
+
+ public string OrderBuyType
{
get { return this.GetValue(x => x.OrderBuyType); }
set { this.SetValue(x => x.OrderBuyType, value); }
@@ -33,6 +42,12 @@ namespace AllBase.Model.DBModel
public ObservableCollection refundItems { get; set; } = new ObservableCollection();
+ public bool IsWaitBuyOrIsWaitSend
+ {
+ get { return IsWaitBuy || IsWaitSend; }
+ set { }
+ }
+
///
/// 待采购
///
@@ -596,7 +611,11 @@ namespace AllBase.Model.DBModel
///
/// 礼物单状态,默认值0:不存在礼物单,1:礼物单已发货,2:礼物单信息已更正
///
- public int? gift_order_status { get; set; }
+ public int? gift_order_status
+ {
+ get { return this.GetValue(x => x.gift_order_status); }
+ set { this.SetValue(x => x.gift_order_status, value); }
+ }
///
/// 店铺备注:取微信ext_info.merchant_notes
///
@@ -660,11 +679,9 @@ namespace AllBase.Model.DBModel
public void SetOrderTextProperty()
{
- if (order_id == "3737914129536416512")
- {
+ Shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ErpShopId == shop_id.ParseToString());
- }
- if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发") && this.orderItems.Any(oi => oi.ItemTransitOrderWithVoid != null))
+ if (this.orderItems.Any(oi => oi.OrderItemExt?.buy_type == "直发") && this.orderItems.Any(oi => oi.ItemTransitOrderWithVoid != null))
{
OrderBuyType = "云改直";
OrderBuyTypeColor = GlobalConfig.PurpleBrush190;
diff --git a/Work/UserLogin.cs b/Work/UserLogin.cs
index 0916592..f53955a 100644
--- a/Work/UserLogin.cs
+++ b/Work/UserLogin.cs
@@ -137,6 +137,7 @@ namespace Work
BaseClass.PostagePerOrder = Math.Max(2.2m, BaseRegex.GetDecimalJson(ref html, "postage_per_order"));
BaseClass.RefundPostagePerOrder = Math.Max(2.5m, BaseRegex.GetDecimalJson(ref html, "refund_postage_per_order"));
BaseClass.RechargeAmountTotal = BaseRegex.GetDecimalJson(ref html, "recharge_amount_total");
+ BaseClass.OemGiftAmount = BaseRegex.GetDecimalJson(ref html, "gift_oem_amount_per_order");
BaseClass.OemId = BaseRegex.GetStringJson(ref html, "oem_id");
BaseClass.OemName = BaseRegex.GetStringJson(ref html, "oem_name");
BaseClass.IsOemOwner = BaseRegex.GetBoolJson(ref html, "is_oem_owner");
diff --git a/Work/_29Tools/BLL/HttpResponseWXBLL.cs b/Work/_29Tools/BLL/HttpResponseWXBLL.cs
index 58114f5..be8b77f 100644
--- a/Work/_29Tools/BLL/HttpResponseWXBLL.cs
+++ b/Work/_29Tools/BLL/HttpResponseWXBLL.cs
@@ -661,9 +661,9 @@ namespace Work._29Tools.BLL
public static async Task e57PostResponseAsync(string _url, string _data, string referer)
{
- await Task.Delay(2000);
- return await Task.FromResult("SUCCESS200");
- //if (string.IsNullOrEmpty(Authorization)) Authorization = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ3YmRlOGNlLWY5MDUtNDIzOS05M2VjLWZiN2U3MjRmOTY0NiJ9.vwxhj3t4zTDdBQTyfVjcKr-0Oma8-VtPDzE2LVkw4A4aWftncY1ikXgEhGwoYHn9E7yOnhS_Pb7FfzgecTqqHA";
+ //await Task.Delay(2000);
+ //return await Task.FromResult("SUCCESS200");
+ ////if (string.IsNullOrEmpty(Authorization)) Authorization = "eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjQ3YmRlOGNlLWY5MDUtNDIzOS05M2VjLWZiN2U3MjRmOTY0NiJ9.vwxhj3t4zTDdBQTyfVjcKr-0Oma8-VtPDzE2LVkw4A4aWftncY1ikXgEhGwoYHn9E7yOnhS_Pb7FfzgecTqqHA";
bool isRetry = false;
if (string.IsNullOrEmpty(sAuthorization))
diff --git a/Work/_29Tools/BLL/WxApiBLL.cs b/Work/_29Tools/BLL/WxApiBLL.cs
index 4fa0f14..3b49871 100644
--- a/Work/_29Tools/BLL/WxApiBLL.cs
+++ b/Work/_29Tools/BLL/WxApiBLL.cs
@@ -1,6 +1,7 @@
using AllBase;
using AllBase.Helper;
using AllBase.Model.DBModel;
+using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@@ -95,14 +96,20 @@ namespace Work._29Tools.BLL
return html;
}
- public string WxApiDropshipCancel(ShopLoginInfo shop, string orderId, string dropShopOrderId, string spuId, string skuId, int cnt)
+ public string WxApiDropshipCancel(ShopLoginInfo shop, oms_wei_order_info order, string dropShopOrderId)
{
StringBuilder sb = new StringBuilder();
sb.Append(UserLogin.GetSignaturex());
sb.Append("&token=").Append(GetWxToken(shop).accessToken);
- sb.Append("&order_id=").Append(orderId);
+ sb.Append("&order_id=").Append(order.order_id);
sb.Append("&ds_order_id=").Append(dropShopOrderId);
- sb.Append("&dropship_product_list=").Append("[{\"spu_id\":\"").Append(spuId).Append("\",\"sku_id\":\"").Append(skuId).Append("\",\"product_cnt\":").Append(cnt).Append("}]");
+ sb.Append("&dropship_product_list=").Append("[");
+ foreach (var item in order.orderItems)
+ {
+ sb.Append("{\"spu_id\":\"").Append(item.product_id).Append("\",\"sku_id\":\"").Append(item.sku_id).Append("\",\"product_cnt\":").Append(item.sku_cnt).Append("},");
+ }
+ sb.Remove(sb.Length - 1, 1);
+ sb.Append("]");
var url = BaseClass.Build29WxObjString("product/wx_api_dropship_cancel");
var data = sb.ToString();
@@ -111,5 +118,27 @@ namespace Work._29Tools.BLL
html = GetHtml.PostUtf8(url, data);
return html;
}
+
+ public static async Task WxSearchAndDropshipCancel(ShopLoginInfo shop, oms_wei_order_info order)
+ {
+ string orderId = order.order_id;
+
+ var apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(shop, orderId, 100);
+ if (!apiSearchDropship.Contains("\"errcode\":0"))
+ {
+ return apiSearchDropship;
+ }
+ if (apiSearchDropship.Contains("ds_order_id_list") && !apiSearchDropship.Contains("\"ds_order_id_list\":[]"))
+ {
+ var dsOrderId = JsonHelper.JObjectParse(apiSearchDropship)["ds_order_id_list"].FirstOrDefault().ParseToString();
+ var apiCancelDropship = new WxApiBLL().WxApiDropshipCancel(shop, order, dsOrderId);
+ if (!apiCancelDropship.Contains("\"errcode\":0"))
+ {
+ return apiCancelDropship;
+ }
+ }
+ //apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(shop, orderId, 100);
+ return "success";
+ }
}
}
diff --git a/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs b/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs
index 9c3c90a..b4f1f59 100644
--- a/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs
+++ b/Work/_29Tools/Forms/PddMobileBuyOrderForm.cs
@@ -849,6 +849,13 @@ namespace TemuKJD.ToolForms
return;
}
+ this.Enabled = false;
+ if (this.cefWebBrowser.Address.StartsWith("https://mobile.yangkeduo.com/order.html?order_sn="))
+ {
+
+ }
+
+
var url = BaseClass.Build29WxObjString("order/wx_add_mdy_buy_prod_map");
var data = UserLogin.GetSignaturex()
+ "&spu_code=" + GetHtml.UrlEncodeUtf8(txtUpSpuCode.Text.Trim())
@@ -865,8 +872,9 @@ namespace TemuKJD.ToolForms
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
- BaseMsgForm.ShowError("保存失败" + BaseRegex.GetStringJson(ref result, "msg"));
- }
+ this.Enabled = true;
+ BaseMsgForm.ShowError("保存失败" + BaseRegex.GetStringJson(ref result, "msg") + ",请稍后重试");
+ }
else
{
var urlMap = BaseClass.Build29WxObjString("order/wx_get_buy_prod_map");
@@ -878,8 +886,8 @@ namespace TemuKJD.ToolForms
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
resultMap = GetHtml.PostUtf8(urlMap, dataMap);
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
- {
- }
+ {
+ }
else
{
List buyMapList = new List();
@@ -1371,5 +1379,5 @@ namespace TemuKJD.ToolForms
ChangeAddress(null);
});
}
- }
+ }
}
diff --git a/Work/_29Tools/Forms/PddMobileBuyOrderForm.designer.cs b/Work/_29Tools/Forms/PddMobileBuyOrderForm.designer.cs
index e1edc45..2ed369e 100644
--- a/Work/_29Tools/Forms/PddMobileBuyOrderForm.designer.cs
+++ b/Work/_29Tools/Forms/PddMobileBuyOrderForm.designer.cs
@@ -84,7 +84,6 @@
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.txtAddress = new System.Windows.Forms.TextBox();
this.panel1 = new System.Windows.Forms.Panel();
- this.pnlMap = new System.Windows.Forms.Panel();
this.pnlDirectAddressAnalysis = new System.Windows.Forms.Panel();
this.btnAnalysis = new DevComponents.DotNetBar.PanelEx();
this.label25 = new System.Windows.Forms.Label();
@@ -103,6 +102,7 @@
this.label29 = new System.Windows.Forms.Label();
this.chkAutoChangeWarehouseAddress = new Work.UserComponents.UcCheckBox(this.components);
this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.pnlMap = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.pbCloseBase)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
@@ -113,10 +113,10 @@
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.panel1.SuspendLayout();
- this.pnlMap.SuspendLayout();
this.pnlDirectAddressAnalysis.SuspendLayout();
this.pnlBuy.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
+ this.pnlMap.SuspendLayout();
this.SuspendLayout();
//
// pbCloseBase
@@ -779,30 +779,6 @@
this.panel1.Size = new System.Drawing.Size(487, 730);
this.panel1.TabIndex = 0;
//
- // pnlMap
- //
- this.pnlMap.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.pnlMap.Controls.Add(this.txtSendProvince);
- this.pnlMap.Controls.Add(this.label13);
- this.pnlMap.Controls.Add(this.label20);
- this.pnlMap.Controls.Add(this.label1);
- this.pnlMap.Controls.Add(this.txtMapGoodsName);
- this.pnlMap.Controls.Add(this.btnManualUpdateSendProvince);
- this.pnlMap.Controls.Add(this.label2);
- this.pnlMap.Controls.Add(this.label3);
- this.pnlMap.Controls.Add(this.txtMapSkuId);
- this.pnlMap.Controls.Add(this.label4);
- this.pnlMap.Controls.Add(this.label5);
- this.pnlMap.Controls.Add(this.btnManualUpdateTransitWarehouse);
- this.pnlMap.Controls.Add(this.cmbTransitWarehouse);
- this.pnlMap.Controls.Add(this.txtMapGoodsId);
- this.pnlMap.Controls.Add(this.txtMapSkuName);
- this.pnlMap.Location = new System.Drawing.Point(12, 525);
- this.pnlMap.Name = "pnlMap";
- this.pnlMap.Size = new System.Drawing.Size(468, 203);
- this.pnlMap.TabIndex = 871;
- //
// pnlDirectAddressAnalysis
//
this.pnlDirectAddressAnalysis.Controls.Add(this.btnAnalysis);
@@ -1041,6 +1017,30 @@
this.pictureBox1.TabStop = false;
this.pictureBox1.Click += new System.EventHandler(this.pictureBox1_Click);
//
+ // pnlMap
+ //
+ this.pnlMap.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.pnlMap.Controls.Add(this.txtSendProvince);
+ this.pnlMap.Controls.Add(this.label13);
+ this.pnlMap.Controls.Add(this.label20);
+ this.pnlMap.Controls.Add(this.label1);
+ this.pnlMap.Controls.Add(this.txtMapGoodsName);
+ this.pnlMap.Controls.Add(this.btnManualUpdateSendProvince);
+ this.pnlMap.Controls.Add(this.label2);
+ this.pnlMap.Controls.Add(this.label3);
+ this.pnlMap.Controls.Add(this.txtMapSkuId);
+ this.pnlMap.Controls.Add(this.label4);
+ this.pnlMap.Controls.Add(this.label5);
+ this.pnlMap.Controls.Add(this.btnManualUpdateTransitWarehouse);
+ this.pnlMap.Controls.Add(this.cmbTransitWarehouse);
+ this.pnlMap.Controls.Add(this.txtMapGoodsId);
+ this.pnlMap.Controls.Add(this.txtMapSkuName);
+ this.pnlMap.Location = new System.Drawing.Point(12, 525);
+ this.pnlMap.Name = "pnlMap";
+ this.pnlMap.Size = new System.Drawing.Size(468, 203);
+ this.pnlMap.TabIndex = 871;
+ //
// PddMobileBuyOrderForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -1068,13 +1068,13 @@
this.splitContainer2.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
- this.pnlMap.ResumeLayout(false);
- this.pnlMap.PerformLayout();
this.pnlDirectAddressAnalysis.ResumeLayout(false);
this.pnlDirectAddressAnalysis.PerformLayout();
this.pnlBuy.ResumeLayout(false);
this.pnlBuy.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
+ this.pnlMap.ResumeLayout(false);
+ this.pnlMap.PerformLayout();
this.ResumeLayout(false);
}