记录关联商品所有sku并可以快速关联
This commit is contained in:
1 parent
66f1381950
commit
d77ec5cc2e
9 files changed
+460
-3927
No files matched your search
@@ -7,6 +7,7 @@ using AllBase.Model.Result;
|
||||
using CefSharp;
|
||||
using CefSharp.DevTools.IO;
|
||||
using CefSharp.DevTools.Profiler;
|
||||
using CefSharp.Web;
|
||||
using CefSharp.WinForms;
|
||||
using DevComponents.WinForms.Drawing;
|
||||
|
||||
@@ -35,6 +36,7 @@ using System.Windows.Forms;
|
||||
using Work;
|
||||
using Work._29Tools.BLL;
|
||||
using Work._29Tools.CefTools;
|
||||
using Work._29Tools.Forms.ToolForms;
|
||||
using Work.BaseForms;
|
||||
using static System.Windows.Forms.VisualStyles.VisualStyleElement.StartPanel;
|
||||
|
||||
@@ -43,7 +45,7 @@ namespace TemuKJD.ToolForms
|
||||
public partial class PddMobileBuyOrderForm : BaseGeneralForm
|
||||
{
|
||||
public oms_wei_external_procurement_log_info AbnormalTransitWarehouseOrderInfo { get; set; } = null;
|
||||
public pddFrontGoods3List pddFrontGoodsLite = new pddFrontGoods3List();
|
||||
public pddFrontGoods3Lite pddFrontGoodsLite = new pddFrontGoods3Lite();
|
||||
|
||||
public bool IsAutoBuy { get; set; } = true;
|
||||
public bool IsFormLoad { get; set; } = false;
|
||||
@@ -170,6 +172,16 @@ namespace TemuKJD.ToolForms
|
||||
txtBuyTransitWarehouse.Text = orderItem.ItemOrder.AddressStr;
|
||||
}
|
||||
}
|
||||
else if (orderItem.BuyMapSkus != null && orderItem.BuyMapSkus.Count > 0 && AbnormalTransitWarehouseOrderInfo == null) // 不能是异常重拍
|
||||
{
|
||||
panel2.Visible = true;
|
||||
cmbMapSkusProd.Items.Clear();
|
||||
cmbMapSkusProd.Items.Add("");
|
||||
foreach (var mapSku in orderItem.BuyMapSkus)
|
||||
{
|
||||
cmbMapSkusProd.Items.Add(mapSku.map_goods_name + mapSku.map_goods_id);
|
||||
}
|
||||
}
|
||||
|
||||
this.pictureBox1.Image = ImageBuild.LoadBitmapLoadBitmipImageFromUrl(orderItem.thumb_img);
|
||||
this.txtShopSkuId.Text = orderItem.sku_id;
|
||||
@@ -897,8 +909,9 @@ namespace TemuKJD.ToolForms
|
||||
}
|
||||
}
|
||||
|
||||
private void btnManualUpdateTransitWarehouse_Click(object sender, EventArgs e)
|
||||
private async void btnManualUpdateTransitWarehouse_Click(object sender, EventArgs e)
|
||||
{
|
||||
var sendProvince = txtSendProvince.Text.Trim();
|
||||
if (transitWarehouse == null && !cmbTransitWarehouse.Text.Trim().IsNullOrEmpty())
|
||||
{
|
||||
transitWarehouse = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransName + " " + t.TransDetailAddress == cmbTransitWarehouse.Text.Trim().ParseToString());
|
||||
@@ -910,44 +923,101 @@ namespace TemuKJD.ToolForms
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.pddFrontGoodsLite == null || this.pddFrontGoodsLite.goodsId == null)
|
||||
{
|
||||
await Task.Run(() =>
|
||||
{
|
||||
var jsStr = "document.getElementById('orderGoodsBlock').getElementsByTagName('div')[0].click();";
|
||||
|
||||
var host = cefWebBrowser.GetBrowser().GetHost();
|
||||
var client = cefWebBrowser.GetDevToolsClient();
|
||||
var ts1 = client.Runtime.EvaluateAsync(jsStr, null, true, null, null, true, null, true);
|
||||
ts1.Wait(500);
|
||||
Thread.Sleep(2000);
|
||||
});
|
||||
}
|
||||
|
||||
this.Enabled = false;
|
||||
if (this.cefWebBrowser.Address.StartsWith("https://mobile.yangkeduo.com/order.html?order_sn="))
|
||||
if (!this.cefWebBrowser.Address.StartsWith("https://mobile.yangkeduo.com/order.html?order_sn=") && (this.pddFrontGoodsLite?.goodsId).ParseToString() == txtMapGoodsId.Text.Trim())
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
string url;
|
||||
string upSpuCode = txtUpSpuCode.Text.Trim();
|
||||
string upSkuCode = txtUpSkuCode.Text.Trim();
|
||||
// 保存sku及商品关联信息
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&spu_code=" + GetHtml.UrlEncodeUtf8(txtUpSpuCode.Text.Trim())
|
||||
+ "&sku_code=" + GetHtml.UrlEncodeUtf8(txtUpSkuCode.Text.Trim())
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&spu_code=" + GetHtml.UrlEncodeUtf8(upSpuCode)
|
||||
+ "&sku_code=" + GetHtml.UrlEncodeUtf8(upSkuCode)
|
||||
+ "&main_user_name=" + BaseClass.MainUserName
|
||||
+ "&map_goods_name=" + txtMapGoodsName.Text.Trim()
|
||||
+ "&map_spec_name=" + txtMapSkuName.Text.Trim()
|
||||
+ "&map_goods_id=" + txtMapGoodsId.Text.Trim()
|
||||
+ "&map_sku_id=" + txtMapSkuId.Text.Trim()
|
||||
+ "&map_send_address=" + txtSendProvince.Text.Trim()
|
||||
+ "&transit_warehouse_id=" + transitWarehouse?.TransId;
|
||||
+ "&map_send_address=" + sendProvince
|
||||
+ "&transit_warehouse_id=" + transitWarehouse?.TransId;
|
||||
if (this.pddFrontGoodsLite != null && this.pddFrontGoodsLite.goodsId.ParseToString() == txtMapGoodsId.Text.Trim())
|
||||
{
|
||||
//// 保存商品关联信息
|
||||
//data += "&map_skus=" + GetHtml.UrlEncodeUtf8(JsonHelper.SerializeObject(pddFrontGoodsLite));
|
||||
//url = BaseClass.Build29WxObjString("order/wx_add_mdy_buy_prod_map_skus");
|
||||
//var skusRst = GetHtml.PostUtf8(url, data);
|
||||
//if (!skusRst.Contains("\"code\":200"))
|
||||
// skusRst = GetHtml.PostUtf8(url, data);
|
||||
// 保存商品关联信息
|
||||
data += "&map_skus=" + GetHtml.UrlEncodeUtf8(JsonHelper.SerializeObject(pddFrontGoodsLite));
|
||||
url = BaseClass.Build29WxObjString("order/wx_add_mdy_buy_prod_map_skus");
|
||||
var skusRst = await GetHtml.PostUtf8Async(url, data);
|
||||
if (!skusRst.Contains("\"code\":200"))
|
||||
skusRst = await GetHtml.PostUtf8Async(url, data);
|
||||
|
||||
//// 存完立即测试读取
|
||||
////wx_get_buy_pord_map_skus
|
||||
//var dataTest = UserLogin.GetSignaturex() + "&spu_codes=" + GetHtml.UrlEncodeUtf8(txtUpSpuCode.Text.Trim());
|
||||
//dataTest += "&main_user_name=" + BaseClass.MainUserName;
|
||||
//url = BaseClass.Build29WxObjString("order/wx_get_buy_pord_map_skus");
|
||||
//var dataTestRst = GetHtml.PostUtf8(url, dataTest);
|
||||
// 存完立即读取
|
||||
//wx_get_buy_pord_map_skus
|
||||
var dataTest = UserLogin.GetSignaturex() + "&spu_codes=" + GetHtml.UrlEncodeUtf8(upSpuCode);
|
||||
dataTest += "&main_user_name=" + BaseClass.MainUserName;
|
||||
url = BaseClass.Build29WxObjString("order/wx_get_buy_pord_map_skus");
|
||||
var resultSkusMap = await GetHtml.PostUtf8Async(url, dataTest);
|
||||
if (string.IsNullOrEmpty(resultSkusMap) || !resultSkusMap.Contains("\"code\":200"))
|
||||
{
|
||||
resultSkusMap = await GetHtml.PostUtf8Async(url, dataTest);
|
||||
}
|
||||
if (string.IsNullOrEmpty(resultSkusMap) || !resultSkusMap.Contains("\"code\":200"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
List<WXBuyMapSkusInfo> buyMapSkuList = new List<WXBuyMapSkusInfo>();
|
||||
try
|
||||
{
|
||||
buyMapSkuList = JsonHelper.DeserializeJsonToList<WXBuyMapSkusInfo>(JObject.Parse(resultSkusMap)["data"].ParseToString());
|
||||
|
||||
GlobalConfig.BuyMapSkusList.RemoveAll(b => buyMapSkuList.Any(map => b.spu_code == map.spu_code));
|
||||
GlobalConfig.BuyMapSkusList.AddRange(buyMapSkuList);
|
||||
|
||||
foreach (var order in GlobalConfig.lstOrder)
|
||||
{
|
||||
if (order.IsWaitBuy)
|
||||
{
|
||||
foreach (var item in order.orderItems)
|
||||
{
|
||||
if (item.out_product_id == upSpuCode || item.product_id == upSpuCode)
|
||||
{
|
||||
item.BuyMapSkus = buyMapSkuList;
|
||||
|
||||
//if (filterOrderAction != null)
|
||||
//{
|
||||
// item.SetOrderItemTextProperty();
|
||||
// filterOrderAction(order, false);
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
url = BaseClass.Build29WxObjString("order/wx_add_mdy_buy_prod_map");
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
var result = await GetHtml.PostUtf8Async(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
result = await GetHtml.PostUtf8Async(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
this.Enabled = true;
|
||||
@@ -957,20 +1027,29 @@ namespace TemuKJD.ToolForms
|
||||
{
|
||||
var urlMap = BaseClass.Build29WxObjString("order/wx_get_buy_prod_map");
|
||||
var dataMap = UserLogin.GetSignaturex()
|
||||
+ "&spu_codes=" + txtUpSpuCode.Text.Trim();
|
||||
//dataMap += "&sku_codes=" + txtUpSkuCode.Text.Trim();
|
||||
dataMap += "&main_user_name=" + BaseClass.MainUserName;
|
||||
var resultMap = GetHtml.PostUtf8(urlMap, dataMap);
|
||||
+ "&spu_codes=" + upSpuCode;
|
||||
//dataMap += "&sku_codes=" + upSkuCode;
|
||||
dataMap += "&main_user_name=" + BaseClass.MainUserName;
|
||||
var resultMap = await GetHtml.PostUtf8Async(urlMap, dataMap);
|
||||
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
|
||||
resultMap = GetHtml.PostUtf8(urlMap, dataMap);
|
||||
resultMap = await GetHtml.PostUtf8Async(urlMap, dataMap);
|
||||
if (string.IsNullOrEmpty(resultMap) || !resultMap.Contains("\"code\":200"))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
List<WXBuyMapInfo> buyMapList = new List<WXBuyMapInfo>();
|
||||
try { buyMapList = JsonHelper.DeserializeJsonToList<WXBuyMapInfo>(JObject.Parse(resultMap)["data"].ParseToString()); } catch { }
|
||||
var map = buyMapList.FirstOrDefault(b => b.spu_code == txtUpSpuCode.Text.Trim() && b.sku_code == txtUpSkuCode.Text.Trim());
|
||||
try
|
||||
{
|
||||
buyMapList = JsonHelper.DeserializeJsonToList<WXBuyMapInfo>(JObject.Parse(resultMap)["data"].ParseToString());
|
||||
|
||||
GlobalConfig.BuyMapList.RemoveAll(b => buyMapList.Any(map => b.spu_code == map.spu_code && b.sku_code == map.sku_code));
|
||||
GlobalConfig.BuyMapList.AddRange(buyMapList);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
var map = buyMapList.FirstOrDefault(b => b.spu_code == upSpuCode && b.sku_code == upSkuCode);
|
||||
if (map != null)
|
||||
{
|
||||
foreach (var order in GlobalConfig.lstOrder)
|
||||
@@ -1460,5 +1539,78 @@ namespace TemuKJD.ToolForms
|
||||
ChangeAddress(null);
|
||||
});
|
||||
}
|
||||
|
||||
private void cmbMapSkusProd_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.IsFormLoad)
|
||||
{
|
||||
cmbMapSkus.Items.Clear();
|
||||
if (!string.IsNullOrEmpty(cmbMapSkusProd.Text))
|
||||
{
|
||||
cmbMapSkus.Items.Add("");
|
||||
var mapSku = orderItem.BuyMapSkus.FirstOrDefault(m => m.map_goods_name + m.map_goods_id == cmbMapSkusProd.Text);
|
||||
if (mapSku != null)
|
||||
{
|
||||
foreach(var pddsku in mapSku.pdd_front_goods3_Lite.skus)
|
||||
{
|
||||
cmbMapSkus.Items.Add(string.Join(";", pddsku.specs.Select(sp => sp.spec_value)));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void cmbMapSkus_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.IsFormLoad)
|
||||
{
|
||||
this.pictureBox2.Image = null;
|
||||
this.pictureBox2.Tag = null;
|
||||
|
||||
var mapSkuProd = orderItem.BuyMapSkus.FirstOrDefault(s => s.map_goods_name + s.map_goods_id == cmbMapSkusProd.Text);
|
||||
if (mapSkuProd == null)
|
||||
return;
|
||||
|
||||
var mapSku = mapSkuProd.pdd_front_goods3_Lite.skus.FirstOrDefault(s => string.Join(";", s.specs.Select(sp => sp.spec_value)) == cmbMapSkus.Text);
|
||||
if (mapSku == null)
|
||||
return;
|
||||
|
||||
this.pictureBox2.Image = ImageBuild.LoadBitmapLoadBitmipImageFromUrl(mapSku.thumbUrl);
|
||||
this.pictureBox2.Tag = mapSku.thumbUrl;
|
||||
}
|
||||
}
|
||||
|
||||
private void pictureBox2_Click(object sender, EventArgs e)
|
||||
{
|
||||
ShowImgForm imgFrom = new ShowImgForm(pictureBox2.Tag.ParseToString());
|
||||
imgFrom.Show();
|
||||
}
|
||||
|
||||
private void btnAddToMap_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.IsFormLoad)
|
||||
{
|
||||
var mapSkuProd = orderItem.BuyMapSkus.FirstOrDefault(s => s.map_goods_name + s.map_goods_id == cmbMapSkusProd.Text);
|
||||
if (mapSkuProd == null)
|
||||
return;
|
||||
|
||||
var mapSku = mapSkuProd.pdd_front_goods3_Lite.skus.FirstOrDefault(s => string.Join(";", s.specs.Select(sp => sp.spec_value)) == cmbMapSkus.Text);
|
||||
if (mapSku == null)
|
||||
return;
|
||||
|
||||
this.txtMapGoodsName.Text = mapSkuProd.map_goods_name;
|
||||
this.txtMapSkuName.Text = string.Join(",", mapSku.specs.Select(sp => sp.spec_value));
|
||||
this.txtMapGoodsId.Text = mapSkuProd.map_goods_id;
|
||||
this.txtMapSkuId.Text = mapSku.skuId.ParseToString();
|
||||
txtSendProvince.Text = mapSkuProd.map_send_address;
|
||||
|
||||
this.transitWarehouse = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == mapSkuProd.transit_warehouse_id);
|
||||
if (transitWarehouse != null)
|
||||
{
|
||||
cmbTransitWarehouse.Text = transitWarehouse?.TransName + " " + transitWarehouse?.TransDetailAddress;
|
||||
txtBuyTransitWarehouse.Text = transitWarehouse?.TransDetailAddress;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user