优化添加代发或取消代发的逻辑
This commit is contained in:
1 parent
7ef75f8134
commit
d06ec9badc
6 files changed
+76
-33
No files matched your search
@@ -1893,7 +1893,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
int errorCount = 0;
|
||||
foreach (oms_wei_order_info item in list)
|
||||
{
|
||||
var rst = await WxApiBLL.WxSearchAndDropshipCancel(item.Shop, item);
|
||||
var rst = await WxApiBLL.WxSearchAndDropshipCancelAsync(item.Shop, item);
|
||||
if (rst == "success")
|
||||
{
|
||||
var ret = await _shipGiftService.Send(item.order_id, giftType);
|
||||
|
||||
@@ -513,14 +513,21 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
// Api检测是否加入代发
|
||||
if (orderItem.BuyGoodsBtnTxt == "云仓拍单" && !isAbnormalOrder)
|
||||
{
|
||||
var apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(orderItem.Shop, orderItem.order_id, 100);
|
||||
var apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(orderItem.Shop, orderItem.order_id, 100);
|
||||
if (!apiSearchDropship.Contains("\"errcode\":0"))
|
||||
{
|
||||
BaseMsgWindow.ShowError("查询代发失败!" + BaseRegex.GetStringJson(ref apiSearchDropship, "msg"));
|
||||
return;
|
||||
}
|
||||
if (apiSearchDropship.Contains("\"ds_order_id_list\":[]"))
|
||||
{
|
||||
var apiAddDropship = new WxApiBLL().WxApiDropshipAssign(orderItem.Shop, orderItem.order_id, orderItem.product_id, orderItem.sku_id, orderItem.sku_cnt.ParseToInt());
|
||||
if (!apiAddDropship.Contains("\"errcode\":0"))
|
||||
{
|
||||
BaseMsgWindow.ShowError("设置代发失败!请确商品已加入29供货商代发!" + BaseRegex.GetStringJson(ref apiAddDropship, "msg"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(orderItem.Shop, orderItem.order_id, 100);
|
||||
if (apiSearchDropship.Contains("\"ds_order_id_list\":[]"))
|
||||
BaseMsgWindow.ShowError("店铺后台未查询到该代发单,请确商品已加入29供货商代发");
|
||||
}
|
||||
|
||||
// 模拟检测是否加入代发
|
||||
@@ -1155,6 +1162,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
directBuyOrder();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 直发拍单
|
||||
/// </summary>
|
||||
void directBuyOrder()
|
||||
{
|
||||
var orderItem = this.DataContext as oms_wei_order_item_info;
|
||||
@@ -1182,7 +1192,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
Thread.Sleep(2000);
|
||||
Dispatcher.Invoke(new Action(() => { btnBuyOrder.IsEnabled = true; }));
|
||||
});
|
||||
Task.Run(() =>
|
||||
Task.Run(async() =>
|
||||
{
|
||||
// 拍单前查询订单是否退款
|
||||
var orderId = orderItem.order_id;
|
||||
@@ -1217,13 +1227,13 @@ 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.ItemOrder, dsOrderId);
|
||||
}
|
||||
apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(orderItem.Shop, orderItem.order_id, 100);
|
||||
if (!apiSearchDropship.Contains("\"ds_order_id_list\":[]"))
|
||||
{
|
||||
BaseMsgWindow.ShowError("代发查询失败,请确商品未加入代发");
|
||||
return;
|
||||
var apiCancelDropship = await new WxApiBLL().WxApiDropshipCancel(orderItem.Shop, orderItem.ItemOrder, dsOrderId);
|
||||
|
||||
if (!apiCancelDropship.Contains("\"errcode\":0"))
|
||||
{
|
||||
BaseMsgWindow.ShowError("取消代发失败!请确商品未加入代发!" + BaseRegex.GetStringJsonByRegs(ref apiSearchDropship, apiSearchDropship, "errmsg"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1383,7 +1393,7 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
|
||||
{
|
||||
try
|
||||
{
|
||||
var rst = await WxApiBLL.WxSearchAndDropshipCancel(orderItem.Shop, orderItem.ItemOrder);
|
||||
var rst = await WxApiBLL.WxSearchAndDropshipCancelAsync(orderItem.Shop, orderItem.ItemOrder);
|
||||
if (rst == "success")
|
||||
{
|
||||
var ret = await MainWindow.Instance.orderListCtrl._shipGiftService.Send(orderItem.order_id, giftType);
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace AllBase
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
|
||||
public static int VersionCount = 232;
|
||||
public static int VersionCount = 233;
|
||||
|
||||
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
|
||||
public static string DebugUrl { get; set; } = "http://localhost:9000";
|
||||
|
||||
@@ -124,6 +124,6 @@ namespace AllBase.Model.DBModel
|
||||
public int? markupRate { get; set; } // 10,
|
||||
public string accessToken { get; set; } // "100_cw6r7-hhGaLKG7ndv558eO_3z3-5PokAG8d0Y1vc3Rczd3FuIqkefdaqVj5CNtkCYtMbTYvhnwJ7-JkBVQVe9nE0KK5SBI8AlfA7E0_sTtqcwMqKAXoCj1X4h3sjZIMX84dboC-PfzlI0wh0ADHeAHDSVZ"
|
||||
public DateTime mdyTime { get; set; } = DateTime.MinValue;
|
||||
public bool isExpire { get { return mdyTime.AddMinutes(60) < DateTime.Now; } }
|
||||
public bool isExpire { get { return mdyTime.AddMinutes(30) < DateTime.Now; } }
|
||||
}
|
||||
}
|
||||
@@ -100,13 +100,23 @@ namespace AllBase.Model.DBModel
|
||||
else if (value == "MERCHANT_FAIL") this.RefundStatusStr = "售后关闭";
|
||||
else if (value == "USER_WAIT_CONFIRM_UPDATE") this.RefundStatusStr = "待用户处理商家协商";
|
||||
else if (value == "USER_WAIT_HANDLE_MERCHANT_AFTER_SALE") this.RefundStatusStr = "待用户处理商家代发起的售后申请";
|
||||
else if (value == "WAIT_PACKAGE_INTERCEPT") this.RefundStatusStr = "物流拦截中";
|
||||
else if (value == "WAIT_PACKAGE_INTERCEPT") this.RefundStatusStr = "物流拦截中";
|
||||
else if (value == "USER_WAIT_RECEIPT") this.RefundStatusStr = "换货商品已发货";
|
||||
else this.RefundStatusStr = value;
|
||||
//MERCHANT_EXCHANGE_SUCCESS
|
||||
|
||||
if (order_id == "3738189148379849472")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
List<string> refundStrLst = new List<string>() { "商家受理中", "待买家退货", "待商家收货", "商家逾期未退款", "退款完成", "退货退款完成", "平台退款中", "待用户确认",
|
||||
"待用户处理商家协商", "待用户处理商家代发起的售后申请", "物流拦截中"};
|
||||
if (refundStrLst.Contains(this.RefundStatusStr) || RefundStatusStr == "售后状态读取失败")
|
||||
if (refundStrLst.Contains(this.RefundStatusStr))
|
||||
this.IsRefund = true;
|
||||
}
|
||||
if (RefundStatusStr == "售后状态读取失败")
|
||||
this.IsRefund = true;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 买家身份标识
|
||||
|
||||
@@ -65,42 +65,62 @@ namespace Work._29Tools.BLL
|
||||
/// <returns></returns>
|
||||
public string WxApiDropshipSearch(ShopLoginInfo shop, string orderId, int status)
|
||||
{
|
||||
bool IsRetry = false;
|
||||
|
||||
Retry:
|
||||
var token = GetWxToken(shop);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(UserLogin.GetSignaturex());
|
||||
sb.Append("&token=").Append(GetWxToken(shop).accessToken);
|
||||
sb.Append("&token=").Append(token.accessToken);
|
||||
sb.Append("&order_id=").Append(orderId);
|
||||
sb.Append("&status=").Append(status);
|
||||
|
||||
var url = BaseClass.Build29WxObjString("product/wx_api_dropship_search");
|
||||
var data = sb.ToString();
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"errcode\":0"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (html.Contains("access_token expired") && !IsRetry)
|
||||
{
|
||||
token.mdyTime = DateTime.MinValue;
|
||||
IsRetry = true;
|
||||
goto Retry;
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
|
||||
public string WxApiDropshipAssign(ShopLoginInfo shop, string orderId, string spuId, string skuId, int cnt)
|
||||
{
|
||||
bool IsRetry = false;
|
||||
|
||||
Retry:
|
||||
var token = GetWxToken(shop);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(UserLogin.GetSignaturex());
|
||||
sb.Append("&token=").Append(GetWxToken(shop).accessToken);
|
||||
sb.Append("&token=").Append(token.accessToken);
|
||||
sb.Append("&order_id=").Append(orderId);
|
||||
sb.Append("&dropship_product_list=").Append("[{\"spu_id\":\"").Append(spuId + "\",\"sku_id\":\"").Append(skuId + "\",\"product_cnt\":").Append(cnt).Append("}]");
|
||||
|
||||
var url = BaseClass.Build29WxObjString("product/wx_api_dropship_assign");
|
||||
var data = sb.ToString();
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"errcode\":0"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (html.Contains("access_token expired") && !IsRetry)
|
||||
{
|
||||
token.mdyTime = DateTime.MinValue;
|
||||
IsRetry = true;
|
||||
goto Retry;
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
public string WxApiDropshipCancel(ShopLoginInfo shop, oms_wei_order_info order, string dropShopOrderId)
|
||||
public async Task<string> WxApiDropshipCancel(ShopLoginInfo shop, oms_wei_order_info order, string dropShopOrderId)
|
||||
{
|
||||
bool IsRetry = false;
|
||||
|
||||
Retry:
|
||||
var token = GetWxToken(shop);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.Append(UserLogin.GetSignaturex());
|
||||
sb.Append("&token=").Append(GetWxToken(shop).accessToken);
|
||||
sb.Append("&token=").Append(token.accessToken);
|
||||
sb.Append("&order_id=").Append(order.order_id);
|
||||
sb.Append("&ds_order_id=").Append(dropShopOrderId);
|
||||
sb.Append("&dropship_product_list=").Append("[");
|
||||
@@ -113,13 +133,17 @@ namespace Work._29Tools.BLL
|
||||
|
||||
var url = BaseClass.Build29WxObjString("product/wx_api_dropship_cancel");
|
||||
var data = sb.ToString();
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"errcode\":0"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
var html = await GetHtml.PostUtf8Async(url, data);
|
||||
if (html.Contains("access_token expired") && !IsRetry)
|
||||
{
|
||||
token.mdyTime = DateTime.MinValue;
|
||||
IsRetry = true;
|
||||
goto Retry;
|
||||
}
|
||||
return html;
|
||||
}
|
||||
|
||||
public static async Task<string> WxSearchAndDropshipCancel(ShopLoginInfo shop, oms_wei_order_info order)
|
||||
public static async Task<string> WxSearchAndDropshipCancelAsync(ShopLoginInfo shop, oms_wei_order_info order)
|
||||
{
|
||||
string orderId = order.order_id;
|
||||
|
||||
@@ -131,13 +155,12 @@ namespace Work._29Tools.BLL
|
||||
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);
|
||||
var apiCancelDropship = await new WxApiBLL().WxApiDropshipCancel(shop, order, dsOrderId);
|
||||
if (!apiCancelDropship.Contains("\"errcode\":0"))
|
||||
{
|
||||
return apiCancelDropship;
|
||||
}
|
||||
}
|
||||
//apiSearchDropship = new WxApiBLL().WxApiDropshipSearch(shop, orderId, 100);
|
||||
return "success";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user