diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index 9b7a8ec..000cd52 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -27,7 +27,7 @@ namespace AllBase
///
/// 版本ID
///
- public static int VersionCount = 868;
+ public static int VersionCount = 873;
//public static int VersionCount = 613;
///
diff --git a/AllBase/Model/Result/JSTListProductInfo.cs b/AllBase/Model/Result/JSTListProductInfo.cs
index 64fdb63..7c61393 100644
--- a/AllBase/Model/Result/JSTListProductInfo.cs
+++ b/AllBase/Model/Result/JSTListProductInfo.cs
@@ -92,8 +92,8 @@ namespace AllBase.Model.Result
public object afterSaleRateThirtyDay { get; set; } // null,
public string regulatePriceIntercept { get; set; } // "UN_INTERCEPT",
public bool? skuHaveRegulatePrice { get; set; } // false,
- public List
public string skc_id { get; set; }
+ ///
+ /// 聚水潭爆款专区真实商家coid,供应商直采商品该字段留空
+ ///
+ public string real_coid { get; set; }
+ public string real_spu_id { get; set; }
public string main_cat_id { get; set; }
public string cat_id { get; set; }
public string main_cat_name { get; set; }
diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs
index c24f555..cb1042a 100644
--- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs
+++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs
@@ -36,8 +36,10 @@ namespace KJD_Web.BLL.BXX
string offline_supplier_id = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_id")?.Replace("'", "\\'");
string offline_supplier_name = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_name")?.Replace("'", "\\'");
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id")?.Replace("'", "\\'");
- //厂商直采微信商品使用skcid存储coid数据
- string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'");
+ //厂商直采聚水潭商品使用skcid存储coid数据
+ string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'"); // skcId,聚水潭商品为coid
+ string real_coid = RegexUtils.GetStringQuery(ref inputData, "real_coid")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家coid,供应商直采商品该字段留空
+ string real_spu_id = RegexUtils.GetStringQuery(ref inputData, "real_spu_id")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家spuid,供应商直采商品该字段留空
string price_text = RegexUtils.GetStringQuery(ref inputData, "price_text")?.Replace("'", "\\'");
string main_cat_id = RegexUtils.GetStringQuery(ref inputData, "main_cat_id")?.Replace("'", "\\'");
string main_cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_cat_name"))?.Replace("'", "\\'");
@@ -72,12 +74,12 @@ namespace KJD_Web.BLL.BXX
string sql = "";
sql = "insert into ";
sql += "bxx.product ";
- sql += "(from_shop_id,from_shop_name,offline_supplier_id,offline_supplier_name,spu_id,skc_id,main_cat_id,main_cat_name,cat_id,cat_name,price_text," +
- "product_name,ext_code,main_img,product_json,size_json,notes,product_get_type,sale_count,sale_count_text,special_prod_type,distribution_set," +
- "add_time,mdy_time) " +
+ sql += "(from_shop_id,from_shop_name,offline_supplier_id,offline_supplier_name,spu_id,skc_id,real_coid,real_spu_id,main_cat_id,main_cat_name,cat_id," +
+ "cat_name,price_text,product_name,ext_code,main_img,product_json,size_json,notes,product_get_type,sale_count,sale_count_text,special_prod_type," +
+ "distribution_set,add_time,mdy_time) " +
"values ('" + from_shop_id + "','" + from_shop_name + "','" + offline_supplier_id + "','" + offline_supplier_name + "','" + spu_id + "','" +
- skc_id + "','" + main_cat_id + "','" + main_cat_name + "','" + cat_id + "','" + cat_name + "','" + price_text + "','" + product_name + "','" +
- ext_code + "','" + main_img + "',@product_json,@size_json,'" + notes + "','" + product_get_type + "','" +
+ skc_id + "','" + real_coid + "','" + real_spu_id + "','" + main_cat_id + "','" + main_cat_name + "','" + cat_id + "','" + cat_name + "','" +
+ price_text + "','" + product_name + "','" + ext_code + "','" + main_img + "',@product_json,@size_json,'" + notes + "','" + product_get_type + "','" +
sale_count + "','" + sale_count_text + "','" + special_prod_type + "'," + distribution_set.ParseToInt() + ",'" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
@@ -115,7 +117,9 @@ namespace KJD_Web.BLL.BXX
string offline_supplier_id = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_id")?.Replace("'", "\\'");
string offline_supplier_name = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_name")?.Replace("'", "\\'");
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id")?.Replace("'", "\\'");
- string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'");
+ string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'"); // skcId,聚水潭商品为coid
+ string real_coid = RegexUtils.GetStringQuery(ref inputData, "real_coid")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家coid,供应商直采商品该字段留空
+ string real_spu_id = RegexUtils.GetStringQuery(ref inputData, "real_spu_id")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家spuid,供应商直采商品该字段留空
string secret_spu_id = RegexUtils.GetStringQuery(ref inputData, "secret_spu_id")?.Replace("'", "\\'");
string price_text = RegexUtils.GetStringQuery(ref inputData, "price_text")?.Replace("'", "\\'");
string main_cat_id = RegexUtils.GetStringQuery(ref inputData, "main_cat_id")?.Replace("'", "\\'");
@@ -458,7 +462,7 @@ namespace KJD_Web.BLL.BXX
sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name," +
" p.main_img,p.notes,p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group," +
" p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," +
- " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id," +
+ " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id," +
" s.img_url,e.ext_code_price" +
" FROM bxx.product p " +
" left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
@@ -468,7 +472,7 @@ namespace KJD_Web.BLL.BXX
sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,p.ext_code,p.product_name," +
" p.main_img,p.notes,p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,p.sku_img_replace_id,p.group," +
" p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," +
- " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id," +
+ " p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id," +
" s.img_url,COUNT(se.id) AS select_count,e.ext_code_price" +
" FROM bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " +
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
@@ -536,6 +540,8 @@ namespace KJD_Web.BLL.BXX
main_cat_name = row["main_cat_name"].ToString(),
send_to_out_server = row["send_to_out_server"].ParseToInt(),
secret_spu_id = row["secret_spu_id"].IsNullOrEmpty() ? null : row["secret_spu_id"].ParseToString(),
+ real_coid = row["real_coid"].IsNullOrEmpty() ? null : row["real_coid"].ParseToString(),
+ real_spu_id = row["real_spu_id"].IsNullOrEmpty() ? null : row["real_spu_id"].ParseToString(),
};
if (isDetail)
{
@@ -681,14 +687,20 @@ namespace KJD_Web.BLL.BXX
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
var search_spu_ids = RegexUtils.GetStringQuery(ref inputData, "search_spu_ids")?.Replace("'", "\\'");
var search_sku_codes = RegexUtils.GetStringQuery(ref inputData, "search_sku_codes")?.Replace("'", "\\'");
+ var search_secret_spu_ids = RegexUtils.GetStringQuery(ref inputData, "search_secret_spu_ids")?.Replace("'", "\\'");
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
- int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(500);
+ int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(1000);
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
- string sql = "select id,spuId,itemName,styleCode,itemCode,colourSpec,supplierCoId,supplierName,is_in_product_db,add_time from bxx.product_jst_update p where 1=1";
+ string sql = "select id,spuId,itemName,styleCode,itemCode,colourSpec,supplierCoId,supplierName,is_in_product_db,secret_spu_id,secret_sku_id,add_time" +
+ " from bxx.product_jst_update p where 1=1";
+ if (search_secret_spu_ids != null)
+ {
+ sql += " and p.secret_spu_id in ('" + string.Join("','", search_secret_spu_ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
+ }
if (search_spu_ids != null)
{
sql += " and p.spuId in ('" + string.Join("','", search_spu_ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
@@ -697,6 +709,7 @@ namespace KJD_Web.BLL.BXX
{
sql += " and p.itemCode in ('" + string.Join("','", search_sku_codes.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
}
+ sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
var dt = mySql.ExecuteDataTable(sql);
mySql.Close();
@@ -719,6 +732,8 @@ namespace KJD_Web.BLL.BXX
supplierName = row["supplierName"].ToString(),
add_time = Convert.ToDateTime(row["add_time"]),
is_in_product_db = row["is_in_product_db"].ParseToInt(),
+ secret_spu_id = row["secret_spu_id"].ParseToString(),
+ secret_sku_id = row["secret_sku_id"].ParseToString(),
};
productLst.Add(prod);
}
@@ -973,6 +988,7 @@ namespace KJD_Web.BLL.BXX
var is_supplier_prod_ok = RegexUtils.GetStringQuery(ref inputData, "is_supplier_prod_ok")?.Replace("'", "\\'");
var is_not_count = (RegexUtils.GetStringQuery(ref inputData, "is_not_count")?.Replace("'", "\\'")).ParseToBool();
var prod_count = (RegexUtils.GetStringQuery(ref inputData, "prod_count")?.Replace("'", "\\'")).ParseToInt();
+ var add_days_less = RegexUtils.GetStringQuery(ref inputData, "add_days_less")?.Replace("'", "\\'").ParseToNullableInt();
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
@@ -1038,6 +1054,10 @@ namespace KJD_Web.BLL.BXX
else
where += " and (wx_cat_leaf IS NULL or send_to_out_server!=1 or distribution_set=0)";
}
+ if (!add_days_less.IsNullOrZero())
+ {
+ where += " and add_time > '" + DateTime.Now.AddDays(-add_days_less.ParseToInt()).ToString("yyyy-MM-dd") + "'";
+ }
sql += where;
int count = prod_count;
diff --git a/KJDService/KJD_WebService/Model/DBProductResultParam.cs b/KJDService/KJD_WebService/Model/DBProductResultParam.cs
index ff33342..1b85243 100644
--- a/KJDService/KJD_WebService/Model/DBProductResultParam.cs
+++ b/KJDService/KJD_WebService/Model/DBProductResultParam.cs
@@ -98,5 +98,7 @@ namespace KJD_Web.Model
public string wx_safe_status { get; set; }
public string special_prod_type { get; set; }
public int send_to_out_server { get; set; }
+ public string real_coid { get; set; }
+ public string real_spu_id { get; set; }
}
}
\ No newline at end of file
diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj
index f9caf73..f76f0d6 100644
--- a/TEMUKJD/KJD.csproj
+++ b/TEMUKJD/KJD.csproj
@@ -143,6 +143,12 @@
PDDGetChanceProdByImgForm.cs
+
+ Form
+
+
+ GetJuShuitanAuthForm.cs
+
Form
@@ -185,6 +191,12 @@
WXDBProdUploadCacheForm.cs
+
+ Form
+
+
+ WXProdSyncForm.cs
+
Form
@@ -1069,6 +1081,9 @@
PDDGetChanceProdByImgForm.cs
+
+ GetJuShuitanAuthForm.cs
+
GetJuShuitanProdForm.cs
@@ -1090,6 +1105,9 @@
WXDBProdUploadCacheForm.cs
+
+ WXProdSyncForm.cs
+
WXProdCouponOrderBoomForm.cs
diff --git a/TEMUKJD/ToolForms/GetJuShuitanAuthForm.Designer.cs b/TEMUKJD/ToolForms/GetJuShuitanAuthForm.Designer.cs
new file mode 100644
index 0000000..afcff4f
--- /dev/null
+++ b/TEMUKJD/ToolForms/GetJuShuitanAuthForm.Designer.cs
@@ -0,0 +1,79 @@
+
+namespace TemuKJD.ToolForms
+{
+ partial class GetJuShuitanAuthForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(GetJuShuitanAuthForm));
+ this.panel2 = new System.Windows.Forms.Panel();
+ this.textBox1 = new System.Windows.Forms.TextBox();
+ this.panel2.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // panel2
+ //
+ this.panel2.BackColor = System.Drawing.Color.White;
+ this.panel2.Controls.Add(this.textBox1);
+ this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.panel2.Location = new System.Drawing.Point(1, 33);
+ this.panel2.Name = "panel2";
+ this.panel2.Size = new System.Drawing.Size(330, 188);
+ this.panel2.TabIndex = 1;
+ //
+ // textBox1
+ //
+ this.textBox1.Font = new System.Drawing.Font("微软雅黑", 13F);
+ this.textBox1.Location = new System.Drawing.Point(114, 72);
+ this.textBox1.Name = "textBox1";
+ this.textBox1.Size = new System.Drawing.Size(100, 30);
+ this.textBox1.TabIndex = 0;
+ this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
+ //
+ // GetJuShuitanAuthForm
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.ClientSize = new System.Drawing.Size(332, 222);
+ this.Controls.Add(this.panel2);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.Name = "GetJuShuitanAuthForm";
+ this.Text = "请输入验证码";
+ this.TitleText = "请输入验证码";
+ this.Controls.SetChildIndex(this.panel2, 0);
+ this.panel2.ResumeLayout(false);
+ this.panel2.PerformLayout();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Panel panel2;
+ public System.Windows.Forms.TextBox textBox1;
+ }
+}
\ No newline at end of file
diff --git a/TEMUKJD/ToolForms/GetJuShuitanAuthForm.cs b/TEMUKJD/ToolForms/GetJuShuitanAuthForm.cs
new file mode 100644
index 0000000..3082e1d
--- /dev/null
+++ b/TEMUKJD/ToolForms/GetJuShuitanAuthForm.cs
@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace TemuKJD.ToolForms
+{
+ public partial class GetJuShuitanAuthForm : BaseForms.BaseGeneralForm
+ {
+ public bool isAuth = false;
+ public string authStr = "";
+ public GetJuShuitanAuthForm()
+ {
+ InitializeComponent();
+ }
+
+ private void textBox1_TextChanged(object sender, EventArgs e)
+ {
+ authStr = textBox1.Text;
+ if (textBox1.Text.Trim().Length >= 4)
+ this.Close();
+ }
+ }
+}
diff --git a/TEMUKJD/ToolForms/GetJuShuitanAuthForm.resx b/TEMUKJD/ToolForms/GetJuShuitanAuthForm.resx
new file mode 100644
index 0000000..2bdeb30
--- /dev/null
+++ b/TEMUKJD/ToolForms/GetJuShuitanAuthForm.resx
@@ -0,0 +1,298 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
+ AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
+ AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
+ OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
+ AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
+ ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
+ //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
+ mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
+ mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
+ mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
+ mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
+ mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
+ mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
+ mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
+ //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
+ mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
+ //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
+ //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
+ //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
+ if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
+ mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
+ MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
+ iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
+ mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
+ kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
+ /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
+ mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
+ mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
+ mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
+ mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
+ //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
+ mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
+ mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
+ mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
+ mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
+ ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
+ //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
+ mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
+ mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
+ mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
+ mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
+ ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
+ ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
+ //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
+ /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
+ mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
+ mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
+ mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
+ eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
+ ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
+ mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
+ /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
+ ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
+ mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
+ mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
+ mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
+ mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
+ mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
+ AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
+ AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
+ mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
+ MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
+ AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
+ AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
+ Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
+ AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
+ AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
+ AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
+ AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
+ AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
+ AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
+ AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
+ AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
+ AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
+ AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
+ AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
+ AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
+ AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
+ AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
+ AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
+ wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
+
+
+
\ No newline at end of file
diff --git a/TEMUKJD/ToolForms/GetJuShuitanProdForm.Designer.cs b/TEMUKJD/ToolForms/GetJuShuitanProdForm.Designer.cs
index 176cf36..ab238a4 100644
--- a/TEMUKJD/ToolForms/GetJuShuitanProdForm.Designer.cs
+++ b/TEMUKJD/ToolForms/GetJuShuitanProdForm.Designer.cs
@@ -40,6 +40,7 @@ namespace TemuKJD.ToolForms
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.btnNext = new System.Windows.Forms.Button();
this.btnPrev = new System.Windows.Forms.Button();
@@ -47,6 +48,8 @@ namespace TemuKJD.ToolForms
this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvProduct = new TemuKJD.UserComponent.DataGridViewEx();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colCoId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colImg = new System.Windows.Forms.DataGridViewImageColumn();
@@ -95,6 +98,7 @@ namespace TemuKJD.ToolForms
this.cmbMultiCookieName = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.btnMultiLogin = new DevComponents.DotNetBar.PanelEx();
this.btnDel = new DevComponents.DotNetBar.PanelEx();
+ this.btnGetHotGood = new DevComponents.DotNetBar.PanelEx();
this.btnCancelSelect = new DevComponents.DotNetBar.PanelEx();
this.txtTitle = new System.Windows.Forms.TextBox();
this.btnSearchTitle = new DevComponents.DotNetBar.PanelEx();
@@ -111,7 +115,7 @@ namespace TemuKJD.ToolForms
this.txtPageEnd = new System.Windows.Forms.TextBox();
this.txtPageStart = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
- this.btnCollect = new DevComponents.DotNetBar.PanelEx();
+ this.btnCollectSupplier = new DevComponents.DotNetBar.PanelEx();
this.line1 = new DevComponents.DotNetBar.Controls.Line();
this.txtSupplierName = new System.Windows.Forms.TextBox();
this.txtFilterSaleCount = new System.Windows.Forms.TextBox();
@@ -156,7 +160,7 @@ namespace TemuKJD.ToolForms
this.splitContainer2.Panel1.Controls.Add(this.btnNext);
this.splitContainer2.Panel1.Controls.Add(this.btnPrev);
this.splitContainer2.Panel1.Controls.Add(this.txtAddress);
- this.splitContainer2.Size = new System.Drawing.Size(1390, 442);
+ this.splitContainer2.Size = new System.Drawing.Size(1390, 432);
this.splitContainer2.SplitterDistance = 26;
this.splitContainer2.TabIndex = 6;
//
@@ -195,7 +199,7 @@ namespace TemuKJD.ToolForms
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
- this.pbLoading.Location = new System.Drawing.Point(673, 197);
+ this.pbLoading.Location = new System.Drawing.Point(673, 193);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -224,6 +228,8 @@ namespace TemuKJD.ToolForms
this.dgvProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
+ this.colCoId,
+ this.colSupplierName,
this.colProductId,
this.colImgUrl,
this.colImg,
@@ -239,7 +245,7 @@ namespace TemuKJD.ToolForms
this.dgvProduct.Name = "dgvProduct";
this.dgvProduct.ReadOnly = true;
this.dgvProduct.RowTemplate.Height = 23;
- this.dgvProduct.Size = new System.Drawing.Size(1390, 441);
+ this.dgvProduct.Size = new System.Drawing.Size(1390, 432);
this.dgvProduct.TabIndex = 7;
this.dgvProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvProduct_CellContentClick);
//
@@ -252,6 +258,20 @@ namespace TemuKJD.ToolForms
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
+ // colCoId
+ //
+ this.colCoId.FillWeight = 50F;
+ this.colCoId.HeaderText = "供应商Id";
+ this.colCoId.Name = "colCoId";
+ this.colCoId.ReadOnly = true;
+ //
+ // colSupplierName
+ //
+ this.colSupplierName.FillWeight = 90F;
+ this.colSupplierName.HeaderText = "供应商名称";
+ this.colSupplierName.Name = "colSupplierName";
+ this.colSupplierName.ReadOnly = true;
+ //
// colProductId
//
this.colProductId.FillWeight = 50F;
@@ -281,35 +301,37 @@ namespace TemuKJD.ToolForms
//
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colGoodsName.DefaultCellStyle = dataGridViewCellStyle3;
- this.colGoodsName.FillWeight = 120F;
this.colGoodsName.HeaderText = "商品名称";
this.colGoodsName.Name = "colGoodsName";
this.colGoodsName.ReadOnly = true;
//
// colHotValue
//
- this.colHotValue.FillWeight = 60F;
+ this.colHotValue.FillWeight = 50F;
this.colHotValue.HeaderText = "7日销量";
this.colHotValue.Name = "colHotValue";
this.colHotValue.ReadOnly = true;
//
// colSales30
//
- this.colSales30.FillWeight = 60F;
+ this.colSales30.FillWeight = 50F;
this.colSales30.HeaderText = "30日销量";
this.colSales30.Name = "colSales30";
this.colSales30.ReadOnly = true;
//
// colCate
//
+ dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colCate.DefaultCellStyle = dataGridViewCellStyle4;
+ this.colCate.FillWeight = 80F;
this.colCate.HeaderText = "类目";
this.colCate.Name = "colCate";
this.colCate.ReadOnly = true;
//
// colPrice
//
- dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colPrice.DefaultCellStyle = dataGridViewCellStyle4;
+ dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colPrice.DefaultCellStyle = dataGridViewCellStyle5;
this.colPrice.FillWeight = 70F;
this.colPrice.HeaderText = "价格";
this.colPrice.Name = "colPrice";
@@ -324,9 +346,9 @@ namespace TemuKJD.ToolForms
//
// colMsg
//
- dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colMsg.DefaultCellStyle = dataGridViewCellStyle5;
- this.colMsg.FillWeight = 200F;
+ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colMsg.DefaultCellStyle = dataGridViewCellStyle6;
+ this.colMsg.FillWeight = 190F;
this.colMsg.HeaderText = "操作结果";
this.colMsg.Name = "colMsg";
this.colMsg.ReadOnly = true;
@@ -349,6 +371,7 @@ namespace TemuKJD.ToolForms
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White;
+ this.splitContainer1.Panel2.Controls.Add(this.btnGetHotGood);
this.splitContainer1.Panel2.Controls.Add(this.btnCancelSelect);
this.splitContainer1.Panel2.Controls.Add(this.txtTitle);
this.splitContainer1.Panel2.Controls.Add(this.btnSearchTitle);
@@ -365,7 +388,7 @@ namespace TemuKJD.ToolForms
this.splitContainer1.Panel2.Controls.Add(this.txtPageEnd);
this.splitContainer1.Panel2.Controls.Add(this.txtPageStart);
this.splitContainer1.Panel2.Controls.Add(this.label3);
- this.splitContainer1.Panel2.Controls.Add(this.btnCollect);
+ this.splitContainer1.Panel2.Controls.Add(this.btnCollectSupplier);
this.splitContainer1.Panel2.Controls.Add(this.line1);
this.splitContainer1.Panel2.Controls.Add(this.txtSupplierName);
this.splitContainer1.Panel2.Controls.Add(this.txtFilterSaleCount);
@@ -375,7 +398,7 @@ namespace TemuKJD.ToolForms
this.splitContainer1.Panel2.Controls.Add(this.btnImportCookie);
this.splitContainer1.Panel2.Controls.Add(this.label2);
this.splitContainer1.Size = new System.Drawing.Size(1404, 561);
- this.splitContainer1.SplitterDistance = 478;
+ this.splitContainer1.SplitterDistance = 468;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 4;
//
@@ -391,7 +414,7 @@ namespace TemuKJD.ToolForms
this.ucTabControlMetro1.Name = "ucTabControlMetro1";
this.ucTabControlMetro1.SelectedIndex = 0;
this.ucTabControlMetro1.ShowCloseButton = false;
- this.ucTabControlMetro1.Size = new System.Drawing.Size(1404, 478);
+ this.ucTabControlMetro1.Size = new System.Drawing.Size(1404, 468);
this.ucTabControlMetro1.TabIndex = 462;
this.ucTabControlMetro1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucTabControlMetro1.TabSelectTextColor = System.Drawing.Color.Gray;
@@ -403,7 +426,7 @@ namespace TemuKJD.ToolForms
this.tabPage1.Location = new System.Drawing.Point(4, 26);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage1.Size = new System.Drawing.Size(1396, 448);
+ this.tabPage1.Size = new System.Drawing.Size(1396, 438);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "商品页面";
this.tabPage1.UseVisualStyleBackColor = true;
@@ -415,7 +438,7 @@ namespace TemuKJD.ToolForms
this.tabPage2.Location = new System.Drawing.Point(4, 26);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage2.Size = new System.Drawing.Size(1396, 447);
+ this.tabPage2.Size = new System.Drawing.Size(1396, 438);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "采集列表";
this.tabPage2.UseVisualStyleBackColor = true;
@@ -425,7 +448,7 @@ namespace TemuKJD.ToolForms
this.tabPage3.Controls.Add(this.splitContainer3);
this.tabPage3.Location = new System.Drawing.Point(4, 26);
this.tabPage3.Name = "tabPage3";
- this.tabPage3.Size = new System.Drawing.Size(1396, 448);
+ this.tabPage3.Size = new System.Drawing.Size(1396, 437);
this.tabPage3.TabIndex = 2;
this.tabPage3.Text = "下架SKU查询";
this.tabPage3.UseVisualStyleBackColor = true;
@@ -457,7 +480,7 @@ namespace TemuKJD.ToolForms
//
this.splitContainer3.Panel2.Controls.Add(this.pictureBox1);
this.splitContainer3.Panel2.Controls.Add(this.dgvDownSku);
- this.splitContainer3.Size = new System.Drawing.Size(1396, 448);
+ this.splitContainer3.Size = new System.Drawing.Size(1396, 437);
this.splitContainer3.SplitterDistance = 82;
this.splitContainer3.TabIndex = 0;
//
@@ -615,7 +638,7 @@ namespace TemuKJD.ToolForms
//
this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pictureBox1.Image = global::TemuKJD.Properties.Resources.loading_blue;
- this.pictureBox1.Location = new System.Drawing.Point(673, 156);
+ this.pictureBox1.Location = new System.Drawing.Point(673, 150);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(50, 50);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -627,20 +650,20 @@ namespace TemuKJD.ToolForms
//
this.dgvDownSku.AllowUserToAddRows = false;
this.dgvDownSku.AllowUserToDeleteRows = false;
- dataGridViewCellStyle6.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvDownSku.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
+ dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvDownSku.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
this.dgvDownSku.AutoRowNumber = true;
this.dgvDownSku.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvDownSku.BackgroundColor = System.Drawing.Color.White;
this.dgvDownSku.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.dgvDownSku.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
+ dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvDownSku.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
this.dgvDownSku.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvDownSku.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colDownSelect,
@@ -663,7 +686,7 @@ namespace TemuKJD.ToolForms
this.dgvDownSku.Name = "dgvDownSku";
this.dgvDownSku.ReadOnly = true;
this.dgvDownSku.RowTemplate.Height = 23;
- this.dgvDownSku.Size = new System.Drawing.Size(1396, 362);
+ this.dgvDownSku.Size = new System.Drawing.Size(1396, 351);
this.dgvDownSku.TabIndex = 8;
//
// colDownSelect
@@ -709,8 +732,8 @@ namespace TemuKJD.ToolForms
//
// colDownItemName
//
- dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colDownItemName.DefaultCellStyle = dataGridViewCellStyle8;
+ dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colDownItemName.DefaultCellStyle = dataGridViewCellStyle9;
this.colDownItemName.FillWeight = 120F;
this.colDownItemName.HeaderText = "商品名称";
this.colDownItemName.Name = "colDownItemName";
@@ -738,8 +761,8 @@ namespace TemuKJD.ToolForms
//
// colDownSupplyPrice
//
- dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colDownSupplyPrice.DefaultCellStyle = dataGridViewCellStyle9;
+ dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colDownSupplyPrice.DefaultCellStyle = dataGridViewCellStyle10;
this.colDownSupplyPrice.FillWeight = 70F;
this.colDownSupplyPrice.HeaderText = "供货价";
this.colDownSupplyPrice.Name = "colDownSupplyPrice";
@@ -775,8 +798,8 @@ namespace TemuKJD.ToolForms
//
// dataGridViewTextBoxColumn8
//
- dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle10;
+ dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle11;
this.dataGridViewTextBoxColumn8.FillWeight = 160F;
this.dataGridViewTextBoxColumn8.HeaderText = "操作结果";
this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
@@ -854,6 +877,31 @@ namespace TemuKJD.ToolForms
this.btnDel.TabIndex = 409;
this.btnDel.Text = "删";
//
+ // btnGetHotGood
+ //
+ this.btnGetHotGood.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnGetHotGood.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnGetHotGood.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnGetHotGood.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnGetHotGood.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnGetHotGood.Location = new System.Drawing.Point(1087, 58);
+ this.btnGetHotGood.Name = "btnGetHotGood";
+ this.btnGetHotGood.Size = new System.Drawing.Size(76, 23);
+ this.btnGetHotGood.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnGetHotGood.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnGetHotGood.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnGetHotGood.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnGetHotGood.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnGetHotGood.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnGetHotGood.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnGetHotGood.Style.GradientAngle = 90;
+ this.btnGetHotGood.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnGetHotGood.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnGetHotGood.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnGetHotGood.TabIndex = 798;
+ this.btnGetHotGood.Text = "采集爆款";
+ this.btnGetHotGood.Click += new System.EventHandler(this.btnCollectHot_Click);
+ //
// btnCancelSelect
//
this.btnCancelSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@@ -983,9 +1031,9 @@ namespace TemuKJD.ToolForms
this.btnStopStop.CanvasColor = System.Drawing.SystemColors.Control;
this.btnStopStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnStopStop.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnStopStop.Location = new System.Drawing.Point(1059, 58);
+ this.btnStopStop.Location = new System.Drawing.Point(1009, 58);
this.btnStopStop.Name = "btnStopStop";
- this.btnStopStop.Size = new System.Drawing.Size(83, 23);
+ this.btnStopStop.Size = new System.Drawing.Size(76, 23);
this.btnStopStop.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnStopStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnStopStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
@@ -1009,9 +1057,9 @@ namespace TemuKJD.ToolForms
this.btnSaveDb.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSaveDb.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSaveDb.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnSaveDb.Location = new System.Drawing.Point(1314, 58);
+ this.btnSaveDb.Location = new System.Drawing.Point(1321, 58);
this.btnSaveDb.Name = "btnSaveDb";
- this.btnSaveDb.Size = new System.Drawing.Size(83, 23);
+ this.btnSaveDb.Size = new System.Drawing.Size(76, 23);
this.btnSaveDb.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnSaveDb.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSaveDb.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
@@ -1034,9 +1082,9 @@ namespace TemuKJD.ToolForms
this.btnGetDetail.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnGetDetail.DisabledBackColor = System.Drawing.Color.Empty;
this.btnGetDetail.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnGetDetail.Location = new System.Drawing.Point(1229, 58);
+ this.btnGetDetail.Location = new System.Drawing.Point(1243, 58);
this.btnGetDetail.Name = "btnGetDetail";
- this.btnGetDetail.Size = new System.Drawing.Size(83, 23);
+ this.btnGetDetail.Size = new System.Drawing.Size(76, 23);
this.btnGetDetail.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnGetDetail.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnGetDetail.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
@@ -1057,10 +1105,10 @@ namespace TemuKJD.ToolForms
this.statusBar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.statusBar.Location = new System.Drawing.Point(317, 60);
+ this.statusBar.Location = new System.Drawing.Point(315, 60);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
- this.statusBar.Size = new System.Drawing.Size(739, 25);
+ this.statusBar.Size = new System.Drawing.Size(689, 25);
this.statusBar.TabIndex = 823;
//
// label4
@@ -1103,30 +1151,30 @@ namespace TemuKJD.ToolForms
this.label3.TabIndex = 807;
this.label3.Text = "起始页";
//
- // btnCollect
+ // btnCollectSupplier
//
- this.btnCollect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btnCollect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.btnCollect.Cursor = System.Windows.Forms.Cursors.Hand;
- this.btnCollect.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnCollect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnCollect.Location = new System.Drawing.Point(1144, 58);
- this.btnCollect.Name = "btnCollect";
- this.btnCollect.Size = new System.Drawing.Size(83, 23);
- this.btnCollect.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.btnCollect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnCollect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnCollect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
- this.btnCollect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
- this.btnCollect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
- this.btnCollect.Style.ForeColor.Color = System.Drawing.Color.White;
- this.btnCollect.Style.GradientAngle = 90;
- this.btnCollect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.btnCollect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnCollect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnCollect.TabIndex = 794;
- this.btnCollect.Text = "采集列表";
- this.btnCollect.Click += new System.EventHandler(this.btnCollect_Click);
+ this.btnCollectSupplier.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnCollectSupplier.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnCollectSupplier.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnCollectSupplier.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnCollectSupplier.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnCollectSupplier.Location = new System.Drawing.Point(1165, 58);
+ this.btnCollectSupplier.Name = "btnCollectSupplier";
+ this.btnCollectSupplier.Size = new System.Drawing.Size(76, 23);
+ this.btnCollectSupplier.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnCollectSupplier.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnCollectSupplier.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnCollectSupplier.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnCollectSupplier.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnCollectSupplier.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnCollectSupplier.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnCollectSupplier.Style.GradientAngle = 90;
+ this.btnCollectSupplier.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnCollectSupplier.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnCollectSupplier.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnCollectSupplier.TabIndex = 794;
+ this.btnCollectSupplier.Text = "采集供应商";
+ this.btnCollectSupplier.Click += new System.EventHandler(this.btnCollectSupplier_Click);
//
// line1
//
@@ -1308,7 +1356,7 @@ namespace TemuKJD.ToolForms
private System.Windows.Forms.TextBox txtFilterSaleCount;
private System.Windows.Forms.TextBox txtSupplierName;
private System.Windows.Forms.Label label2;
- private DevComponents.DotNetBar.PanelEx btnCollect;
+ private DevComponents.DotNetBar.PanelEx btnCollectSupplier;
private DevComponents.DotNetBar.Controls.Line line1;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtPageEnd;
@@ -1321,17 +1369,6 @@ namespace TemuKJD.ToolForms
private UserControls.StatusBarUserControl statusBar;
private DevComponents.DotNetBar.PanelEx btnStopStop;
private System.Windows.Forms.ComboBox cmbSaleCount;
- private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
- private System.Windows.Forms.DataGridViewTextBoxColumn colProductId;
- private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
- private System.Windows.Forms.DataGridViewImageColumn colImg;
- private System.Windows.Forms.DataGridViewTextBoxColumn colGoodsName;
- private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue;
- private System.Windows.Forms.DataGridViewTextBoxColumn colSales30;
- private System.Windows.Forms.DataGridViewTextBoxColumn colCate;
- private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
- private System.Windows.Forms.DataGridViewLinkColumn colDel;
- private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox cmbPlatformType;
private UserComponent.UcCheckBox chkOverride;
@@ -1372,5 +1409,19 @@ namespace TemuKJD.ToolForms
private DevComponents.DotNetBar.PanelEx btnResetCache;
private DevComponents.DotNetBar.PanelEx btnStopGetDownSku;
private System.Windows.Forms.PictureBox pictureBox1;
+ private DevComponents.DotNetBar.PanelEx btnGetHotGood;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colCoId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colProductId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
+ private System.Windows.Forms.DataGridViewImageColumn colImg;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colGoodsName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSales30;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colCate;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
+ private System.Windows.Forms.DataGridViewLinkColumn colDel;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs b/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs
index 9f8cc49..221153f 100644
--- a/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs
+++ b/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs
@@ -30,12 +30,14 @@ namespace TemuKJD.ToolForms
{
public partial class GetJuShuitanProdForm : BaseForms.BaseForm
{
+ Dictionary dicAfterSale = new Dictionary();
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public CancellationTokenSource CancelGetDown { get; set; } = null;
string InitUrl = "https://sc.scm121.com/suppliersManage/suppliersList/onlineSuppliers";
public ChromiumWebBrowser cefWebBrowser = null;
private string currentUrl = "";
- private string currentGetListData = "";
+ private string currentGetSupplierListParamData = "";
+ private string currentGetHotListParamData = "";
private string currentSupplierName = "";
private string appVersion = "";
private string currentSupplierId = "";
@@ -99,6 +101,8 @@ namespace TemuKJD.ToolForms
{
var rowId = this.dgvProduct.Rows.Add(
true,
+ prod.itemCoId,
+ prod.supplierName,
prod.id,
(prod.itemMainImage?.FirstOrDefault()).ParseToString().Replace("https://", "http://"),
DataGridViewExtension.defaultBitmap,
@@ -237,24 +241,43 @@ namespace TemuKJD.ToolForms
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
{
-
if (url.Contains("api/goods/buyer/supplier/goods/list"))
{
if (request.Headers.AllKeys.Contains("App-Version"))
appVersion = request.Headers["App-Version"];
- Task.Run(() => { GetCurrentSearchData(postData, responseData, request); });
+ Task.Run(() => { GetCurrentSupplierSearchData(postData, responseData, request); });
+ }
+ if (url.Contains("api/goods/freshman/mall/goods/list"))
+ {
+
+ if (request.Headers.AllKeys.Contains("App-Version"))
+ appVersion = request.Headers["App-Version"];
+ Task.Run(() => { GetCurrentHotSearchData(postData, responseData, request); });
}
}
- void GetCurrentSearchData(string postData, string responseData, IRequest request)
+ void GetCurrentSupplierSearchData(string postData, string responseData, IRequest request)
{
- currentGetListData = postData;
+ currentGetHotListParamData = "";
+ currentGetSupplierListParamData = postData;
currentSupplierId = BaseRegex.GetStringJson(ref postData, "supplierId");
currentSupplierName = BaseRegex.GetStringJson(ref responseData, "supplierName");
- Invoke(new Action(() => {
+ Invoke(new Action(() =>
+ {
txtSupplierName.Text = currentSupplierName;
}));
}
+ void GetCurrentHotSearchData(string postData, string responseData, IRequest request)
+ {
+ currentGetSupplierListParamData = "";
+ currentGetHotListParamData = postData;
+ currentSupplierId = "";
+ currentSupplierName = "";
+ Invoke(new Action(() =>
+ {
+ txtSupplierName.Text = "爆款专区";
+ }));
+ }
private bool RequestHandler_BeforeResourceLoad(object sender, string url, string postData, IRequest request)
{
@@ -376,9 +399,9 @@ namespace TemuKJD.ToolForms
}
}
- private void btnCollect_Click(object sender, EventArgs e)
+ private void btnCollectSupplier_Click(object sender, EventArgs e)
{
- if (string.IsNullOrEmpty(currentGetListData))
+ if (string.IsNullOrEmpty(currentGetSupplierListParamData))
{
BaseMsgForm.ShowError("请在网页上选择要搜索的供应商商品列表页面");
return;
@@ -400,7 +423,7 @@ namespace TemuKJD.ToolForms
{
try
{
- GetProdList();
+ GetSupplierList();
}
catch (Exception ex)
{
@@ -414,13 +437,13 @@ namespace TemuKJD.ToolForms
}, cancellationTokenSource.Token);
}
- void GetProdList()
+ void GetSupplierList()
{
List cookieList = CEFBrowser.GetCookieList(".scm121.com", cefWebBrowser.GetCookieManager(null));
var shop = new ShopLoginInfo();
shop.Cookies = JsonHelper.SerializeObject(cookieList);
- var Jobj = JsonHelper.JObjectParse(currentGetListData);
+ var Jobj = JsonHelper.JObjectParse(currentGetSupplierListParamData);
Jobj["pageSize"] = 70;
int page = pageStart;
while(page <= pageEnd)
@@ -429,7 +452,7 @@ namespace TemuKJD.ToolForms
break;
Jobj["pageNum"] = page;
- Jobj["mallSort"] = "SELL_SEVEN";
+ //Jobj["mallSort"] = "SELL_SEVEN"; // 采集近7日爆品 //CREATED 采集近30日新品
Jobj["platformType"] = platformType;
Invoke(new Action(() =>
{
@@ -461,7 +484,7 @@ namespace TemuKJD.ToolForms
jstProd.dbProduct.offline_supplier_id = jstProd.offlineSupplierId;
jstProd.dbProduct.offline_supplier_name = jstProd.offlineSupplierName;
jstProd.dbProduct.spu_id = jstProd.spuId;
- jstProd.dbProduct.skc_id = jstProd.coId;
+ jstProd.dbProduct.skc_id = jstProd.itemCoId;
//jstProd.dbProduct.price_text = jstProd.minSalesPrice.ParseToString();
//jstProd.dbProduct.main_cat_id = jstProd.categoryLv1Id.ParseToString();
//jstProd.dbProduct.main_cat_name = jstProd.mainCategoryName.ParseToString();
@@ -498,6 +521,8 @@ namespace TemuKJD.ToolForms
{
var id = dgvProduct.Rows.Add(
true,
+ prod.itemCoId,
+ prod.supplierName,
prod.id,
(prod.itemMainImage?.FirstOrDefault()).ParseToString().Replace("https://", "http://"),
DataGridViewExtension.defaultBitmap,
@@ -530,6 +555,200 @@ namespace TemuKJD.ToolForms
}));
}
+ private void btnCollectHot_Click(object sender, EventArgs e)
+ {
+ if (string.IsNullOrEmpty(currentGetHotListParamData))
+ {
+ BaseMsgForm.ShowError("请在网页上选择爆款列表页面");
+ return;
+ }
+ if (dgvProduct.Rows.Count > 0)
+ {
+ if (BaseMsgForm.ShowConfirm("当前列表已有采集数据,是否重新采集?").DialogResult == DialogResult.Cancel)
+ {
+ return;
+ }
+ }
+
+ this.pbLoading.Visible = true;
+ dgvProduct.Rows.Clear();
+ lstJSTListProductInfo.Clear();
+ //if (cancellationTokenSource == null || cancellationTokenSource.IsCancellationRequested)
+ cancellationTokenSource = new CancellationTokenSource();
+ Task.Run(() =>
+ {
+ try
+ {
+ GetHotList();
+ }
+ catch (Exception ex)
+ {
+ BaseMsgForm.ShowError(ex.Message);
+ }
+ Invoke(new Action(() =>
+ {
+ this.pbLoading.Visible = false;
+ //this.statusBar.lblTaskStatus.Text = "正在删除...";
+ }));
+ }, cancellationTokenSource.Token);
+ }
+
+ void GetHotList()
+ {
+ List cookieList = CEFBrowser.GetCookieList(".scm121.com", cefWebBrowser.GetCookieManager(null));
+ var shop = new ShopLoginInfo();
+ shop.Cookies = JsonHelper.SerializeObject(cookieList);
+
+ var Jobj = JsonHelper.JObjectParse(currentGetHotListParamData);
+ Jobj["pageSize"] = 70;
+ int page = pageStart;
+ while (page <= pageEnd)
+ {
+ if (cancellationTokenSource.IsCancellationRequested)
+ break;
+
+ Jobj["pageNum"] = page;
+ //Jobj["mallSort"] = "SELL_SEVEN";
+ Jobj["platformType"] = platformType;
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "正在采集第 " + page + " 页";
+ }));
+ Thread.Sleep(Randomx.GetId(1000, 2000));
+ page++;
+
+ var lstRst = GetHotLst(shop, Jobj);
+ if (!lstRst.Contains("\"success\":true"))
+ {
+ var errMsg = BaseRegex.GetStringJson(ref lstRst, "message");
+ if (string.IsNullOrEmpty(errMsg))
+ errMsg = lstRst;
+ BaseMsgForm.ShowError("查询错误:" + errMsg);
+ return;
+ }
+
+ List jstLst = new List();
+ try
+ {
+ foreach (var jItem in JsonHelper.JObjectParse(lstRst)["data"])
+ {
+ JSTListProductInfo jstProd = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(jItem));
+ jstProd.jstProductJson = JsonHelper.SerializeObject(jItem);
+ jstProd.dbProduct = new KJDDBProduct();
+ jstProd.dbProduct.from_shop_id = jstProd.supplierName; // jstProd.supplierId;
+ jstProd.dbProduct.from_shop_name = jstProd.supplierName;
+ jstProd.dbProduct.offline_supplier_id = jstProd.offlineSupplierId;
+ jstProd.dbProduct.offline_supplier_name = jstProd.offlineSupplierName;
+ jstProd.dbProduct.spu_id = jstProd.spuId;
+ jstProd.dbProduct.skc_id = jstProd.itemCoId;
+ //jstProd.dbProduct.price_text = jstProd.minSalesPrice.ParseToString();
+ //jstProd.dbProduct.main_cat_id = jstProd.categoryLv1Id.ParseToString();
+ //jstProd.dbProduct.main_cat_name = jstProd.mainCategoryName.ParseToString();
+ //jstProd.dbProduct.cat_id = jstProd.categoryLv3Id.ParseToString();
+ jstProd.dbProduct.cat_name = jstProd.categoryName.ParseToString();
+ jstProd.dbProduct.ext_code = jstProd.styleCode;
+ jstProd.dbProduct.product_name = jstProd.itemName;
+ jstProd.dbProduct.product_json = "";
+ jstProd.dbProduct.size_json = "{}";
+ jstProd.dbProduct.main_img = jstProd.itemMainImage?.FirstOrDefault();
+ jstProd.dbProduct.sale_count = jstProd.saleSeven;
+ jstProd.dbProduct.sale_count_text = string.IsNullOrEmpty(jstProd.saleSevenDesensitized) ? jstProd.saleSeven.ParseToString() : jstProd.saleSevenDesensitized;
+ jstProd.dbProduct.product_get_type_text = "厂商直采";
+ jstLst.Add(jstProd);
+ }
+ if (jstLst.Count <= 0)
+ break;
+ // 经销商销量小于设定值,则单品销量肯定小于设定值,退出
+ //jstLst = jstLst.Where(p => p.supplierSaleSeven >= filterSaleCount).ToList();
+ //if (jstLst.Count <= 0)
+ // break;
+ if (filterSaleCountDays == 7)
+ jstLst = jstLst.Where(p => p.saleSeven >= filterSaleCount).ToList();
+ else
+ jstLst = jstLst.Where(p => p.saleThirty >= filterSaleCount).ToList();
+ jstLst = jstLst.Where(p => !lstJSTListProductInfo.Any(p1 => p1.id == p.id)).ToList();
+ jstLst = jstLst.Where(p => !p.limitShelvesPlatformList.Contains("WXChannel")).ToList(); // 过滤微信禁售不发货商品
+
+ // 查询真实上家
+ var realCoidRst = BatchQueryRealCoid(shop, string.Join(",", jstLst.Select(j => j.itemSpuId)), "12840800");
+ Thread.Sleep(Randomx.GetId(200, 800));
+ if (!realCoidRst.Contains("\"success\":true"))
+ {
+ Thread.Sleep(Randomx.GetId(1000, 2000));
+ realCoidRst = BatchQueryRealCoid(shop, string.Join(",", jstLst.Select(j => j.itemSpuId)), "12840800");
+ }
+ if (!realCoidRst.Contains("\"success\":true"))
+ {
+ var errMsg = BaseRegex.GetStringJson(ref realCoidRst, "message");
+ if (string.IsNullOrEmpty(errMsg))
+ errMsg = realCoidRst;
+ BaseMsgForm.ShowError("查询产品源错误:" + errMsg);
+ return;
+ }
+ try
+ {
+ var realUpObjs = JsonHelper.JObjectParse(realCoidRst)["data"];
+ foreach (var realUpObj in realUpObjs)
+ {
+ var jst = jstLst.FirstOrDefault(j => j.itemSpuId == realUpObj["itemSpuId"].ParseToString());
+ if (jst != null)
+ {
+ jst.dbProduct.real_spu_id = realUpObj["highestSupplierSpuId"].ParseToString();
+ jst.dbProduct.real_coid = realUpObj["supplierHierarchyList"].FirstOrDefault(sj => sj["level"].ParseToInt() == 1)["supCoId"].ParseToString();
+ }
+ }
+ jstLst = jstLst.Where(j => !string.IsNullOrEmpty(j.dbProduct.real_coid) && !string.IsNullOrEmpty(j.dbProduct.real_spu_id)).ToList();
+ }
+ catch (Exception ex)
+ {
+ BaseMsgForm.ShowError("查询产品源错误:" + ex.Message);
+ return;
+ }
+
+ lstJSTListProductInfo.AddRange(jstLst);
+ //var t = Task.Run(() =>
+ //{
+ Invoke(new Action(() =>
+ {
+ foreach (var prod in jstLst)
+ {
+ var id = dgvProduct.Rows.Add(
+ true,
+ prod.itemCoId,
+ prod.supplierName,
+ prod.id,
+ (prod.itemMainImage?.FirstOrDefault()).ParseToString().Replace("https://", "http://"),
+ DataGridViewExtension.defaultBitmap,
+ prod.itemName,
+ prod.saleSeven,
+ prod.saleThirty,
+ prod.categoryName,
+ "预估:" + prod.minSalesPrice + " 采集详情后显示实际值",
+ "删除"
+ );
+ dgvProduct.Rows[id].Height = 60;
+
+ }
+ }));
+ //});
+ //t.Wait(5000);
+ }
+ catch (Exception ex)
+ {
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "发生错误 " + ex.Message;
+ }));
+ Thread.Sleep(2000);
+ }
+ }
+ Invoke(new Action(() =>
+ {
+ BaseMsgForm.ShowInfo("采集完成");
+ }));
+ }
+
+
private void txtFilterSaleCount_TextChanged(object sender, EventArgs e)
{
filterSaleCount = txtFilterSaleCount.Text.Trim().ParseToInt();
@@ -611,8 +830,10 @@ namespace TemuKJD.ToolForms
}
bool isExist = false;
- var existUrl = BaseClass.BuildPDDObjString("product/get_product_list");
- string existData = UserLogin.GetSignaturex() + "&search_spu=" + prod.spuId;
+ var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
+ string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId;
+ //if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
+ // existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId + "," + prod.dbProduct.real_spu_id;
string html = GetHtml.PostUtf8(existUrl, existData);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(existUrl, existData);
@@ -693,6 +914,10 @@ namespace TemuKJD.ToolForms
"&cat_id=" + prod.dbProduct.cat_id +
"&cat_name=" + HttpUtility.UrlEncode((prod.dbProduct.cat_name ?? prod.categoryName).ParseToString(), Encoding.UTF8);
}
+ if (!string.IsNullOrEmpty(prod.dbProduct.real_coid))
+ data += "&real_coid=" + prod.dbProduct.real_coid;
+ if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
+ data += "&real_spu_id=" + prod.dbProduct.real_spu_id;
//if (SetPartnerSpuRst.Contains("\"success\":true"))
//{
// data += "&distribution_set=1";
@@ -814,8 +1039,10 @@ namespace TemuKJD.ToolForms
continue;
bool isExist = false;
- var existUrl = BaseClass.BuildPDDObjString("product/get_product_list");
- string existData = UserLogin.GetSignaturex() + "&search_spu=" + prod.spuId;
+ var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
+ string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId;
+ //if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
+ // existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId + "," + prod.dbProduct.real_spu_id;
string html = GetHtml.PostUtf8(existUrl, existData);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(existUrl, existData);
@@ -841,6 +1068,142 @@ namespace TemuKJD.ToolForms
}
Thread.Sleep(Randomx.GetId(500, 1500));
+ // 爆款专区查询真实供应商coid和供应商退货地址
+ if (prod.itemCoId == "12840800" || prod.supplierName == "寻合作-爆款专区")
+ {
+ if (dicAfterSale.Keys.Contains(prod.dbProduct.skc_id + "->" + prod.dbProduct.real_coid))
+ {
+ }
+ else
+ {
+
+ var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
+ var dataAfterSale = Work.UserLogin.GetSignaturex() +
+ "&coid=" + prod.dbProduct.skc_id + "->" + prod.dbProduct.real_coid;
+ var htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
+ if (string.IsNullOrEmpty(htmlAfterSale) || !htmlAfterSale.Contains("\"code\":200"))
+ htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
+ if (string.IsNullOrEmpty(htmlAfterSale) || !htmlAfterSale.Contains("\"code\":200"))
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colMsg"].Value = "爆款售后地址比对失败,请下次重试,暂时跳过入库";
+ }));
+ continue;
+ }
+ if (htmlAfterSale.Contains("\"data\":\"\""))
+ {
+ var afterSaleRst = GetAfterSaleAddress(shop, prod.dbProduct.real_spu_id, prod.dbProduct.spu_id, prod.dbProduct.real_coid, prod.dbProduct.skc_id);
+ string address_id = BaseRegex.GetStringJson(ref afterSaleRst, "returnAddressId").ParseToString();
+ string middlemanAddressId = BaseRegex.GetStringJson(ref afterSaleRst, "middlemanAddressId").ParseToString();
+ if (address_id.IsNullOrEmpty() && middlemanAddressId.IsNullOrEmpty())
+ {
+ Thread.Sleep(5000);
+ Invoke(new Action(() =>
+ {
+ row.Cells["colMsg"].Value = "爆款售后地址获取失败,请下次重试,暂时跳过入库";
+ }));
+ continue;
+ }
+ retry:
+ var afterSaleMobileRst = "";
+ if (!address_id.IsNullOrEmpty())
+ afterSaleMobileRst = GetAfterSaleAddressMobile(shop, address_id,
+ prod.dbProduct.real_spu_id, prod.dbProduct.spu_id, prod.dbProduct.real_coid, prod.dbProduct.skc_id);
+ else
+ afterSaleMobileRst = GetAfterSaleAddressMobileById(shop, middlemanAddressId,
+ prod.dbProduct.real_spu_id, prod.dbProduct.spu_id, prod.dbProduct.real_coid, prod.dbProduct.skc_id);
+ Thread.Sleep(Randomx.GetId(1000, 5000));
+ //为了您的数据安全,复制手机号要求验证身份,已发送验证码到您手机:132*****859,请输入验证码后进行确认。
+ string tel_number = BaseRegex.GetStringJson(ref afterSaleMobileRst, "data");
+ if (tel_number.IsNullOrEmpty())
+ {
+ if (afterSaleMobileRst.Contains("为了您的数据安全,复制手机号要求验证身份,已发送验证码到您手机"))
+ {
+ GetJuShuitanAuthForm GetJuShuitanAuthForm = new GetJuShuitanAuthForm();
+ GetJuShuitanAuthForm.ShowDialog();
+ var authStr = GetJuShuitanAuthForm.authStr;
+ var authRst = AuthV2(shop, prod, authStr);
+
+ if (authRst.Contains("\"success\":true"))
+ goto retry;
+ else
+ {
+ if (BaseMsgForm.ShowConfirm("验证码校验失败,是否重试?").DialogResult == DialogResult.OK)
+ {
+ goto retry;
+ }
+ }
+ }
+
+ Thread.Sleep(5000);
+ Invoke(new Action(() =>
+ {
+ row.Cells["colMsg"].Value = "爆款售后电话获取失败,请下次重试,暂时跳过入库";
+ }));
+ continue;
+
+ }
+
+ //聚水潭退货地址:{"success":true,"total":null,"data":{"supplierReturnAddresses":[{"supplierHierarchyChain":"12840800->14009332","spuId":"C1DE5AF0118D4588B32849FA87610622","hasReturnAddress":true,"currentSupplierName":"寻合作-爆款专区","returnAddress":{"uniqueKey":"12840800-1c6cef6a151608d52f032f03fa59fec9","province":"山东省","city":"聊城市","district":"茌平区","address":"顺河北街与信发路交汇处路北山东名威电子商务","recipientName":"乌先生","street":"信发街道","mobile":"1658***1111","encryptedMobile":"aRwLwihnqaLoahYFJ2+uXw==","returnAddressId":4101,"coId":14009332,"middlemanAddress":false,"middlemanAddressId":null}}]},"message":null,"code":"0000","hasNext":false,"now":1772178142906,"extra":{}}
+ //e57获取的地址格式{"address_id":null,"user_name":"孙庆裕","postal_code":null,"province_name":"浙江省","city_name":"金华市","county_name":"义乌市","street_name":"城西街道","detail_info":"城西街道圣达街18号金哥集团2号岗 5号电梯 三楼退件区","tel_number":"13024622251","number":"10010274","name":"义乌芸茄商贸有限公司"}
+
+ string coid = BaseRegex.GetStringJson(ref afterSaleRst, "supplierHierarchyChain");
+ string user_name = BaseRegex.GetStringJson(ref afterSaleRst, "recipientName");
+ string province_name = BaseRegex.GetStringJson(ref afterSaleRst, "province");
+ string city_name = BaseRegex.GetStringJson(ref afterSaleRst, "city");
+ string county_name = BaseRegex.GetStringJson(ref afterSaleRst, "district");
+ string street_name = BaseRegex.GetStringJson(ref afterSaleRst, "street");
+ string detail_info = BaseRegex.GetStringJson(ref afterSaleRst, "address");
+ // 电话号码上面查过立即赋值
+ //string tel_number = BaseRegex.GetStringJson(ref afterSaleRst, "mobile");
+ string number = prod.dbProduct.real_coid;
+ string name = BaseRegex.GetStringJson(ref afterSaleRst, "currentSupplierName");
+
+ var addressObj = new JObject();
+ addressObj.Add("address_id", address_id.IsNullOrEmpty() ? middlemanAddressId : address_id);
+ addressObj.Add("user_name", user_name);
+ addressObj.Add("postal_code", null);
+ addressObj.Add("province_name", province_name);
+ addressObj.Add("city_name", city_name);
+ addressObj.Add("county_name", county_name);
+ addressObj.Add("street_name", street_name);
+ addressObj.Add("detail_info", detail_info);
+ addressObj.Add("tel_number", tel_number);
+ addressObj.Add("number", number);
+ addressObj.Add("name", name);
+
+ if ((address_id + middlemanAddressId).IsNullOrEmpty() || coid.IsNullOrEmpty() || user_name.IsNullOrEmpty() || province_name.IsNullOrEmpty() || city_name.IsNullOrEmpty() ||
+ county_name.IsNullOrEmpty() || street_name.IsNullOrEmpty() || detail_info.IsNullOrEmpty() || tel_number.IsNullOrEmpty() || number.IsNullOrEmpty() ||
+ name.IsNullOrEmpty())
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colMsg"].Value = "爆款售后地址获取失败,请下次重试,暂时跳过入库";
+ }));
+ continue;
+ }
+
+ var urlSaveAfterSale = BaseClass.BuildObjString("product/wx_add_mdy_after_sale");
+ var dataSaveAfterSale = Work.UserLogin.GetSignaturex() +
+ "&coid=" + coid +
+ "&after_sale_json=" + JsonHelper.SerializeObject(addressObj);
+ string htmlSaveAfterSale = GetHtml.PostUtf8(urlSaveAfterSale, dataSaveAfterSale);
+ if (string.IsNullOrEmpty(htmlSaveAfterSale) || !htmlSaveAfterSale.Contains("\"code\":200"))
+ htmlSaveAfterSale = GetHtml.PostUtf8(urlSaveAfterSale, dataSaveAfterSale);
+ if (string.IsNullOrEmpty(htmlSaveAfterSale) || !htmlSaveAfterSale.Contains("\"code\":200"))
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colMsg"].Value = "爆款售后地址保存失败,请下次重试,暂时跳过入库";
+ }));
+ continue;
+ }
+
+ dicAfterSale[coid] = JsonHelper.SerializeObject(addressObj);
+ }
+ }
+ }
//设置分销
var SetPartnerSpuRst = SetPartnerSpu(shop, prod);
@@ -1111,6 +1474,19 @@ namespace TemuKJD.ToolForms
return lstRst;
}
+ public string GetHotLst(ShopLoginInfo shop, JObject searchDataObj)
+ {
+ string url = "https://sc.ttdahuo.com/api/goods/freshman/mall/goods/list";
+ string referer = "https://sc.ttdahuo.com/findCooperation/newlywedZone";
+ var lstRst = JSTHttpResponseBLL.JSTPostResponse(shop, url, JsonHelper.SerializeObject(searchDataObj), referer, appVersion);
+ for (int i = 0; i < 3 && !lstRst.Contains("\"success\":true"); i++)
+ {
+ Thread.Sleep(Randomx.GetId(1000, 2000));
+ lstRst = JSTHttpResponseBLL.JSTPostResponse(shop, url, JsonHelper.SerializeObject(searchDataObj), referer, appVersion);
+ }
+ return lstRst;
+ }
+
public string GetPddBaseData(ShopLoginInfo shop, JSTListProductInfo jstLstProd)
{
string url = "https://sc.scm121.com/api/goods/goods/goGoodsPdd/queryBaseData?itemSpuId=" + jstLstProd.itemSpuId + "&shelvesType=DISTRIBUTION&originator=SUPPLIER&itemCoId=" + jstLstProd.itemCoId;
@@ -1169,6 +1545,53 @@ namespace TemuKJD.ToolForms
return response;
}
+ public string QueryRealCoid(ShopLoginInfo shop, JSTListProductInfo jstProd)
+ {
+ string url = "https://sc.scm121.com/api/goods/goodsQuery/queryGoodsDistributionHierarchyV2";
+ string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + jstProd.itemSpuId + "?itemCoId=" + jstProd.itemCoId +
+ "&lookingFor=findCooperation&noBack=true";
+ string data = "[{\"supplierCoId\":\"" + jstProd.itemCoId + "\",\"itemSpuIdList\":[\"" + jstProd.itemSpuId + "\"]}]";
+ var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
+ return response;
+ }
+
+ public string BatchQueryRealCoid(ShopLoginInfo shop, string spuIds, string coid0 = "12840800")
+ {
+ string url = "https://sc.scm121.com/api/goods/goodsQuery/queryGoodsDistributionHierarchyV2";
+ string referer = "https://sc.ttdahuo.com/findCooperation/newlywedZone";
+ string data = "[{\"supplierCoId\":\"" + coid0 + "\",\"itemSpuIdList\":[\"" + spuIds.Replace(",", "\",\"") + "\"]}]";
+ var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
+ return response;
+ }
+
+ public string GetAfterSaleAddress(ShopLoginInfo shop, string realSpuId, string spuId, string supCoId1, string supCoId0 = "12840800")
+ {
+ string url = "https://innerapi.scm121.com/api/aftersale/addresses/queryMultiLevelSupplierReturnAddressWithSwitch";
+ string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + spuId + "?itemCoId=" + supCoId0 + "&lookingFor=findCooperation&noBack=true";
+ string data = @"{""params"":[{""supplierHierarchyInfos"":[{""supCoId"":""" + supCoId0 + @""",""level"":0},{""supCoId"":""" + supCoId1 +
+ @""",""level"":1}],""spuId"":""" + realSpuId + @"""}]}";
+ var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
+ return response;
+ }
+
+ public string GetAfterSaleAddressMobile(ShopLoginInfo shop, string addressId, string realSpuId, string spuId, string realCoid, string supCoId = "12840800")
+ {
+ string url = "https://sc.scm121.com/api/company/phoneQuery/aftersale/supplier/getReturnPhone?returnAddressId=" + addressId + "&supplierCoId=" + realCoid;
+ string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + spuId + "?itemCoId=" + supCoId + "&lookingFor=findCooperation&noBack=true";
+
+ var response = JSTHttpResponseBLL.JSTGetResponse(shop, url, referer, appVersion);
+ return response;
+ }
+ public string GetAfterSaleAddressMobileById(ShopLoginInfo shop, string Id, string realSpuId, string spuId, string realCoid, string supCoId = "12840800")
+ {
+ string url = "https://innerapi.scm121.com/api/aftersale/middleman/addresses/queryPhone?id=" + Id;
+ string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + spuId + "?itemCoId=" + supCoId + "&lookingFor=findCooperation&noBack=true";
+ // "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/ ?itemCoId= &lookingFor=findCooperation&noBack=true
+
+ var response = JSTHttpResponseBLL.JSTGetResponse(shop, url, referer, appVersion);
+ return response;
+ }
+
public string SetPartnerSpu(ShopLoginInfo shop, JSTListProductInfo jstProd)
{
string url = "https://sc.scm121.com/api/goods/buyer/partnerSpu/add";
@@ -1179,6 +1602,18 @@ namespace TemuKJD.ToolForms
}
+
+ public string AuthV2(ShopLoginInfo shop, JSTListProductInfo jstProd, string authStr)
+ {
+ string url = "https://sc.scm121.com/api/company/open/auth/grantAuthV2";
+ string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + jstProd.spuId + "?itemCoId=" + jstProd.itemCoId +
+ "&lookingFor=findCooperation&noBack=true";
+ string data = @"{""code"":""" + authStr + @""",""sensitiveOperationErrorCode"":""50716""}";
+ var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
+ return response;
+ }
+
+
public string GetDownSkuLst(ShopLoginInfo shop, DateTime startTime, DateTime endTime, int pageNum, int pageSize)
{
string url = "https://sc.scm121.com/api/goods/goChannelPartnerSku/queryChannelPartnerSkuList";
@@ -1261,7 +1696,7 @@ namespace TemuKJD.ToolForms
if (jstDownSkuGetInfo.status != "done")
BaseMsgForm.ShowError("采集并同步产品中断!");
else
- BaseMsgForm.ShowError("采集并同步产品完成!");
+ BaseMsgForm.ShowInfo("采集并同步产品完成!");
pictureBox1.Visible = false;
}));
}, CancelGetDown.Token);
@@ -1355,9 +1790,9 @@ namespace TemuKJD.ToolForms
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
- var errMsg = BaseRegex.GetStringJson(ref rst, "message");
+ var errMsg = BaseRegex.GetStringJson(ref result, "msg");
if (string.IsNullOrEmpty(errMsg))
- errMsg = rst;
+ errMsg = result;
Invoke(new Action(() =>
{
this.statusBarUserControl1.lblTaskStatus.Text = "查询下架库错误:" + errMsg;
@@ -1527,7 +1962,7 @@ namespace TemuKJD.ToolForms
"&supplierName=" + downSku.supplierName +
"&shelvesTime=" + downSku.shelvesTime +
"&supplierCoId=" + downSku.supplierCoId +
- "&coId=" + downSku.coId +
+ "&coId=" + downSku.coId + // 此处coId数值与供应商商品列表的coId不同,注意区分
"&spuId=" + downSku.spuId +
"&partnerSkuId=" + downSku.partnerSkuId +
"&partnerSpuId=" + downSku.partnerSpuId +
diff --git a/TEMUKJD/ToolForms/GetJuShuitanProdForm.resx b/TEMUKJD/ToolForms/GetJuShuitanProdForm.resx
index 04baba3..575b8bc 100644
--- a/TEMUKJD/ToolForms/GetJuShuitanProdForm.resx
+++ b/TEMUKJD/ToolForms/GetJuShuitanProdForm.resx
@@ -120,6 +120,12 @@
True
+
+ True
+
+
+ True
+
True
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs
index fa00e47..687de09 100644
--- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs
@@ -114,6 +114,7 @@ namespace TemuKJD.WXForms.ProductForms
this.lblWaitToUp = new System.Windows.Forms.Label();
this.txtAddCount = new System.Windows.Forms.TextBox();
this.btnRandomAdd = new DevComponents.DotNetBar.PanelEx();
+ this.chkSevenDays = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx();
this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx();
@@ -152,11 +153,6 @@ namespace TemuKJD.WXForms.ProductForms
this.txtSinglePriceAdd = new System.Windows.Forms.TextBox();
this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
- this.splitContainer4 = new System.Windows.Forms.SplitContainer();
- this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
- this.btnClear = new DevComponents.DotNetBar.PanelEx();
- this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
- this.panel1 = new System.Windows.Forms.Panel();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -179,6 +175,11 @@ namespace TemuKJD.WXForms.ProductForms
this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn();
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.splitContainer4 = new System.Windows.Forms.SplitContainer();
+ this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
+ this.btnClear = new DevComponents.DotNetBar.PanelEx();
+ this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
+ this.panel1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -924,6 +925,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.Controls.Add(this.lblWaitToUp);
this.ucGroupBoxEx4.Controls.Add(this.txtAddCount);
this.ucGroupBoxEx4.Controls.Add(this.btnRandomAdd);
+ this.ucGroupBoxEx4.Controls.Add(this.chkSevenDays);
this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2);
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165);
@@ -1120,10 +1122,10 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnClearFilter.Location = new System.Drawing.Point(343, 101);
+ this.btnClearFilter.Location = new System.Drawing.Point(368, 101);
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearFilter.Name = "btnClearFilter";
- this.btnClearFilter.Size = new System.Drawing.Size(58, 25);
+ this.btnClearFilter.Size = new System.Drawing.Size(33, 25);
this.btnClearFilter.Style.Alignment = System.Drawing.StringAlignment.Center;
this.btnClearFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.btnClearFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
@@ -1137,7 +1139,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearFilter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnClearFilter.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.btnClearFilter.TabIndex = 559;
- this.btnClearFilter.Text = "清除筛选";
+ this.btnClearFilter.Text = "清除";
this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click);
//
// lblGoodsCount
@@ -1267,6 +1269,16 @@ namespace TemuKJD.WXForms.ProductForms
this.btnRandomAdd.Text = "随机添加";
this.btnRandomAdd.Click += new System.EventHandler(this.btnRandomAdd_Click);
//
+ // chkSevenDays
+ //
+ this.chkSevenDays.AutoSize = true;
+ this.chkSevenDays.Location = new System.Drawing.Point(282, 103);
+ this.chkSevenDays.Name = "chkSevenDays";
+ this.chkSevenDays.Size = new System.Drawing.Size(87, 21);
+ this.chkSevenDays.TabIndex = 805;
+ this.chkSevenDays.Text = "近七日爆款";
+ this.chkSevenDays.UseVisualStyleBackColor = true;
+ //
// ucGroupBoxEx1
//
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -1906,96 +1918,6 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvSelectProduct.TabIndex = 187;
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
//
- // splitContainer4
- //
- this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
- this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
- this.splitContainer4.Location = new System.Drawing.Point(0, 0);
- this.splitContainer4.Name = "splitContainer4";
- //
- // splitContainer4.Panel1
- //
- this.splitContainer4.Panel1.Controls.Add(this.statusBar);
- //
- // splitContainer4.Panel2
- //
- this.splitContainer4.Panel2.Controls.Add(this.btnClear);
- this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
- this.splitContainer4.Size = new System.Drawing.Size(1542, 26);
- this.splitContainer4.SplitterDistance = 851;
- this.splitContainer4.TabIndex = 3;
- //
- // statusBar
- //
- this.statusBar.BackColor = System.Drawing.Color.White;
- this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
- this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.statusBar.Location = new System.Drawing.Point(0, 0);
- this.statusBar.Margin = new System.Windows.Forms.Padding(0);
- this.statusBar.Name = "statusBar";
- this.statusBar.Size = new System.Drawing.Size(851, 26);
- this.statusBar.TabIndex = 2;
- //
- // btnClear
- //
- this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
- this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
- this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnClear.Location = new System.Drawing.Point(475, 2);
- this.btnClear.Name = "btnClear";
- this.btnClear.Size = new System.Drawing.Size(90, 21);
- this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
- this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
- this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
- this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
- this.btnClear.Style.GradientAngle = 90;
- this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
- this.btnClear.TabIndex = 440;
- this.btnClear.Text = "清空结果";
- this.btnClear.Visible = false;
- //
- // panelEx1
- //
- this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
- this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
- this.panelEx1.Location = new System.Drawing.Point(568, 2);
- this.panelEx1.Name = "panelEx1";
- this.panelEx1.Size = new System.Drawing.Size(115, 21);
- this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
- this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
- this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
- this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
- this.panelEx1.Style.GradientAngle = 90;
- this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
- this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
- this.panelEx1.TabIndex = 668;
- this.panelEx1.Text = "停止当前操作";
- this.panelEx1.Visible = false;
- //
- // panel1
- //
- this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.panel1.Location = new System.Drawing.Point(699, 552);
- this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(881, 86);
- this.panel1.TabIndex = 189;
- //
// colCheck
//
this.colCheck.Frozen = true;
@@ -2176,6 +2098,96 @@ namespace TemuKJD.WXForms.ProductForms
this.colOpResult.ReadOnly = true;
this.colOpResult.Width = 290;
//
+ // splitContainer4
+ //
+ this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer4.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer4.Name = "splitContainer4";
+ //
+ // splitContainer4.Panel1
+ //
+ this.splitContainer4.Panel1.Controls.Add(this.statusBar);
+ //
+ // splitContainer4.Panel2
+ //
+ this.splitContainer4.Panel2.Controls.Add(this.btnClear);
+ this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
+ this.splitContainer4.Size = new System.Drawing.Size(1542, 26);
+ this.splitContainer4.SplitterDistance = 851;
+ this.splitContainer4.TabIndex = 3;
+ //
+ // statusBar
+ //
+ this.statusBar.BackColor = System.Drawing.Color.White;
+ this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.statusBar.Location = new System.Drawing.Point(0, 0);
+ this.statusBar.Margin = new System.Windows.Forms.Padding(0);
+ this.statusBar.Name = "statusBar";
+ this.statusBar.Size = new System.Drawing.Size(851, 26);
+ this.statusBar.TabIndex = 2;
+ //
+ // btnClear
+ //
+ this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
+ this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnClear.Location = new System.Drawing.Point(475, 2);
+ this.btnClear.Name = "btnClear";
+ this.btnClear.Size = new System.Drawing.Size(90, 21);
+ this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnClear.Style.GradientAngle = 90;
+ this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnClear.TabIndex = 440;
+ this.btnClear.Text = "清空结果";
+ this.btnClear.Visible = false;
+ //
+ // panelEx1
+ //
+ this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
+ this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
+ this.panelEx1.Location = new System.Drawing.Point(568, 2);
+ this.panelEx1.Name = "panelEx1";
+ this.panelEx1.Size = new System.Drawing.Size(115, 21);
+ this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.panelEx1.Style.GradientAngle = 90;
+ this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.panelEx1.TabIndex = 668;
+ this.panelEx1.Text = "停止当前操作";
+ this.panelEx1.Visible = false;
+ //
+ // panel1
+ //
+ this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.panel1.Location = new System.Drawing.Point(699, 552);
+ this.panel1.Name = "panel1";
+ this.panel1.Size = new System.Drawing.Size(881, 86);
+ this.panel1.TabIndex = 189;
+ //
// WXDBProdUploadForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -2367,5 +2379,6 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
+ private UserComponent.UcCheckBox chkSevenDays;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
index 18904af..c6dd2ba 100644
--- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs
@@ -2022,8 +2022,11 @@ namespace TemuKJD.WXForms.ProductForms
{
var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
- var dataAfterSale = Work.UserLogin.GetSignaturex() +
- "&coid=" + dbProd.skc_id;
+ var dataAfterSale = Work.UserLogin.GetSignaturex();
+ if (!string.IsNullOrEmpty(dbProd.real_coid))
+ dataAfterSale += "&coid=" + dbProd.skc_id + "->" + dbProd.real_coid;
+ else
+ dataAfterSale += "&coid=" + dbProd.skc_id;
var htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
if (string.IsNullOrEmpty(htmlAfterSale) || !htmlAfterSale.Contains("\"code\":200"))
htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
@@ -2954,6 +2957,10 @@ namespace TemuKJD.WXForms.ProductForms
}
}
}
+ if (!prodInfo.detail.sku.Any(s => s.quantity.ParseToInt() > 0))
+ {
+ return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"源商品库存为0\"}";
+ }
foreach (var skuInfo in prodInfo.detail.sku)
{
productSkuParam skuParam = new productSkuParam();
@@ -3727,6 +3734,8 @@ namespace TemuKJD.WXForms.ProductForms
data += "&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验");
data += "&is_supplier_prod_ok=" + cmbJstInitSet.Text.Trim();
data += "&product_name=" + txtSearchGoodsName.Text.Trim();
+ if (chkSevenDays.Checked)
+ data += "&add_days_less=7";
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs
index ee7138f..b968f9e 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs
@@ -704,11 +704,30 @@ namespace TemuKJD.WXForms.ProductForms
{
row.Cells["colCouponNum"].Value = totalNum;
}));
- if (totalNum.ParseToInt() > 0)
+
+ var issuedNum = 0;
+ try
+ {
+ var jCoupons = JsonHelper.JObjectParse(searchCouponRst);
+ foreach(var coupon in jCoupons)
+ {
+ var couponStr = JsonHelper.SerializeObject(coupon);
+
+ //var receiveNum = BaseRegex.GetStringJson(ref couponStr, "receiveNum");
+ issuedNum = BaseRegex.GetStringJson(ref couponStr, "issuedNum").ParseToInt();
+ if (issuedNum > 0)
+ break;
+ }
+ }
+ catch
+ {
+ }
+
+ if (issuedNum.ParseToInt() > 0)
{
Invoke(new Action(() =>
{
- row.Cells["colOpResult"].Value = "商品已设置专属优惠券,跳过";
+ row.Cells["colOpResult"].Value = "商品还有未领取的专属优惠券,跳过";
}));
continue;
}
@@ -824,7 +843,7 @@ namespace TemuKJD.WXForms.ProductForms
Invoke(new Action(() => {
if (shopRow != null)
{
- shopRow.Cells["colMsg"].Value = error;
+ shopRow.Cells["colOpResult"].Value = error;
}
}));
break;
@@ -1062,109 +1081,6 @@ namespace TemuKJD.WXForms.ProductForms
PreType = cmbPreType.Text.Trim();
}
- private void btnDown_Click(object sender, EventArgs e)
- {
- var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
- if (rowLst.Count <= 0)
- {
- BaseMsgForm.ShowError("请勾选需要操作的商品!");
- return;
- }
-
- this.pbLoading.Visible = true;
- this.btnSetPreSale.Enabled = false;
- cancellationTokenSource = new CancellationTokenSource();
- Task.Run(() =>
- {
- SetProdDown(rowLst);
- Invoke(new Action(() =>
- {
- this.statusBar.lblTaskStatus.Text = "商品下架完毕";
- BaseMsgForm.ShowInfo("商品下架完毕");
- this.pbLoading.Visible = false;
- this.btnSetPreSale.Enabled = true;
- }));
- }, cancellationTokenSource.Token);
-
- }
-
- void SetProdDown(List rowLst)
- {
- Invoke(new Action(() =>
- {
- this.pbLoading.Visible = true;
- this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4);
- this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count;
- this.statusBar.UpdateProgressBar(0);
- }));
-
- foreach (var row in rowLst)
- {
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = "";
- }));
-
- if (cancellationTokenSource.IsCancellationRequested)
- break;
-
- var prodId = row.Cells["colDraftId"].Value.ParseToString();
- var shopId = row.Cells["colSupplierId"].Value.ParseToString();
- var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
- if (shop == null)
- {
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = "店铺不存在";
- }));
- continue;
- }
- if (shop.LoginStatus != "登录成功")
- {
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = "店铺掉线";
- }));
- continue;
- }
-
- var downProdRst = WXPreSale.DownProd(shop, prodId.ParseToLong());
- System.Threading.Thread.Sleep(Randomx.GetId(200, 500));
- if (!downProdRst.Contains("\"code\":0"))
- {
- if (downProdRst.Contains("biz magic invalid"))
- {
- WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
- if (shop.LoginStatus != "登录成功")
- {
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = "店铺掉线";
- }));
- continue;
- }
- }
-
- var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg");
- if (string.IsNullOrWhiteSpace(errmsg))
- errmsg = downProdRst;
-
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = errmsg;
- }));
- }
-
- if (downProdRst.Contains("\"code\":0"))
- {
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = "下架成功";
- }));
- }
- }
- }
-
private void btnFiltSelectMoreThan_Click(object sender, EventArgs e)
{
foreach(DataGridViewRow row in dgvSelectProduct.Rows)
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs
index 020818e..b2ad029 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.Designer.cs
@@ -32,15 +32,20 @@ namespace TemuKJD.WXForms.ProductForms
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.btnBatchDel = new DevComponents.DotNetBar.PanelEx();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtFiltSaleNum = new System.Windows.Forms.TextBox();
+ this.btnFiltSelect = new DevComponents.DotNetBar.PanelEx();
this.panelEx3 = new DevComponents.DotNetBar.PanelEx();
this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
this.btnDown = new DevComponents.DotNetBar.PanelEx();
@@ -54,19 +59,21 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearDgv = new DevComponents.DotNetBar.PanelEx();
this.btnSetPreSale = new DevComponents.DotNetBar.PanelEx();
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.cmbOnSaleStatus = new System.Windows.Forms.ComboBox();
this.cmbPreType = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
+ this.txtIdFilter = new System.Windows.Forms.TextBox();
+ this.lblIdFilter = new System.Windows.Forms.Label();
this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
this.txtPageEnd = new System.Windows.Forms.TextBox();
this.label2 = new System.Windows.Forms.Label();
this.txtProductName = new System.Windows.Forms.TextBox();
this.label11 = new System.Windows.Forms.Label();
this.btnClearFilter = new DevComponents.DotNetBar.PanelEx();
- this.txtIdFilter = new System.Windows.Forms.TextBox();
this.txtExtCodeFilter = new System.Windows.Forms.TextBox();
- this.lblIdFilter = new System.Windows.Forms.Label();
this.lblExtCodeFilter = new System.Windows.Forms.Label();
this.btnSearchProd = new DevComponents.DotNetBar.PanelEx();
+ this.label5 = new System.Windows.Forms.Label();
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx();
this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx();
@@ -104,6 +111,10 @@ namespace TemuKJD.WXForms.ProductForms
this.pbLoading = new System.Windows.Forms.PictureBox();
this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
+ this.splitContainer4 = new System.Windows.Forms.SplitContainer();
+ this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
+ this.btnClear = new DevComponents.DotNetBar.PanelEx();
+ this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -123,18 +134,12 @@ namespace TemuKJD.WXForms.ProductForms
this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colPreSale = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn();
this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn();
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.splitContainer4 = new System.Windows.Forms.SplitContainer();
- this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
- this.btnClear = new DevComponents.DotNetBar.PanelEx();
- this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
- this.txtFiltSaleNum = new System.Windows.Forms.TextBox();
- this.btnFiltSelect = new DevComponents.DotNetBar.PanelEx();
- this.label4 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -190,6 +195,7 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx3.Controls.Add(this.btnBatchDel);
this.ucGroupBoxEx3.Controls.Add(this.label4);
this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNum);
this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelect);
@@ -203,13 +209,82 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx3.TabStop = false;
this.ucGroupBoxEx3.Text = "商品下架";
//
+ // btnBatchDel
+ //
+ this.btnBatchDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnBatchDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnBatchDel.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnBatchDel.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnBatchDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnBatchDel.Location = new System.Drawing.Point(208, 61);
+ this.btnBatchDel.Name = "btnBatchDel";
+ this.btnBatchDel.Size = new System.Drawing.Size(84, 23);
+ this.btnBatchDel.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnBatchDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnBatchDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnBatchDel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnBatchDel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnBatchDel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnBatchDel.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnBatchDel.Style.GradientAngle = 90;
+ this.btnBatchDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnBatchDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnBatchDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnBatchDel.TabIndex = 817;
+ this.btnBatchDel.Text = "批量刪除";
+ this.btnBatchDel.Click += new System.EventHandler(this.btnBatchDel_Click);
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(96, 34);
+ this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(56, 17);
+ this.label4.TabIndex = 801;
+ this.label4.Text = "销量低于";
+ //
+ // txtFiltSaleNum
+ //
+ this.txtFiltSaleNum.Location = new System.Drawing.Point(152, 31);
+ this.txtFiltSaleNum.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
+ this.txtFiltSaleNum.Name = "txtFiltSaleNum";
+ this.txtFiltSaleNum.Size = new System.Drawing.Size(33, 23);
+ this.txtFiltSaleNum.TabIndex = 795;
+ this.txtFiltSaleNum.Text = "1";
+ //
+ // btnFiltSelect
+ //
+ this.btnFiltSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnFiltSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnFiltSelect.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnFiltSelect.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnFiltSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnFiltSelect.Location = new System.Drawing.Point(32, 31);
+ this.btnFiltSelect.Name = "btnFiltSelect";
+ this.btnFiltSelect.Size = new System.Drawing.Size(62, 23);
+ this.btnFiltSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFiltSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFiltSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFiltSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnFiltSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnFiltSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnFiltSelect.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnFiltSelect.Style.GradientAngle = 90;
+ this.btnFiltSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFiltSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFiltSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFiltSelect.TabIndex = 794;
+ this.btnFiltSelect.Text = "批量选择";
+ this.btnFiltSelect.Click += new System.EventHandler(this.btnFiltSelect_Click);
+ //
// panelEx3
//
this.panelEx3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.panelEx3.CanvasColor = System.Drawing.SystemColors.Control;
this.panelEx3.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.panelEx3.DisabledBackColor = System.Drawing.Color.Empty;
- this.panelEx3.Location = new System.Drawing.Point(208, 62);
+ this.panelEx3.Location = new System.Drawing.Point(208, 91);
this.panelEx3.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.panelEx3.Name = "panelEx3";
this.panelEx3.Size = new System.Drawing.Size(84, 23);
@@ -226,7 +301,7 @@ namespace TemuKJD.WXForms.ProductForms
this.panelEx3.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.panelEx3.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.panelEx3.TabIndex = 546;
- this.panelEx3.Text = "停止下架";
+ this.panelEx3.Text = "停止下/刪";
this.panelEx3.Click += new System.EventHandler(this.btnStop_Click);
//
// panelEx4
@@ -235,7 +310,7 @@ namespace TemuKJD.WXForms.ProductForms
this.panelEx4.CanvasColor = System.Drawing.SystemColors.Control;
this.panelEx4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.panelEx4.DisabledBackColor = System.Drawing.Color.Empty;
- this.panelEx4.Location = new System.Drawing.Point(208, 93);
+ this.panelEx4.Location = new System.Drawing.Point(208, 121);
this.panelEx4.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.panelEx4.Name = "panelEx4";
this.panelEx4.Size = new System.Drawing.Size(84, 23);
@@ -440,19 +515,21 @@ namespace TemuKJD.WXForms.ProductForms
| System.Windows.Forms.AnchorStyles.Left)));
this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx4.Controls.Add(this.cmbOnSaleStatus);
this.ucGroupBoxEx4.Controls.Add(this.cmbPreType);
this.ucGroupBoxEx4.Controls.Add(this.label3);
+ this.ucGroupBoxEx4.Controls.Add(this.txtIdFilter);
+ this.ucGroupBoxEx4.Controls.Add(this.lblIdFilter);
this.ucGroupBoxEx4.Controls.Add(this.panelEx2);
this.ucGroupBoxEx4.Controls.Add(this.txtPageEnd);
this.ucGroupBoxEx4.Controls.Add(this.label2);
this.ucGroupBoxEx4.Controls.Add(this.txtProductName);
this.ucGroupBoxEx4.Controls.Add(this.label11);
this.ucGroupBoxEx4.Controls.Add(this.btnClearFilter);
- this.ucGroupBoxEx4.Controls.Add(this.txtIdFilter);
this.ucGroupBoxEx4.Controls.Add(this.txtExtCodeFilter);
- this.ucGroupBoxEx4.Controls.Add(this.lblIdFilter);
this.ucGroupBoxEx4.Controls.Add(this.lblExtCodeFilter);
this.ucGroupBoxEx4.Controls.Add(this.btnSearchProd);
+ this.ucGroupBoxEx4.Controls.Add(this.label5);
this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2);
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165);
@@ -460,6 +537,21 @@ namespace TemuKJD.WXForms.ProductForms
this.ucGroupBoxEx4.TabStop = false;
this.ucGroupBoxEx4.Text = "商品查询";
//
+ // cmbOnSaleStatus
+ //
+ this.cmbOnSaleStatus.FormattingEnabled = true;
+ this.cmbOnSaleStatus.Items.AddRange(new object[] {
+ "全部",
+ "在售",
+ "下架"});
+ this.cmbOnSaleStatus.Location = new System.Drawing.Point(68, 59);
+ this.cmbOnSaleStatus.Name = "cmbOnSaleStatus";
+ this.cmbOnSaleStatus.Size = new System.Drawing.Size(134, 25);
+ this.cmbOnSaleStatus.TabIndex = 817;
+ this.cmbOnSaleStatus.Text = "在售";
+ this.cmbOnSaleStatus.SelectedIndexChanged += new System.EventHandler(this.cmbOnSaleStatus_SelectedIndexChanged);
+ this.cmbOnSaleStatus.TextChanged += new System.EventHandler(this.cmbOnSaleStatus_TextChanged);
+ //
// cmbPreType
//
this.cmbPreType.FormattingEnabled = true;
@@ -484,13 +576,34 @@ namespace TemuKJD.WXForms.ProductForms
this.label3.TabIndex = 806;
this.label3.Text = "预售状态";
//
+ // txtIdFilter
+ //
+ this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.txtIdFilter.Location = new System.Drawing.Point(262, 59);
+ this.txtIdFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
+ this.txtIdFilter.Name = "txtIdFilter";
+ this.txtIdFilter.Size = new System.Drawing.Size(134, 25);
+ this.txtIdFilter.TabIndex = 652;
+ this.txtIdFilter.Visible = false;
+ //
+ // lblIdFilter
+ //
+ this.lblIdFilter.AutoSize = true;
+ this.lblIdFilter.Location = new System.Drawing.Point(242, 63);
+ this.lblIdFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.lblIdFilter.Name = "lblIdFilter";
+ this.lblIdFilter.Size = new System.Drawing.Size(21, 17);
+ this.lblIdFilter.TabIndex = 651;
+ this.lblIdFilter.Text = "ID";
+ this.lblIdFilter.Visible = false;
+ //
// panelEx2
//
this.panelEx2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.panelEx2.CanvasColor = System.Drawing.SystemColors.Control;
this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty;
- this.panelEx2.Location = new System.Drawing.Point(338, 128);
+ this.panelEx2.Location = new System.Drawing.Point(338, 127);
this.panelEx2.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.panelEx2.Name = "panelEx2";
this.panelEx2.Size = new System.Drawing.Size(58, 25);
@@ -535,7 +648,7 @@ namespace TemuKJD.WXForms.ProductForms
// txtProductName
//
this.txtProductName.Font = new System.Drawing.Font("微软雅黑", 10F);
- this.txtProductName.Location = new System.Drawing.Point(68, 95);
+ this.txtProductName.Location = new System.Drawing.Point(68, 93);
this.txtProductName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtProductName.Name = "txtProductName";
this.txtProductName.Size = new System.Drawing.Size(328, 25);
@@ -559,7 +672,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnClearFilter.Location = new System.Drawing.Point(276, 128);
+ this.btnClearFilter.Location = new System.Drawing.Point(276, 127);
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearFilter.Name = "btnClearFilter";
this.btnClearFilter.Size = new System.Drawing.Size(58, 25);
@@ -579,41 +692,20 @@ namespace TemuKJD.WXForms.ProductForms
this.btnClearFilter.Text = "清空条件";
this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click);
//
- // txtIdFilter
- //
- this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
- this.txtIdFilter.Location = new System.Drawing.Point(68, 60);
- this.txtIdFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
- this.txtIdFilter.Name = "txtIdFilter";
- this.txtIdFilter.Size = new System.Drawing.Size(134, 25);
- this.txtIdFilter.TabIndex = 652;
- this.txtIdFilter.Visible = false;
- //
// txtExtCodeFilter
//
this.txtExtCodeFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
- this.txtExtCodeFilter.Location = new System.Drawing.Point(262, 60);
+ this.txtExtCodeFilter.Location = new System.Drawing.Point(68, 127);
this.txtExtCodeFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtExtCodeFilter.Name = "txtExtCodeFilter";
this.txtExtCodeFilter.Size = new System.Drawing.Size(134, 25);
this.txtExtCodeFilter.TabIndex = 555;
this.txtExtCodeFilter.Visible = false;
//
- // lblIdFilter
- //
- this.lblIdFilter.AutoSize = true;
- this.lblIdFilter.Location = new System.Drawing.Point(48, 65);
- this.lblIdFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
- this.lblIdFilter.Name = "lblIdFilter";
- this.lblIdFilter.Size = new System.Drawing.Size(21, 17);
- this.lblIdFilter.TabIndex = 651;
- this.lblIdFilter.Text = "ID";
- this.lblIdFilter.Visible = false;
- //
// lblExtCodeFilter
//
this.lblExtCodeFilter.AutoSize = true;
- this.lblExtCodeFilter.Location = new System.Drawing.Point(231, 64);
+ this.lblExtCodeFilter.Location = new System.Drawing.Point(37, 131);
this.lblExtCodeFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblExtCodeFilter.Name = "lblExtCodeFilter";
this.lblExtCodeFilter.Size = new System.Drawing.Size(32, 17);
@@ -627,7 +719,7 @@ namespace TemuKJD.WXForms.ProductForms
this.btnSearchProd.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSearchProd.DisabledBackColor = System.Drawing.Color.Empty;
this.btnSearchProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnSearchProd.Location = new System.Drawing.Point(213, 128);
+ this.btnSearchProd.Location = new System.Drawing.Point(213, 127);
this.btnSearchProd.Name = "btnSearchProd";
this.btnSearchProd.Size = new System.Drawing.Size(58, 25);
this.btnSearchProd.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -645,6 +737,17 @@ namespace TemuKJD.WXForms.ProductForms
this.btnSearchProd.Text = "商品查询";
this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click);
//
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Location = new System.Drawing.Point(13, 63);
+ this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label5.Name = "label5";
+ this.label5.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.label5.Size = new System.Drawing.Size(56, 17);
+ this.label5.TabIndex = 818;
+ this.label5.Text = "商品状态";
+ //
// ucGroupBoxEx1
//
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -1015,19 +1118,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
this.dgvShop.AutoRowNumber = true;
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
@@ -1198,19 +1301,19 @@ namespace TemuKJD.WXForms.ProductForms
//
this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false;
- dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
+ dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
this.dgvSelectProduct.AutoRowNumber = true;
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
+ dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
@@ -1232,6 +1335,7 @@ namespace TemuKJD.WXForms.ProductForms
this.colPrice,
this.colSoldNum,
this.colMsg,
+ this.colPreSale,
this.colNotes,
this.colUserNotes,
this.ColDelete,
@@ -1246,201 +1350,6 @@ namespace TemuKJD.WXForms.ProductForms
this.dgvSelectProduct.TabIndex = 187;
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
//
- // colCheck
- //
- this.colCheck.Frozen = true;
- this.colCheck.HeaderText = "选择";
- this.colCheck.Name = "colCheck";
- this.colCheck.ReadOnly = true;
- this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colCheck.Width = 30;
- //
- // colSelectId
- //
- this.colSelectId.HeaderText = "认领Id";
- this.colSelectId.Name = "colSelectId";
- this.colSelectId.ReadOnly = true;
- this.colSelectId.Visible = false;
- //
- // colSupplierId
- //
- this.colSupplierId.Frozen = true;
- this.colSupplierId.HeaderText = "店铺Id";
- this.colSupplierId.Name = "colSupplierId";
- this.colSupplierId.ReadOnly = true;
- //
- // colSupplierName
- //
- dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
- this.colSupplierName.Frozen = true;
- this.colSupplierName.HeaderText = "店铺名称";
- this.colSupplierName.Name = "colSupplierName";
- this.colSupplierName.ReadOnly = true;
- //
- // colLogin
- //
- this.colLogin.HeaderText = "登录";
- this.colLogin.Name = "colLogin";
- this.colLogin.ReadOnly = true;
- this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colLogin.Width = 40;
- //
- // colInShop
- //
- this.colInShop.HeaderText = "进店";
- this.colInShop.Name = "colInShop";
- this.colInShop.ReadOnly = true;
- this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colInShop.Width = 40;
- //
- // colSpuId
- //
- this.colSpuId.HeaderText = "源商品ID";
- this.colSpuId.Name = "colSpuId";
- this.colSpuId.ReadOnly = true;
- this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colSpuId.Visible = false;
- //
- // colSkcId
- //
- this.colSkcId.FillWeight = 150F;
- this.colSkcId.HeaderText = "商品SKC";
- this.colSkcId.Name = "colSkcId";
- this.colSkcId.ReadOnly = true;
- this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colSkcId.Visible = false;
- this.colSkcId.Width = 80;
- //
- // colDraftId
- //
- this.colDraftId.HeaderText = "商品Id";
- this.colDraftId.Name = "colDraftId";
- this.colDraftId.ReadOnly = true;
- this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
- this.colDraftId.Width = 120;
- //
- // colImgUrl
- //
- this.colImgUrl.HeaderText = "图片地址";
- this.colImgUrl.Name = "colImgUrl";
- this.colImgUrl.ReadOnly = true;
- this.colImgUrl.Visible = false;
- //
- // colProductSkcPic
- //
- this.colProductSkcPic.HeaderText = "图片";
- this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
- this.colProductSkcPic.Name = "colProductSkcPic";
- this.colProductSkcPic.ReadOnly = true;
- this.colProductSkcPic.Width = 60;
- //
- // colSkuFakeImgUrl
- //
- this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址";
- this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl";
- this.colSkuFakeImgUrl.ReadOnly = true;
- this.colSkuFakeImgUrl.Visible = false;
- //
- // colSkuFakeImg
- //
- this.colSkuFakeImg.HeaderText = "SKU替换图";
- this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
- this.colSkuFakeImg.Name = "colSkuFakeImg";
- this.colSkuFakeImg.ReadOnly = true;
- this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
- this.colSkuFakeImg.Visible = false;
- this.colSkuFakeImg.Width = 60;
- //
- // colProductName
- //
- dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
- this.colProductName.HeaderText = "商品标题";
- this.colProductName.Name = "colProductName";
- this.colProductName.ReadOnly = true;
- this.colProductName.Width = 150;
- //
- // colProductCat
- //
- dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
- this.colProductCat.HeaderText = "商品类目";
- this.colProductCat.Name = "colProductCat";
- this.colProductCat.ReadOnly = true;
- this.colProductCat.Width = 90;
- //
- // colExtCode
- //
- this.colExtCode.HeaderText = "商品货号";
- this.colExtCode.Name = "colExtCode";
- this.colExtCode.ReadOnly = true;
- this.colExtCode.Width = 145;
- //
- // colPrice
- //
- this.colPrice.HeaderText = "价格";
- this.colPrice.Name = "colPrice";
- this.colPrice.ReadOnly = true;
- this.colPrice.Width = 60;
- //
- // colSoldNum
- //
- this.colSoldNum.HeaderText = "销量";
- this.colSoldNum.Name = "colSoldNum";
- this.colSoldNum.ReadOnly = true;
- this.colSoldNum.Width = 60;
- //
- // colMsg
- //
- this.colMsg.HeaderText = "状态";
- this.colMsg.Name = "colMsg";
- this.colMsg.ReadOnly = true;
- //
- // colNotes
- //
- this.colNotes.HeaderText = "上传备注";
- this.colNotes.Name = "colNotes";
- this.colNotes.ReadOnly = true;
- this.colNotes.Visible = false;
- //
- // colUserNotes
- //
- this.colUserNotes.HeaderText = "重上/已买";
- this.colUserNotes.Name = "colUserNotes";
- this.colUserNotes.ReadOnly = true;
- this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True;
- this.colUserNotes.Visible = false;
- this.colUserNotes.Width = 75;
- //
- // ColDelete
- //
- this.ColDelete.HeaderText = "删除";
- this.ColDelete.Name = "ColDelete";
- this.ColDelete.ReadOnly = true;
- this.ColDelete.Visible = false;
- this.ColDelete.Width = 75;
- //
- // colAddTime
- //
- this.colAddTime.HeaderText = "上架时间";
- this.colAddTime.Name = "colAddTime";
- this.colAddTime.ReadOnly = true;
- //
- // colOpResult
- //
- this.colOpResult.HeaderText = "操作结果";
- this.colOpResult.Name = "colOpResult";
- this.colOpResult.ReadOnly = true;
- this.colOpResult.Width = 260;
- //
// splitContainer4
//
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -1521,49 +1430,211 @@ namespace TemuKJD.WXForms.ProductForms
this.panelEx1.Text = "停止当前操作";
this.panelEx1.Visible = false;
//
- // txtFiltSaleNum
+ // colCheck
//
- this.txtFiltSaleNum.Location = new System.Drawing.Point(152, 31);
- this.txtFiltSaleNum.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
- this.txtFiltSaleNum.Name = "txtFiltSaleNum";
- this.txtFiltSaleNum.Size = new System.Drawing.Size(33, 23);
- this.txtFiltSaleNum.TabIndex = 795;
- this.txtFiltSaleNum.Text = "1";
+ this.colCheck.Frozen = true;
+ this.colCheck.HeaderText = "选择";
+ this.colCheck.Name = "colCheck";
+ this.colCheck.ReadOnly = true;
+ this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colCheck.Width = 30;
//
- // btnFiltSelect
+ // colSelectId
//
- this.btnFiltSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
- this.btnFiltSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
- this.btnFiltSelect.Cursor = System.Windows.Forms.Cursors.Hand;
- this.btnFiltSelect.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnFiltSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.btnFiltSelect.Location = new System.Drawing.Point(32, 31);
- this.btnFiltSelect.Name = "btnFiltSelect";
- this.btnFiltSelect.Size = new System.Drawing.Size(62, 23);
- this.btnFiltSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
- this.btnFiltSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnFiltSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- this.btnFiltSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
- this.btnFiltSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
- this.btnFiltSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
- this.btnFiltSelect.Style.ForeColor.Color = System.Drawing.Color.White;
- this.btnFiltSelect.Style.GradientAngle = 90;
- this.btnFiltSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
- this.btnFiltSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnFiltSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
- this.btnFiltSelect.TabIndex = 794;
- this.btnFiltSelect.Text = "批量选择";
- this.btnFiltSelect.Click += new System.EventHandler(this.btnFiltSelect_Click);
+ this.colSelectId.HeaderText = "认领Id";
+ this.colSelectId.Name = "colSelectId";
+ this.colSelectId.ReadOnly = true;
+ this.colSelectId.Visible = false;
//
- // label4
+ // colSupplierId
//
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(96, 34);
- this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(56, 17);
- this.label4.TabIndex = 801;
- this.label4.Text = "销量低于";
+ this.colSupplierId.Frozen = true;
+ this.colSupplierId.HeaderText = "店铺Id";
+ this.colSupplierId.Name = "colSupplierId";
+ this.colSupplierId.ReadOnly = true;
+ //
+ // colSupplierName
+ //
+ dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13;
+ this.colSupplierName.Frozen = true;
+ this.colSupplierName.HeaderText = "店铺名称";
+ this.colSupplierName.Name = "colSupplierName";
+ this.colSupplierName.ReadOnly = true;
+ //
+ // colLogin
+ //
+ this.colLogin.HeaderText = "登录";
+ this.colLogin.Name = "colLogin";
+ this.colLogin.ReadOnly = true;
+ this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colLogin.Width = 40;
+ //
+ // colInShop
+ //
+ this.colInShop.HeaderText = "进店";
+ this.colInShop.Name = "colInShop";
+ this.colInShop.ReadOnly = true;
+ this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colInShop.Width = 40;
+ //
+ // colSpuId
+ //
+ this.colSpuId.HeaderText = "源商品ID";
+ this.colSpuId.Name = "colSpuId";
+ this.colSpuId.ReadOnly = true;
+ this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSpuId.Visible = false;
+ //
+ // colSkcId
+ //
+ this.colSkcId.FillWeight = 150F;
+ this.colSkcId.HeaderText = "商品SKC";
+ this.colSkcId.Name = "colSkcId";
+ this.colSkcId.ReadOnly = true;
+ this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSkcId.Visible = false;
+ this.colSkcId.Width = 80;
+ //
+ // colDraftId
+ //
+ this.colDraftId.HeaderText = "商品Id";
+ this.colDraftId.Name = "colDraftId";
+ this.colDraftId.ReadOnly = true;
+ this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+ this.colDraftId.Width = 115;
+ //
+ // colImgUrl
+ //
+ this.colImgUrl.HeaderText = "图片地址";
+ this.colImgUrl.Name = "colImgUrl";
+ this.colImgUrl.ReadOnly = true;
+ this.colImgUrl.Visible = false;
+ //
+ // colProductSkcPic
+ //
+ this.colProductSkcPic.HeaderText = "图片";
+ this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.colProductSkcPic.Name = "colProductSkcPic";
+ this.colProductSkcPic.ReadOnly = true;
+ this.colProductSkcPic.Width = 60;
+ //
+ // colSkuFakeImgUrl
+ //
+ this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址";
+ this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl";
+ this.colSkuFakeImgUrl.ReadOnly = true;
+ this.colSkuFakeImgUrl.Visible = false;
+ //
+ // colSkuFakeImg
+ //
+ this.colSkuFakeImg.HeaderText = "SKU替换图";
+ this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.colSkuFakeImg.Name = "colSkuFakeImg";
+ this.colSkuFakeImg.ReadOnly = true;
+ this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSkuFakeImg.Visible = false;
+ this.colSkuFakeImg.Width = 60;
+ //
+ // colProductName
+ //
+ dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductName.DefaultCellStyle = dataGridViewCellStyle14;
+ this.colProductName.HeaderText = "商品标题";
+ this.colProductName.Name = "colProductName";
+ this.colProductName.ReadOnly = true;
+ this.colProductName.Width = 140;
+ //
+ // colProductCat
+ //
+ dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15;
+ this.colProductCat.HeaderText = "商品类目";
+ this.colProductCat.Name = "colProductCat";
+ this.colProductCat.ReadOnly = true;
+ this.colProductCat.Width = 80;
+ //
+ // colExtCode
+ //
+ this.colExtCode.HeaderText = "商品货号";
+ this.colExtCode.Name = "colExtCode";
+ this.colExtCode.ReadOnly = true;
+ this.colExtCode.Width = 145;
+ //
+ // colPrice
+ //
+ this.colPrice.HeaderText = "价格";
+ this.colPrice.Name = "colPrice";
+ this.colPrice.ReadOnly = true;
+ this.colPrice.Width = 50;
+ //
+ // colSoldNum
+ //
+ this.colSoldNum.HeaderText = "销量";
+ this.colSoldNum.Name = "colSoldNum";
+ this.colSoldNum.ReadOnly = true;
+ this.colSoldNum.Width = 50;
+ //
+ // colMsg
+ //
+ this.colMsg.HeaderText = "状态";
+ this.colMsg.Name = "colMsg";
+ this.colMsg.ReadOnly = true;
+ this.colMsg.Width = 50;
+ //
+ // colPreSale
+ //
+ this.colPreSale.HeaderText = "预售";
+ this.colPreSale.Name = "colPreSale";
+ this.colPreSale.ReadOnly = true;
+ this.colPreSale.Width = 50;
+ //
+ // colNotes
+ //
+ this.colNotes.HeaderText = "上传备注";
+ this.colNotes.Name = "colNotes";
+ this.colNotes.ReadOnly = true;
+ this.colNotes.Visible = false;
+ //
+ // colUserNotes
+ //
+ this.colUserNotes.HeaderText = "重上/已买";
+ this.colUserNotes.Name = "colUserNotes";
+ this.colUserNotes.ReadOnly = true;
+ this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colUserNotes.Visible = false;
+ this.colUserNotes.Width = 75;
+ //
+ // ColDelete
+ //
+ this.ColDelete.HeaderText = "删除";
+ this.ColDelete.Name = "ColDelete";
+ this.ColDelete.ReadOnly = true;
+ this.ColDelete.Visible = false;
+ this.ColDelete.Width = 75;
+ //
+ // colAddTime
+ //
+ dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16;
+ this.colAddTime.HeaderText = "上架时间";
+ this.colAddTime.Name = "colAddTime";
+ this.colAddTime.ReadOnly = true;
+ this.colAddTime.Width = 80;
+ //
+ // colOpResult
+ //
+ this.colOpResult.HeaderText = "操作结果";
+ this.colOpResult.Name = "colOpResult";
+ this.colOpResult.ReadOnly = true;
+ this.colOpResult.Width = 240;
//
// WXProdPreSaleForm
//
@@ -1681,6 +1752,12 @@ namespace TemuKJD.WXForms.ProductForms
private DevComponents.DotNetBar.PanelEx panelEx3;
private DevComponents.DotNetBar.PanelEx panelEx4;
private DevComponents.DotNetBar.PanelEx btnDown;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox txtFiltSaleNum;
+ private DevComponents.DotNetBar.PanelEx btnFiltSelect;
+ private DevComponents.DotNetBar.PanelEx btnBatchDel;
+ private System.Windows.Forms.ComboBox cmbOnSaleStatus;
+ private System.Windows.Forms.Label label5;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
@@ -1700,13 +1777,11 @@ namespace TemuKJD.WXForms.ProductForms
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colPreSale;
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
private System.Windows.Forms.DataGridViewLinkColumn colUserNotes;
private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
- private System.Windows.Forms.Label label4;
- private System.Windows.Forms.TextBox txtFiltSaleNum;
- private DevComponents.DotNetBar.PanelEx btnFiltSelect;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs
index 106552d..563020f 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs
@@ -37,10 +37,12 @@ namespace TemuKJD.WXForms.ProductForms
int PageBegin = 1;
int PageEnd = 999;
string PreType = "";
+ string OnSaleStatus = "在售";
+
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
public bool IsLoadComplate { get; set; } = false;
- bool isInit = false;
+ bool isInit = false;
CheckBox chkSelectAll = null;
ConcurrentList lstShopAuthInfo = new ConcurrentList();
ConcurrentList lstWXShopTokenInfo = new ConcurrentList();
@@ -52,8 +54,8 @@ namespace TemuKJD.WXForms.ProductForms
public Dictionary dicCheckedShopId = new Dictionary();
public Dictionary dicShopUpload = new Dictionary();
public string pdd_product_cates = "";
- public List forceFilteKeyWords = new List()
- {
+ public List forceFilteKeyWords = new List()
+ {
"亏本", "冲量", "白菜价", "跳楼价", "xxx", "xx", "最大", "最小", "低价", "降价", "成本", "赔钱", "甩卖",
"真丝", "蚕丝", "香云纱", "羊绒", "羊毛", "羊羔绒", "羊羔毛", "羽绒", "皮草"
};
@@ -80,7 +82,7 @@ namespace TemuKJD.WXForms.ProductForms
lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_add_price_rules");
if (lstAddPriceRule == null)
- {
+ {
lstAddPriceRule = new NaiBa.Util.ConcurrentList();
lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
@@ -96,7 +98,7 @@ namespace TemuKJD.WXForms.ProductForms
defaultAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig("wx_default_add_price_rule");
if (defaultAddPriceRule == null)
- {
+ {
defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1 };
}
@@ -170,7 +172,7 @@ namespace TemuKJD.WXForms.ProductForms
// }
//}
-//#if DEBUG
+ //#if DEBUG
if (BaseClass.SaLevel == 1)
{
//txtIdFilter.Visible = true;
@@ -178,7 +180,7 @@ namespace TemuKJD.WXForms.ProductForms
//lblIdFilter.Visible = true;
//lblExtCodeFilter.Visible = true;
}
-//#endif
+ //#endif
IsLoadComplate = true;
}
@@ -262,7 +264,7 @@ namespace TemuKJD.WXForms.ProductForms
while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 20) { Thread.Sleep(100); }
}
while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); }
- NaiBa.Util.Helper.ConfigHelper.SaveConfig( "wx_shop_auth_list", lstShopAuthInfo);
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_auth_list", lstShopAuthInfo);
Invoke(new Action(() => { pbLoadingShop.Visible = false; }));
});
}
@@ -282,7 +284,7 @@ namespace TemuKJD.WXForms.ProductForms
foreach (DataGridViewRow row in dgvShop.Rows)
{
//if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
- if(row.Visible == true)
+ if (row.Visible == true)
row.Cells["colSelect"].Value = true;
}
}
@@ -381,7 +383,7 @@ namespace TemuKJD.WXForms.ProductForms
canUse ? "在线" : "掉线",
lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期",
canUse,
- dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
+ dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0,
dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ?
dicShopUpload[shopEntity.ShopId].OnSaleCount : 0,
@@ -614,7 +616,7 @@ namespace TemuKJD.WXForms.ProductForms
this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count;
this.statusBar.UpdateProgressBar(0);
}));
-
+
foreach (var row in rowLst)
{
Invoke(new Action(() =>
@@ -630,7 +632,7 @@ namespace TemuKJD.WXForms.ProductForms
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
if (shop == null)
{
- Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
row.Cells["colOpResult"].Value = "店铺不存在";
}));
@@ -647,7 +649,7 @@ namespace TemuKJD.WXForms.ProductForms
//shop = new ShopLoginInfo();
var getEditProdRst = WXUpload.getEditProductV2(shop, prodId);
Thread.Sleep(Randomx.GetId(50, 100));
- if(getEditProdRst.Contains("biz magic invalid"))
+ if (getEditProdRst.Contains("biz magic invalid"))
{
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
}
@@ -690,6 +692,7 @@ namespace TemuKJD.WXForms.ProductForms
// 提交免审修改(实际生效接口)
var listingAuditFreeRst = WXUpload.listingAuditFree(shop, productJson, prodId, time1, time2);
+ System.Threading.Thread.Sleep(Randomx.GetId(100, 500));
if (!listingAuditFreeRst.Contains("\"code\":0"))
{
var errmsg = BaseRegex.GetStringJson(ref listingAuditFreeRst, "msg");
@@ -711,8 +714,8 @@ namespace TemuKJD.WXForms.ProductForms
}
if (/*chkPreSale.Checked &&*/ chkFailDownProd.Checked)
- {
- var downProd = WXPreSale.DownProd(shop, prodId.ParseToLong());
+ {
+ var downProd = WXPreSale.DownProd(shop, prodId);
System.Threading.Thread.Sleep(Randomx.GetId(50, 100));
if (downProd.Contains("\"code\":0"))
{
@@ -736,7 +739,7 @@ namespace TemuKJD.WXForms.ProductForms
}
}
}
-
+
private void btnStop_Click(object sender, EventArgs e)
{
if (this.cancellationTokenSource != null)
@@ -760,7 +763,7 @@ namespace TemuKJD.WXForms.ProductForms
{
GetProduct(shopIdLst);
Invoke(new Action(() =>
- {
+ {
this.statusBar.lblTaskStatus.Text = "商品查询完毕";
BaseMsgForm.ShowInfo("商品查询完毕");
pbLoading.Visible = false;
@@ -772,9 +775,9 @@ namespace TemuKJD.WXForms.ProductForms
void GetProduct(List shopIdLst)
{
List shopLst = GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId)).ToList();
- foreach(var shop in shopLst)
+ foreach (var shop in shopLst)
{
- if(cancellationTokenSource.IsCancellationRequested)
+ if (cancellationTokenSource.IsCancellationRequested)
break;
if (shop.LoginStatus != "登录成功")
@@ -794,11 +797,16 @@ namespace TemuKJD.WXForms.ProductForms
break;
string getProdOnSaleRst = "";
+ int onSaleStatusCode = -1;
+ if (OnSaleStatus == "在售")
+ onSaleStatusCode = 5;
+ else if (OnSaleStatus == "下架")
+ onSaleStatusCode = 11;
if (string.IsNullOrEmpty(PreType))
- getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize);
+ getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize, onSaleStatusCode);
else
- getProdOnSaleRst = WXPreSale.searchProduct(shop, page, PreType == "预售" ? 1 : 0, pageSize);
+ getProdOnSaleRst = WXPreSale.searchProduct(shop, page, PreType == "预售" ? 1 : 0, pageSize, onSaleStatusCode);
Thread.Sleep(Randomx.GetId(50, 100));
if (!getProdOnSaleRst.Contains("\"success\":true"))
{
@@ -806,17 +814,18 @@ namespace TemuKJD.WXForms.ProductForms
if (string.IsNullOrEmpty(error))
error = getProdOnSaleRst;
- WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
if (shop.LoginStatus != "登录成功")
{
Invoke(new Action(() => { BindShop(shop, shopIdLst, "店铺掉线"); }));
}
var shopRow = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
- Invoke(new Action(() => {
+ Invoke(new Action(() =>
+ {
if (shopRow != null)
{
- shopRow.Cells["colMsg"].Value = error;
+ shopRow.Cells["colOpResult"].Value = error;
}
}));
break;
@@ -841,16 +850,21 @@ namespace TemuKJD.WXForms.ProductForms
foreach (JObject prod in prodObjs["productList"])
{
var pStr = JsonHelper.SerializeObject(prod);
- Invoke(new Action(() =>
+ Invoke(new Action(() =>
{
decimal? price = null;
try { price = prod["skuList"][0]["price"].ParseToDecimal() / 100; } catch { }
var prodId = prod["productId"].ParseToString();
if (dgvSelectProduct.Rows.Cast().Any(r => r.Cells["colDraftId"].ParseToString() == prodId))
{
-
+
}
-
+ string StatusStr = "其他";
+ if (prod["status"].ParseToInt() == 5)
+ StatusStr = "在售";
+ if (prod["status"].ParseToInt() == 11)
+ StatusStr = "下架";
+
var rowIndex = this.dgvSelectProduct.Rows.Add(
false,
"",
@@ -866,13 +880,14 @@ namespace TemuKJD.WXForms.ProductForms
"", // 替换图地址
null, // 替换图
prod["title"].ParseToString(), // 用户端显示商品原名
- (prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ?
+ (prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ?
"" : string.Join(" >> ", prod["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称
prod["spuCode"].ParseToString(),
//price,
prod["price"].ParseToDecimal() * 0.01m,
prod["soldNum"].ParseToInt(),
- "在售" + (prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : ""),
+ StatusStr,
+ prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : "",
"", // 备注
"",
"删除",
@@ -880,13 +895,14 @@ namespace TemuKJD.WXForms.ProductForms
"");
dgvSelectProduct.Rows[rowIndex].Height = 60;
- dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString().Contains("预售") ? Color.Orange : Color.Blue;
+ dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString().Contains("在售") ? Color.Blue : Color.Red;
+ dgvSelectProduct.Rows[rowIndex].Cells["colPreSale"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colPreSale"].Value.ParseToString().Contains("预售") ? Color.Green : Color.Blue;
}));
}
}
catch (Exception ex)
{
-
+
}
}
}
@@ -913,6 +929,8 @@ namespace TemuKJD.WXForms.ProductForms
txtIdFilter.Text = "";
txtExtCodeFilter.Text = "";
txtProductName.Text = "";
+ cmbPreType.Text = "";
+ cmbOnSaleStatus.Text = "在售";
}
private void txtPreDays_TextChanged(object sender, EventArgs e)
@@ -931,7 +949,7 @@ namespace TemuKJD.WXForms.ProductForms
private void btnFilterShop_Click(object sender, EventArgs e)
{
- foreach(DataGridViewRow row in dgvShop.Rows)
+ foreach (DataGridViewRow row in dgvShop.Rows)
{
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
if (notes == "全部")
@@ -963,7 +981,7 @@ namespace TemuKJD.WXForms.ProductForms
private void btnReverse_Click(object sender, EventArgs e)
{
- foreach(DataGridViewRow row in dgvShop.Rows)
+ foreach (DataGridViewRow row in dgvShop.Rows)
{
if (row.Visible == true)
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
@@ -1066,7 +1084,7 @@ namespace TemuKJD.WXForms.ProductForms
private void btnSelectPre_Click(object sender, EventArgs e)
{
- foreach(DataGridViewRow row in dgvSelectProduct.Rows)
+ foreach (DataGridViewRow row in dgvSelectProduct.Rows)
{
Invoke(new Action(() => { }));
}
@@ -1088,14 +1106,25 @@ namespace TemuKJD.WXForms.ProductForms
this.pbLoading.Visible = true;
this.btnSetPreSale.Enabled = false;
+ if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested)
+ cancellationTokenSource.Cancel();
cancellationTokenSource = new CancellationTokenSource();
Task.Run(() =>
{
SetProdDown(rowLst);
Invoke(new Action(() =>
{
- this.statusBar.lblTaskStatus.Text = "商品下架完毕";
- BaseMsgForm.ShowInfo("商品下架完毕");
+ if (cancellationTokenSource.IsCancellationRequested)
+ {
+ this.statusBar.lblTaskStatus.Text = "商品下架中断";
+ BaseMsgForm.ShowInfo("商品下架中断");
+ }
+ else
+ {
+ this.statusBar.lblTaskStatus.Text = "商品下架完毕";
+ BaseMsgForm.ShowInfo("商品下架完毕");
+ }
+
this.pbLoading.Visible = false;
this.btnSetPreSale.Enabled = true;
}));
@@ -1113,24 +1142,35 @@ namespace TemuKJD.WXForms.ProductForms
this.statusBar.UpdateProgressBar(0);
}));
- foreach (var row in rowLst)
+ while (rowLst.Count > 0)
{
- Invoke(new Action(() =>
- {
- row.Cells["colOpResult"].Value = "";
- }));
-
if (cancellationTokenSource.IsCancellationRequested)
break;
- var prodId = row.Cells["colDraftId"].Value.ParseToString();
- var shopId = row.Cells["colSupplierId"].Value.ParseToString();
+ var r0 = rowLst.FirstOrDefault();
+ var shopId = r0.Cells["colSupplierId"].Value.ParseToString();
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
+ var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList();
+
+ foreach (var r in rowLstTmp)
+ {
+ rowLst.Remove(r);
+
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
+ r.Cells["colOpResult"].Value = "";
+ }));
+ }
if (shop == null)
{
Invoke(new Action(() =>
{
- row.Cells["colOpResult"].Value = "店铺不存在";
+ foreach (var r in rowLstTmp)
+ {
+ r.Cells["colOpResult"].Value = "店铺不存在";
+ }
}));
continue;
}
@@ -1138,13 +1178,23 @@ namespace TemuKJD.WXForms.ProductForms
{
Invoke(new Action(() =>
{
- row.Cells["colOpResult"].Value = "店铺掉线";
+ foreach (var r in rowLstTmp)
+ {
+ r.Cells["colOpResult"].Value = "店铺掉线";
+ }
}));
continue;
}
-
- var downProdRst = WXPreSale.DownProd(shop, prodId.ParseToLong());
- System.Threading.Thread.Sleep(Randomx.GetId(200, 500));
+
+ List prodIdLst = new List();
+ foreach (var row in rowLstTmp)
+ {
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ prodIdLst.Add(prodId);
+ }
+
+ var downProdRst = WXPreSale.DownProd(shop, string.Join(",", prodIdLst));
+ Thread.Sleep(Randomx.GetId(1000, 1500));
if (!downProdRst.Contains("\"code\":0"))
{
if (downProdRst.Contains("biz magic invalid"))
@@ -1154,7 +1204,10 @@ namespace TemuKJD.WXForms.ProductForms
{
Invoke(new Action(() =>
{
- row.Cells["colOpResult"].Value = "店铺掉线";
+ foreach (var row in rowLstTmp)
+ {
+ row.Cells["colOpResult"].Value = "店铺掉线";
+ }
}));
continue;
}
@@ -1166,15 +1219,30 @@ namespace TemuKJD.WXForms.ProductForms
Invoke(new Action(() =>
{
- row.Cells["colOpResult"].Value = errmsg;
+ foreach (var row in rowLstTmp)
+ {
+ if (downProdRst.Contains("\"code\":108002"))
+ {
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ if (downProdRst.Contains(prodId))
+ row.Cells["colOpResult"].Value = "下架失败,请检查商品是否已下架或不存在";
+ else
+ row.Cells["colOpResult"].Value = "下架成功";
+ }
+ else
+ row.Cells["colOpResult"].Value = errmsg;
+ }
}));
}
-
+
if (downProdRst.Contains("\"code\":0"))
{
Invoke(new Action(() =>
{
- row.Cells["colOpResult"].Value = "下架成功";
+ foreach (var row in rowLstTmp)
+ {
+ row.Cells["colOpResult"].Value = "下架成功";
+ }
}));
}
}
@@ -1182,7 +1250,7 @@ namespace TemuKJD.WXForms.ProductForms
private void btnFiltSelect_Click(object sender, EventArgs e)
{
- foreach(DataGridViewRow row in dgvSelectProduct.Rows)
+ foreach (DataGridViewRow row in dgvSelectProduct.Rows)
{
if (row.Cells["colSoldNum"].Value.ParseToInt() >= txtFiltSaleNum.Text.Trim().ParseToInt())
row.Cells["colCheck"].Value = false;
@@ -1190,15 +1258,183 @@ namespace TemuKJD.WXForms.ProductForms
row.Cells["colCheck"].Value = true;
}
}
+
+ private void cmbOnSaleStatus_SelectedIndexChanged(object sender, EventArgs e)
+ {
+
+ }
+
+ private void cmbOnSaleStatus_TextChanged(object sender, EventArgs e)
+ {
+ OnSaleStatus = cmbOnSaleStatus.Text;
+ }
+
+ private void btnBatchDel_Click(object sender, EventArgs e)
+ {
+ var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
+ if (rowLst.Count <= 0)
+ {
+ BaseMsgForm.ShowError("请勾选需要操作的商品!");
+ return;
+ }
+
+ this.pbLoading.Visible = true;
+ this.btnSetPreSale.Enabled = false;
+ if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested)
+ cancellationTokenSource.Cancel();
+ cancellationTokenSource = new CancellationTokenSource();
+ Task.Run(() =>
+ {
+ SetProdDel(rowLst);
+ Invoke(new Action(() =>
+ {
+ if (cancellationTokenSource.IsCancellationRequested)
+ {
+ this.statusBar.lblTaskStatus.Text = "商品删除中断";
+ BaseMsgForm.ShowInfo("商品删除中断");
+ }
+ else
+ {
+ this.statusBar.lblTaskStatus.Text = "商品删除完毕";
+ BaseMsgForm.ShowInfo("商品删除完毕");
+ }
+
+ this.pbLoading.Visible = false;
+ this.btnSetPreSale.Enabled = true;
+ }));
+ }, cancellationTokenSource.Token);
+
+ }
+
+ void SetProdDel(List rowLst)
+ {
+ Invoke(new Action(() =>
+ {
+ this.pbLoading.Visible = true;
+ this.statusBar.lblTaskStatus.Text = "正在删除" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count;
+ this.statusBar.UpdateProgressBar(0);
+ }));
+
+ while (rowLst.Count > 0)
+ {
+ if (cancellationTokenSource.IsCancellationRequested)
+ break;
+
+ var r0 = rowLst.FirstOrDefault();
+ var shopId = r0.Cells["colSupplierId"].Value.ParseToString();
+ var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
+ var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList();
+
+ foreach (var r in rowLstTmp)
+ {
+ rowLst.Remove(r);
+
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "正在删除" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
+ r.Cells["colOpResult"].Value = "";
+ }));
+ }
+ if (shop == null)
+ {
+ Invoke(new Action(() =>
+ {
+ foreach (var r in rowLstTmp)
+ {
+ r.Cells["colOpResult"].Value = "店铺不存在";
+ }
+ }));
+ continue;
+ }
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() =>
+ {
+ foreach (var r in rowLstTmp)
+ {
+ r.Cells["colOpResult"].Value = "店铺掉线";
+ }
+ }));
+ continue;
+ }
+
+ List prodIdLst = new List();
+ foreach (var row in rowLstTmp)
+ {
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ prodIdLst.Add(prodId);
+ }
+
+ var downProdRst = WXPreSale.DelProd(shop, string.Join(",", prodIdLst));
+ Thread.Sleep(Randomx.GetId(1000, 1500));
+ if (!downProdRst.Contains("\"code\":0"))
+ {
+ if (downProdRst.Contains("biz magic invalid"))
+ {
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() =>
+ {
+ foreach (var row in rowLstTmp)
+ {
+ row.Cells["colOpResult"].Value = "店铺掉线";
+ }
+ }));
+ continue;
+ }
+ }
+
+ var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg");
+ if (string.IsNullOrWhiteSpace(errmsg))
+ errmsg = downProdRst;
+
+ Invoke(new Action(() =>
+ {
+ foreach (var row in rowLstTmp)
+ {
+ if (downProdRst.Contains("\"code\":108002"))
+ {
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ if (downProdRst.Contains(prodId))
+ row.Cells["colOpResult"].Value = "删除失败,请检查商品是否已删除";
+ else
+ row.Cells["colOpResult"].Value = "删除成功";
+ }
+ else
+ row.Cells["colOpResult"].Value = errmsg;
+ }
+ }));
+ }
+
+ if (downProdRst.Contains("\"code\":0"))
+ {
+ Invoke(new Action(() =>
+ {
+ foreach (var row in rowLstTmp)
+ {
+ row.Cells["colOpResult"].Value = "删除成功";
+ }
+ }));
+ }
+ }
+ }
}
public class WXPreSale
{
- public static string searchProduct(ShopLoginInfo shop, int pageNum, int? presaleType = null, int pageSize = 50, int? sortType = null)
+ ///
+ /// -1 全部 5 在售 11 下架
+ ///
+ /// -1 全部 5 在售 11 下架
+ ///
+ public static string searchProduct(ShopLoginInfo shop, int pageNum, int? presaleType = null, int pageSize = 50, int? sortType = null, int status=5)
{
//https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=44&status[]=5&presaleType[]=1
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&" +
- "pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=5";
+ "pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=" + status;
if (presaleType != null)
url += "&presaleType[]=" + presaleType;
if (sortType != null)
@@ -1209,7 +1445,12 @@ namespace TemuKJD.WXForms.ProductForms
return result;
}
- public static string scanProductPreview(ShopLoginInfo shop, int page, string nextKey = "", int pageSize = 50)
+ ///
+ /// -1 全部 5 在售 11 下架
+ ///
+ /// -1 全部 5 在售 11 下架
+ ///
+ public static string scanProductPreview(ShopLoginInfo shop, int page, string nextKey = "", int pageSize = 50, int saleStatus = 5)
{
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/scanProductPreview?token=&lang=zh_CN";
string referer = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_STATUS_ON";
@@ -1218,7 +1459,7 @@ namespace TemuKJD.WXForms.ProductForms
//string body = @"{""pageSize"":20,""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":1,""status"":[5]}";
//string body = @"{""pageSize"":20,""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":2,""status"":[5],""nextKey"":""ChwItc+24YajAhCD14bMBhjqLiDoDCgAMITXhswGEhwIy8im34ajAhCa74XMBhiaXyDeBygAMJrvhcwGGAEgeiiIEw==""}";
string body = @"{""pageSize"":" + pageSize + @",""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":" + page +
- @",""status"":[5],""nextKey"":""" + nextKey + @"""}";
+ @",""status"":[" + saleStatus + @"],""nextKey"":""" + nextKey + @"""}";
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
@@ -1229,11 +1470,27 @@ namespace TemuKJD.WXForms.ProductForms
///
///
///
- public static string DownProd(ShopLoginInfo shop, long prodId)
+ public static string DownProd(ShopLoginInfo shop, string prodIds)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/BatchUnListing?token=&lang=zh_CN";
string referer = "https://store.weixin.qq.com/shop/goods/list";
- string body = @"{""ids"":[" + prodId + @"],""uploadSource"":6}";
+ string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}";
+ var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
+ return result;
+ }
+
+
+ ///
+ /// 下架商品
+ ///
+ ///
+ ///
+ ///
+ public static string DelProd(ShopLoginInfo shop, string prodIds)
+ {
+ string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchDel?token=&lang=zh_CN";
+ string referer = "https://store.weixin.qq.com/shop/goods/list";
+ string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}";
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.resx b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.resx
index ac91840..438e4c9 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.resx
+++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.resx
@@ -207,6 +207,9 @@
True
+
+ True
+
True
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.Designer.cs
new file mode 100644
index 0000000..671896d
--- /dev/null
+++ b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.Designer.cs
@@ -0,0 +1,1555 @@
+
+using TemuKJD.PDDForms.ProductSelectForms;
+
+namespace TemuKJD.WXForms.ProductForms
+{
+ partial class WXProdSyncForm
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.cmbSaleSort = new System.Windows.Forms.ComboBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.label5 = new System.Windows.Forms.Label();
+ this.panelEx6 = new DevComponents.DotNetBar.PanelEx();
+ this.btnClearDgv = new DevComponents.DotNetBar.PanelEx();
+ this.txtPageEnd = new System.Windows.Forms.TextBox();
+ this.txtFiltSaleNumLessThan = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.btnFiltSelectLessThan = new DevComponents.DotNetBar.PanelEx();
+ this.txtFiltSaleNumMoreThan = new System.Windows.Forms.TextBox();
+ this.btnSearchProd = new DevComponents.DotNetBar.PanelEx();
+ this.cmbPreType = new System.Windows.Forms.ComboBox();
+ this.btnFiltSelectMoreThan = new DevComponents.DotNetBar.PanelEx();
+ this.btnClearFilter = new DevComponents.DotNetBar.PanelEx();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.chkFailDownProd = new TemuKJD.UserComponent.UcCheckBox(this.components);
+ this.btnPromotion = new DevComponents.DotNetBar.PanelEx();
+ this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
+ this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx();
+ this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx();
+ this.btnSelectOnline = new DevComponents.DotNetBar.PanelEx();
+ this.btnAddUnSelect = new DevComponents.DotNetBar.PanelEx();
+ this.btnReverse = new DevComponents.DotNetBar.PanelEx();
+ this.cmbFilterShopNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect();
+ this.btnAddSelect = new DevComponents.DotNetBar.PanelEx();
+ this.btnEmptyShop = new DevComponents.DotNetBar.PanelEx();
+ this.btnFilterShop = new DevComponents.DotNetBar.PanelEx();
+ this.label16 = new System.Windows.Forms.Label();
+ this.txtFilterShopName = new System.Windows.Forms.TextBox();
+ this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx();
+ this.label17 = new System.Windows.Forms.Label();
+ this.splitContainer3 = new System.Windows.Forms.SplitContainer();
+ this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.pbLoadingShop = new System.Windows.Forms.PictureBox();
+ this.txtPageBegin = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
+ this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colApi = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.pbLoading = new System.Windows.Forms.PictureBox();
+ this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
+ this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
+ this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colInShop = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn();
+ this.colSkuFakeImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSkuFakeImg = new System.Windows.Forms.DataGridViewImageColumn();
+ this.colProductName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colProductCat = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colCouponNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.splitContainer4 = new System.Windows.Forms.SplitContainer();
+ this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
+ this.btnClear = new DevComponents.DotNetBar.PanelEx();
+ this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ this.ucGroupBoxEx3.SuspendLayout();
+ this.ucGroupBoxEx4.SuspendLayout();
+ this.ucGroupBoxEx1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
+ this.splitContainer3.Panel1.SuspendLayout();
+ this.splitContainer3.Panel2.SuspendLayout();
+ this.splitContainer3.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+ this.splitContainer2.Panel1.SuspendLayout();
+ this.splitContainer2.Panel2.SuspendLayout();
+ this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit();
+ this.splitContainer4.Panel1.SuspendLayout();
+ this.splitContainer4.Panel2.SuspendLayout();
+ this.splitContainer4.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx3);
+ this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx4);
+ this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.splitContainer3);
+ this.splitContainer1.Size = new System.Drawing.Size(1424, 641);
+ this.splitContainer1.SplitterDistance = 165;
+ this.splitContainer1.TabIndex = 11;
+ //
+ // ucGroupBoxEx3
+ //
+ this.ucGroupBoxEx3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)));
+ this.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
+ this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx3.Controls.Add(this.cmbSaleSort);
+ this.ucGroupBoxEx3.Controls.Add(this.label6);
+ this.ucGroupBoxEx3.Controls.Add(this.label5);
+ this.ucGroupBoxEx3.Controls.Add(this.panelEx6);
+ this.ucGroupBoxEx3.Controls.Add(this.btnClearDgv);
+ this.ucGroupBoxEx3.Controls.Add(this.txtPageEnd);
+ this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNumLessThan);
+ this.ucGroupBoxEx3.Controls.Add(this.label4);
+ this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelectLessThan);
+ this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNumMoreThan);
+ this.ucGroupBoxEx3.Controls.Add(this.btnSearchProd);
+ this.ucGroupBoxEx3.Controls.Add(this.cmbPreType);
+ this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelectMoreThan);
+ this.ucGroupBoxEx3.Controls.Add(this.btnClearFilter);
+ this.ucGroupBoxEx3.Controls.Add(this.label3);
+ this.ucGroupBoxEx3.Controls.Add(this.label2);
+ this.ucGroupBoxEx3.Location = new System.Drawing.Point(162, 2);
+ this.ucGroupBoxEx3.Name = "ucGroupBoxEx3";
+ this.ucGroupBoxEx3.Size = new System.Drawing.Size(357, 165);
+ this.ucGroupBoxEx3.TabIndex = 668;
+ this.ucGroupBoxEx3.TabStop = false;
+ this.ucGroupBoxEx3.Text = "商品查询";
+ //
+ // cmbSaleSort
+ //
+ this.cmbSaleSort.FormattingEnabled = true;
+ this.cmbSaleSort.Items.AddRange(new object[] {
+ "",
+ "降序",
+ "升序"});
+ this.cmbSaleSort.Location = new System.Drawing.Point(64, 60);
+ this.cmbSaleSort.Name = "cmbSaleSort";
+ this.cmbSaleSort.Size = new System.Drawing.Size(112, 25);
+ this.cmbSaleSort.TabIndex = 869;
+ this.cmbSaleSort.TextChanged += new System.EventHandler(this.cmbSaleSort_TextChanged);
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Location = new System.Drawing.Point(9, 64);
+ this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label6.Name = "label6";
+ this.label6.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.label6.Size = new System.Drawing.Size(56, 17);
+ this.label6.TabIndex = 868;
+ this.label6.Text = "销量排序";
+ //
+ // label5
+ //
+ this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label5.AutoSize = true;
+ this.label5.Location = new System.Drawing.Point(256, 28);
+ this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(56, 17);
+ this.label5.TabIndex = 844;
+ this.label5.Text = "销量小于";
+ //
+ // panelEx6
+ //
+ this.panelEx6.CanvasColor = System.Drawing.SystemColors.Control;
+ this.panelEx6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.panelEx6.DisabledBackColor = System.Drawing.Color.Empty;
+ this.panelEx6.Location = new System.Drawing.Point(288, 127);
+ this.panelEx6.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.panelEx6.Name = "panelEx6";
+ this.panelEx6.Size = new System.Drawing.Size(58, 25);
+ this.panelEx6.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx6.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx6.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx6.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.panelEx6.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx6.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.panelEx6.Style.GradientAngle = 90;
+ this.panelEx6.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx6.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx6.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx6.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx6.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.panelEx6.TabIndex = 848;
+ this.panelEx6.Text = "停止查询";
+ this.panelEx6.Click += new System.EventHandler(this.btnStop_Click);
+ //
+ // btnClearDgv
+ //
+ this.btnClearDgv.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnClearDgv.CanvasColor = System.Drawing.SystemColors.Control;
+ this.btnClearDgv.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnClearDgv.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnClearDgv.Location = new System.Drawing.Point(12, 127);
+ this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.btnClearDgv.Name = "btnClearDgv";
+ this.btnClearDgv.Size = new System.Drawing.Size(85, 25);
+ this.btnClearDgv.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClearDgv.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnClearDgv.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnClearDgv.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.btnClearDgv.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClearDgv.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.btnClearDgv.Style.GradientAngle = 90;
+ this.btnClearDgv.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClearDgv.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClearDgv.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClearDgv.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClearDgv.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnClearDgv.TabIndex = 612;
+ this.btnClearDgv.Text = "清空列表选中";
+ this.btnClearDgv.Click += new System.EventHandler(this.btnClearDgv_Click);
+ //
+ // txtPageEnd
+ //
+ this.txtPageEnd.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.txtPageEnd.Location = new System.Drawing.Point(64, 24);
+ this.txtPageEnd.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
+ this.txtPageEnd.Name = "txtPageEnd";
+ this.txtPageEnd.Size = new System.Drawing.Size(112, 25);
+ this.txtPageEnd.TabIndex = 792;
+ this.txtPageEnd.Text = "999";
+ this.txtPageEnd.TextChanged += new System.EventHandler(this.txtPageEnd_TextChanged);
+ //
+ // txtFiltSaleNumLessThan
+ //
+ this.txtFiltSaleNumLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtFiltSaleNumLessThan.Location = new System.Drawing.Point(312, 25);
+ this.txtFiltSaleNumLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
+ this.txtFiltSaleNumLessThan.Name = "txtFiltSaleNumLessThan";
+ this.txtFiltSaleNumLessThan.Size = new System.Drawing.Size(33, 23);
+ this.txtFiltSaleNumLessThan.TabIndex = 843;
+ this.txtFiltSaleNumLessThan.Text = "1";
+ //
+ // label4
+ //
+ this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(256, 64);
+ this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(56, 17);
+ this.label4.TabIndex = 801;
+ this.label4.Text = "销量大于";
+ //
+ // btnFiltSelectLessThan
+ //
+ this.btnFiltSelectLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnFiltSelectLessThan.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnFiltSelectLessThan.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnFiltSelectLessThan.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnFiltSelectLessThan.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnFiltSelectLessThan.Location = new System.Drawing.Point(192, 24);
+ this.btnFiltSelectLessThan.Name = "btnFiltSelectLessThan";
+ this.btnFiltSelectLessThan.Size = new System.Drawing.Size(62, 25);
+ this.btnFiltSelectLessThan.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFiltSelectLessThan.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectLessThan.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectLessThan.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnFiltSelectLessThan.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnFiltSelectLessThan.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnFiltSelectLessThan.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnFiltSelectLessThan.Style.GradientAngle = 90;
+ this.btnFiltSelectLessThan.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFiltSelectLessThan.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectLessThan.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectLessThan.TabIndex = 842;
+ this.btnFiltSelectLessThan.Text = "批量选择";
+ this.btnFiltSelectLessThan.Click += new System.EventHandler(this.btnFiltSelectLessThan_Click);
+ //
+ // txtFiltSaleNumMoreThan
+ //
+ this.txtFiltSaleNumMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtFiltSaleNumMoreThan.Location = new System.Drawing.Point(312, 61);
+ this.txtFiltSaleNumMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
+ this.txtFiltSaleNumMoreThan.Name = "txtFiltSaleNumMoreThan";
+ this.txtFiltSaleNumMoreThan.Size = new System.Drawing.Size(33, 23);
+ this.txtFiltSaleNumMoreThan.TabIndex = 795;
+ this.txtFiltSaleNumMoreThan.Text = "0";
+ //
+ // btnSearchProd
+ //
+ this.btnSearchProd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnSearchProd.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnSearchProd.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnSearchProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSearchProd.Location = new System.Drawing.Point(164, 127);
+ this.btnSearchProd.Name = "btnSearchProd";
+ this.btnSearchProd.Size = new System.Drawing.Size(58, 25);
+ this.btnSearchProd.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearchProd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearchProd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearchProd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnSearchProd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnSearchProd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnSearchProd.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnSearchProd.Style.GradientAngle = 90;
+ this.btnSearchProd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearchProd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearchProd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearchProd.TabIndex = 431;
+ this.btnSearchProd.Text = "商品查询";
+ this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click);
+ //
+ // cmbPreType
+ //
+ this.cmbPreType.FormattingEnabled = true;
+ this.cmbPreType.Items.AddRange(new object[] {
+ "",
+ "预售",
+ "非预售"});
+ this.cmbPreType.Location = new System.Drawing.Point(64, 95);
+ this.cmbPreType.Name = "cmbPreType";
+ this.cmbPreType.Size = new System.Drawing.Size(112, 25);
+ this.cmbPreType.TabIndex = 807;
+ this.cmbPreType.Visible = false;
+ this.cmbPreType.SelectedIndexChanged += new System.EventHandler(this.cmbPreType_SelectedIndexChanged);
+ //
+ // btnFiltSelectMoreThan
+ //
+ this.btnFiltSelectMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnFiltSelectMoreThan.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnFiltSelectMoreThan.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnFiltSelectMoreThan.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnFiltSelectMoreThan.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnFiltSelectMoreThan.Location = new System.Drawing.Point(192, 60);
+ this.btnFiltSelectMoreThan.Name = "btnFiltSelectMoreThan";
+ this.btnFiltSelectMoreThan.Size = new System.Drawing.Size(62, 25);
+ this.btnFiltSelectMoreThan.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFiltSelectMoreThan.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectMoreThan.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectMoreThan.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnFiltSelectMoreThan.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnFiltSelectMoreThan.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnFiltSelectMoreThan.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnFiltSelectMoreThan.Style.GradientAngle = 90;
+ this.btnFiltSelectMoreThan.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFiltSelectMoreThan.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectMoreThan.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFiltSelectMoreThan.TabIndex = 794;
+ this.btnFiltSelectMoreThan.Text = "批量选择";
+ this.btnFiltSelectMoreThan.Click += new System.EventHandler(this.btnFiltSelectMoreThan_Click);
+ //
+ // btnClearFilter
+ //
+ this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control;
+ this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnClearFilter.Location = new System.Drawing.Point(226, 127);
+ this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.btnClearFilter.Name = "btnClearFilter";
+ this.btnClearFilter.Size = new System.Drawing.Size(58, 25);
+ this.btnClearFilter.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClearFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnClearFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnClearFilter.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.btnClearFilter.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClearFilter.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.btnClearFilter.Style.GradientAngle = 90;
+ this.btnClearFilter.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClearFilter.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClearFilter.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClearFilter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClearFilter.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnClearFilter.TabIndex = 548;
+ this.btnClearFilter.Text = "清空条件";
+ this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click);
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(9, 99);
+ this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label3.Name = "label3";
+ this.label3.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.label3.Size = new System.Drawing.Size(56, 17);
+ this.label3.TabIndex = 806;
+ this.label3.Text = "预售状态";
+ this.label3.Visible = false;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(9, 28);
+ this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label2.Name = "label2";
+ this.label2.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.label2.Size = new System.Drawing.Size(56, 17);
+ this.label2.TabIndex = 793;
+ this.label2.Text = "查询页数";
+ //
+ // ucGroupBoxEx4
+ //
+ this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx4.Controls.Add(this.chkFailDownProd);
+ this.ucGroupBoxEx4.Controls.Add(this.btnPromotion);
+ this.ucGroupBoxEx4.Controls.Add(this.panelEx2);
+ this.ucGroupBoxEx4.Location = new System.Drawing.Point(518, 2);
+ this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
+ this.ucGroupBoxEx4.Size = new System.Drawing.Size(904, 165);
+ this.ucGroupBoxEx4.TabIndex = 666;
+ this.ucGroupBoxEx4.TabStop = false;
+ this.ucGroupBoxEx4.Text = "商品同步";
+ //
+ // chkFailDownProd
+ //
+ this.chkFailDownProd.AutoSize = true;
+ this.chkFailDownProd.Location = new System.Drawing.Point(24, 27);
+ this.chkFailDownProd.Name = "chkFailDownProd";
+ this.chkFailDownProd.Size = new System.Drawing.Size(183, 21);
+ this.chkFailDownProd.TabIndex = 821;
+ this.chkFailDownProd.Text = "如果同步操作失败则下架商品";
+ this.chkFailDownProd.UseVisualStyleBackColor = true;
+ //
+ // btnPromotion
+ //
+ this.btnPromotion.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnPromotion.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnPromotion.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnPromotion.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnPromotion.Location = new System.Drawing.Point(23, 61);
+ this.btnPromotion.Name = "btnPromotion";
+ this.btnPromotion.Size = new System.Drawing.Size(108, 25);
+ this.btnPromotion.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnPromotion.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnPromotion.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnPromotion.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnPromotion.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnPromotion.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnPromotion.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnPromotion.Style.GradientAngle = 90;
+ this.btnPromotion.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnPromotion.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnPromotion.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnPromotion.TabIndex = 521;
+ this.btnPromotion.Text = "批量同步商品";
+ this.btnPromotion.Click += new System.EventHandler(this.btnSync_Click);
+ //
+ // panelEx2
+ //
+ this.panelEx2.CanvasColor = System.Drawing.SystemColors.Control;
+ this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty;
+ this.panelEx2.Location = new System.Drawing.Point(135, 61);
+ this.panelEx2.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.panelEx2.Name = "panelEx2";
+ this.panelEx2.Size = new System.Drawing.Size(58, 25);
+ this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.panelEx2.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx2.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.panelEx2.Style.GradientAngle = 90;
+ this.panelEx2.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx2.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.panelEx2.TabIndex = 805;
+ this.panelEx2.Text = "停止操作";
+ this.panelEx2.Click += new System.EventHandler(this.btnStop_Click);
+ //
+ // ucGroupBoxEx1
+ //
+ this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)));
+ this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx1.Controls.Add(this.btnRefreshAuthor);
+ this.ucGroupBoxEx1.Controls.Add(this.btnSelectOffline);
+ this.ucGroupBoxEx1.Controls.Add(this.btnSelectOnline);
+ this.ucGroupBoxEx1.Controls.Add(this.btnAddUnSelect);
+ this.ucGroupBoxEx1.Controls.Add(this.btnReverse);
+ this.ucGroupBoxEx1.Controls.Add(this.cmbFilterShopNotes);
+ this.ucGroupBoxEx1.Controls.Add(this.btnAddSelect);
+ this.ucGroupBoxEx1.Controls.Add(this.btnEmptyShop);
+ this.ucGroupBoxEx1.Controls.Add(this.btnFilterShop);
+ this.ucGroupBoxEx1.Controls.Add(this.label16);
+ this.ucGroupBoxEx1.Controls.Add(this.txtFilterShopName);
+ this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop);
+ this.ucGroupBoxEx1.Controls.Add(this.label17);
+ this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2);
+ this.ucGroupBoxEx1.Name = "ucGroupBoxEx1";
+ this.ucGroupBoxEx1.Size = new System.Drawing.Size(160, 165);
+ this.ucGroupBoxEx1.TabIndex = 399;
+ this.ucGroupBoxEx1.TabStop = false;
+ this.ucGroupBoxEx1.Text = "基础";
+ //
+ // btnRefreshAuthor
+ //
+ this.btnRefreshAuthor.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnRefreshAuthor.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnRefreshAuthor.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnRefreshAuthor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnRefreshAuthor.Location = new System.Drawing.Point(81, 17);
+ this.btnRefreshAuthor.Name = "btnRefreshAuthor";
+ this.btnRefreshAuthor.Size = new System.Drawing.Size(70, 20);
+ this.btnRefreshAuthor.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshAuthor.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshAuthor.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshAuthor.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnRefreshAuthor.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnRefreshAuthor.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnRefreshAuthor.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnRefreshAuthor.Style.GradientAngle = 90;
+ this.btnRefreshAuthor.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshAuthor.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshAuthor.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshAuthor.TabIndex = 800;
+ this.btnRefreshAuthor.Text = "刷新授权";
+ this.btnRefreshAuthor.Click += new System.EventHandler(this.btnRefreshAuthor_Click);
+ //
+ // btnSelectOffline
+ //
+ this.btnSelectOffline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnSelectOffline.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnSelectOffline.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnSelectOffline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSelectOffline.Location = new System.Drawing.Point(61, 137);
+ this.btnSelectOffline.Name = "btnSelectOffline";
+ this.btnSelectOffline.Size = new System.Drawing.Size(50, 20);
+ this.btnSelectOffline.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSelectOffline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSelectOffline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSelectOffline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnSelectOffline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnSelectOffline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnSelectOffline.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnSelectOffline.Style.GradientAngle = 90;
+ this.btnSelectOffline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSelectOffline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSelectOffline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSelectOffline.TabIndex = 772;
+ this.btnSelectOffline.Text = "选掉线";
+ this.btnSelectOffline.Click += new System.EventHandler(this.btnSelectOffline_Click);
+ //
+ // btnSelectOnline
+ //
+ this.btnSelectOnline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnSelectOnline.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnSelectOnline.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnSelectOnline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSelectOnline.Location = new System.Drawing.Point(9, 137);
+ this.btnSelectOnline.Name = "btnSelectOnline";
+ this.btnSelectOnline.Size = new System.Drawing.Size(50, 20);
+ this.btnSelectOnline.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSelectOnline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSelectOnline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSelectOnline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnSelectOnline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnSelectOnline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnSelectOnline.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnSelectOnline.Style.GradientAngle = 90;
+ this.btnSelectOnline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSelectOnline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSelectOnline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSelectOnline.TabIndex = 768;
+ this.btnSelectOnline.Text = "选在线";
+ this.btnSelectOnline.Click += new System.EventHandler(this.btnSelectOnline_Click);
+ //
+ // btnAddUnSelect
+ //
+ this.btnAddUnSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnAddUnSelect.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnAddUnSelect.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnAddUnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnAddUnSelect.Location = new System.Drawing.Point(81, 115);
+ this.btnAddUnSelect.Name = "btnAddUnSelect";
+ this.btnAddUnSelect.Size = new System.Drawing.Size(70, 20);
+ this.btnAddUnSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnAddUnSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnAddUnSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnAddUnSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnAddUnSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnAddUnSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnAddUnSelect.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnAddUnSelect.Style.GradientAngle = 90;
+ this.btnAddUnSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnAddUnSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnAddUnSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnAddUnSelect.TabIndex = 746;
+ this.btnAddUnSelect.Text = "弃选条件";
+ this.btnAddUnSelect.Click += new System.EventHandler(this.btnAddUnSelect_Click);
+ //
+ // btnReverse
+ //
+ this.btnReverse.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnReverse.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnReverse.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnReverse.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnReverse.Location = new System.Drawing.Point(113, 137);
+ this.btnReverse.Name = "btnReverse";
+ this.btnReverse.Size = new System.Drawing.Size(38, 20);
+ this.btnReverse.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnReverse.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnReverse.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnReverse.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnReverse.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnReverse.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnReverse.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnReverse.Style.GradientAngle = 90;
+ this.btnReverse.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnReverse.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnReverse.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnReverse.TabIndex = 726;
+ this.btnReverse.Text = "反选";
+ this.btnReverse.Click += new System.EventHandler(this.btnReverse_Click);
+ //
+ // cmbFilterShopNotes
+ //
+ this.cmbFilterShopNotes.DefaultText = "全部";
+ this.cmbFilterShopNotes.DropDownHeight = 1;
+ this.cmbFilterShopNotes.DropDownWidth = 1;
+ this.cmbFilterShopNotes.FormattingEnabled = true;
+ this.cmbFilterShopNotes.IntegralHeight = false;
+ this.cmbFilterShopNotes.Location = new System.Drawing.Point(38, 66);
+ this.cmbFilterShopNotes.Name = "cmbFilterShopNotes";
+ this.cmbFilterShopNotes.Size = new System.Drawing.Size(113, 25);
+ this.cmbFilterShopNotes.TabIndex = 442;
+ this.cmbFilterShopNotes.Text = "全部";
+ //
+ // btnAddSelect
+ //
+ this.btnAddSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnAddSelect.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnAddSelect.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnAddSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnAddSelect.Location = new System.Drawing.Point(9, 115);
+ this.btnAddSelect.Name = "btnAddSelect";
+ this.btnAddSelect.Size = new System.Drawing.Size(70, 20);
+ this.btnAddSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnAddSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnAddSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnAddSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnAddSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnAddSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnAddSelect.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnAddSelect.Style.GradientAngle = 90;
+ this.btnAddSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnAddSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnAddSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnAddSelect.TabIndex = 742;
+ this.btnAddSelect.Text = "选中条件";
+ this.btnAddSelect.Click += new System.EventHandler(this.btnAddSelect_Click);
+ //
+ // btnEmptyShop
+ //
+ this.btnEmptyShop.CanvasColor = System.Drawing.SystemColors.Control;
+ this.btnEmptyShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnEmptyShop.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnEmptyShop.Location = new System.Drawing.Point(113, 93);
+ this.btnEmptyShop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.btnEmptyShop.Name = "btnEmptyShop";
+ this.btnEmptyShop.Size = new System.Drawing.Size(38, 20);
+ this.btnEmptyShop.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnEmptyShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnEmptyShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnEmptyShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.btnEmptyShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnEmptyShop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.btnEmptyShop.Style.GradientAngle = 90;
+ this.btnEmptyShop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnEmptyShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnEmptyShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnEmptyShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnEmptyShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnEmptyShop.TabIndex = 713;
+ this.btnEmptyShop.Text = "清空";
+ this.btnEmptyShop.Click += new System.EventHandler(this.btnEmptyShop_Click);
+ //
+ // btnFilterShop
+ //
+ this.btnFilterShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnFilterShop.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnFilterShop.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnFilterShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnFilterShop.Location = new System.Drawing.Point(9, 93);
+ this.btnFilterShop.Name = "btnFilterShop";
+ this.btnFilterShop.Size = new System.Drawing.Size(102, 20);
+ this.btnFilterShop.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFilterShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFilterShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnFilterShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnFilterShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnFilterShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnFilterShop.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnFilterShop.Style.GradientAngle = 90;
+ this.btnFilterShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnFilterShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFilterShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnFilterShop.TabIndex = 703;
+ this.btnFilterShop.Text = "过滤店铺";
+ this.btnFilterShop.Click += new System.EventHandler(this.btnFilterShop_Click);
+ //
+ // label16
+ //
+ this.label16.AutoSize = true;
+ this.label16.Location = new System.Drawing.Point(7, 70);
+ this.label16.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label16.Name = "label16";
+ this.label16.Size = new System.Drawing.Size(32, 17);
+ this.label16.TabIndex = 697;
+ this.label16.Text = "备注";
+ //
+ // txtFilterShopName
+ //
+ this.txtFilterShopName.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.txtFilterShopName.Location = new System.Drawing.Point(38, 39);
+ this.txtFilterShopName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
+ this.txtFilterShopName.Name = "txtFilterShopName";
+ this.txtFilterShopName.Size = new System.Drawing.Size(113, 25);
+ this.txtFilterShopName.TabIndex = 653;
+ //
+ // btnRefreshShop
+ //
+ this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnRefreshShop.Location = new System.Drawing.Point(9, 17);
+ this.btnRefreshShop.Name = "btnRefreshShop";
+ this.btnRefreshShop.Size = new System.Drawing.Size(70, 20);
+ this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnRefreshShop.Style.GradientAngle = 90;
+ this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.TabIndex = 431;
+ this.btnRefreshShop.Text = "刷新店铺";
+ this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshShop_Click);
+ //
+ // label17
+ //
+ this.label17.AutoSize = true;
+ this.label17.Location = new System.Drawing.Point(7, 43);
+ this.label17.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label17.Name = "label17";
+ this.label17.Size = new System.Drawing.Size(32, 17);
+ this.label17.TabIndex = 699;
+ this.label17.Text = "名称";
+ //
+ // splitContainer3
+ //
+ this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer3.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer3.Name = "splitContainer3";
+ this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer3.Panel1
+ //
+ this.splitContainer3.Panel1.Controls.Add(this.splitContainer2);
+ //
+ // splitContainer3.Panel2
+ //
+ this.splitContainer3.Panel2.Controls.Add(this.splitContainer4);
+ this.splitContainer3.Size = new System.Drawing.Size(1424, 472);
+ this.splitContainer3.SplitterDistance = 442;
+ this.splitContainer3.TabIndex = 1;
+ //
+ // splitContainer2
+ //
+ this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer2.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer2.Name = "splitContainer2";
+ //
+ // splitContainer2.Panel1
+ //
+ this.splitContainer2.Panel1.Controls.Add(this.pbLoadingShop);
+ this.splitContainer2.Panel1.Controls.Add(this.txtPageBegin);
+ this.splitContainer2.Panel1.Controls.Add(this.label1);
+ this.splitContainer2.Panel1.Controls.Add(this.dgvShop);
+ this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0);
+ //
+ // splitContainer2.Panel2
+ //
+ this.splitContainer2.Panel2.Controls.Add(this.pbLoading);
+ this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload);
+ this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct);
+ this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0);
+ this.splitContainer2.Size = new System.Drawing.Size(1424, 442);
+ this.splitContainer2.SplitterDistance = 350;
+ this.splitContainer2.TabIndex = 0;
+ //
+ // pbLoadingShop
+ //
+ this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbLoadingShop.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbLoadingShop.Location = new System.Drawing.Point(150, 196);
+ this.pbLoadingShop.Name = "pbLoadingShop";
+ this.pbLoadingShop.Size = new System.Drawing.Size(50, 50);
+ this.pbLoadingShop.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoadingShop.TabIndex = 189;
+ this.pbLoadingShop.TabStop = false;
+ this.pbLoadingShop.Visible = false;
+ //
+ // txtPageBegin
+ //
+ this.txtPageBegin.Font = new System.Drawing.Font("微软雅黑", 10F);
+ this.txtPageBegin.Location = new System.Drawing.Point(51, 35);
+ this.txtPageBegin.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
+ this.txtPageBegin.Name = "txtPageBegin";
+ this.txtPageBegin.Size = new System.Drawing.Size(140, 25);
+ this.txtPageBegin.TabIndex = 795;
+ this.txtPageBegin.Text = "1";
+ this.txtPageBegin.Visible = false;
+ this.txtPageBegin.TextChanged += new System.EventHandler(this.txtPageBegin_TextChanged);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(8, 39);
+ this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label1.Name = "label1";
+ this.label1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
+ this.label1.Size = new System.Drawing.Size(44, 17);
+ this.label1.TabIndex = 794;
+ this.label1.Text = "开始页";
+ this.label1.Visible = false;
+ //
+ // dgvShop
+ //
+ this.dgvShop.AllowUserToAddRows = false;
+ this.dgvShop.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ this.dgvShop.AutoRowNumber = true;
+ this.dgvShop.BackgroundColor = System.Drawing.Color.White;
+ this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colSelect,
+ this.colShopLoginName,
+ this.colShopId,
+ this.colShopName,
+ this.colShopNotes,
+ this.colSelectProduct,
+ this.colLoginStatus,
+ this.colApi,
+ this.colCanUse,
+ this.colUploadCount,
+ this.colOnSaleNum,
+ this.colRemaining,
+ this.colMessage});
+ this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvShop.Location = new System.Drawing.Point(4, 0);
+ this.dgvShop.Name = "dgvShop";
+ this.dgvShop.ReadOnly = true;
+ this.dgvShop.RowHeadersWidth = 25;
+ this.dgvShop.RowTemplate.Height = 23;
+ this.dgvShop.Size = new System.Drawing.Size(346, 442);
+ this.dgvShop.TabIndex = 6;
+ this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
+ //
+ // colSelect
+ //
+ this.colSelect.HeaderText = "全选";
+ this.colSelect.Name = "colSelect";
+ this.colSelect.ReadOnly = true;
+ this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSelect.Width = 28;
+ //
+ // colShopLoginName
+ //
+ this.colShopLoginName.HeaderText = "店铺登录名";
+ this.colShopLoginName.Name = "colShopLoginName";
+ this.colShopLoginName.ReadOnly = true;
+ this.colShopLoginName.Visible = false;
+ //
+ // colShopId
+ //
+ this.colShopId.HeaderText = "店铺Id";
+ this.colShopId.Name = "colShopId";
+ this.colShopId.ReadOnly = true;
+ this.colShopId.Visible = false;
+ this.colShopId.Width = 55;
+ //
+ // colShopName
+ //
+ this.colShopName.FillWeight = 150F;
+ this.colShopName.HeaderText = "店铺名称";
+ this.colShopName.Name = "colShopName";
+ this.colShopName.ReadOnly = true;
+ this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colShopName.Width = 75;
+ //
+ // colShopNotes
+ //
+ this.colShopNotes.HeaderText = "备注";
+ this.colShopNotes.Name = "colShopNotes";
+ this.colShopNotes.ReadOnly = true;
+ this.colShopNotes.Width = 75;
+ //
+ // colSelectProduct
+ //
+ this.colSelectProduct.HeaderText = "选择商品";
+ this.colSelectProduct.Name = "colSelectProduct";
+ this.colSelectProduct.ReadOnly = true;
+ this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSelectProduct.Visible = false;
+ this.colSelectProduct.Width = 62;
+ //
+ // colLoginStatus
+ //
+ this.colLoginStatus.HeaderText = "状态";
+ this.colLoginStatus.Name = "colLoginStatus";
+ this.colLoginStatus.ReadOnly = true;
+ this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colLoginStatus.Width = 38;
+ //
+ // colApi
+ //
+ this.colApi.HeaderText = "Api";
+ this.colApi.Name = "colApi";
+ this.colApi.ReadOnly = true;
+ this.colApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colApi.Visible = false;
+ this.colApi.Width = 38;
+ //
+ // colCanUse
+ //
+ this.colCanUse.HeaderText = "可用";
+ this.colCanUse.Name = "colCanUse";
+ this.colCanUse.ReadOnly = true;
+ this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colCanUse.Visible = false;
+ this.colCanUse.Width = 28;
+ //
+ // colUploadCount
+ //
+ this.colUploadCount.HeaderText = "已传";
+ this.colUploadCount.Name = "colUploadCount";
+ this.colUploadCount.ReadOnly = true;
+ this.colUploadCount.Visible = false;
+ this.colUploadCount.Width = 38;
+ //
+ // colOnSaleNum
+ //
+ this.colOnSaleNum.HeaderText = "在售";
+ this.colOnSaleNum.Name = "colOnSaleNum";
+ this.colOnSaleNum.ReadOnly = true;
+ this.colOnSaleNum.Visible = false;
+ this.colOnSaleNum.Width = 38;
+ //
+ // colRemaining
+ //
+ this.colRemaining.HeaderText = "月限额";
+ this.colRemaining.Name = "colRemaining";
+ this.colRemaining.ReadOnly = true;
+ this.colRemaining.Visible = false;
+ //
+ // colMessage
+ //
+ this.colMessage.HeaderText = "消息";
+ this.colMessage.Name = "colMessage";
+ this.colMessage.ReadOnly = true;
+ //
+ // pbLoading
+ //
+ this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbLoading.Location = new System.Drawing.Point(510, 196);
+ this.pbLoading.Name = "pbLoading";
+ this.pbLoading.Size = new System.Drawing.Size(50, 50);
+ this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoading.TabIndex = 780;
+ this.pbLoading.TabStop = false;
+ this.pbLoading.Visible = false;
+ //
+ // chkTestNoAuditUpload
+ //
+ this.chkTestNoAuditUpload.AutoSize = true;
+ this.chkTestNoAuditUpload.Location = new System.Drawing.Point(1094, 35);
+ this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload";
+ this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21);
+ this.chkTestNoAuditUpload.TabIndex = 779;
+ this.chkTestNoAuditUpload.Text = "测试免审提交商品";
+ this.chkTestNoAuditUpload.UseVisualStyleBackColor = true;
+ this.chkTestNoAuditUpload.Visible = false;
+ //
+ // dgvSelectProduct
+ //
+ this.dgvSelectProduct.AllowUserToAddRows = false;
+ this.dgvSelectProduct.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
+ this.dgvSelectProduct.AutoRowNumber = true;
+ this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
+ this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
+ this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colCheck,
+ this.colSelectId,
+ this.colSupplierId,
+ this.colSupplierName,
+ this.colLogin,
+ this.colInShop,
+ this.colSpuId,
+ this.colSkcId,
+ this.colDraftId,
+ this.colImgUrl,
+ this.colProductSkcPic,
+ this.colSkuFakeImgUrl,
+ this.colSkuFakeImg,
+ this.colProductName,
+ this.colProductCat,
+ this.colExtCode,
+ this.colPrice,
+ this.colSoldNum,
+ this.colMsg,
+ this.colNotes,
+ this.colUserNotes,
+ this.ColDelete,
+ this.colAddTime,
+ this.colCouponNum,
+ this.colOpResult});
+ this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0);
+ this.dgvSelectProduct.Name = "dgvSelectProduct";
+ this.dgvSelectProduct.ReadOnly = true;
+ this.dgvSelectProduct.RowTemplate.Height = 23;
+ this.dgvSelectProduct.Size = new System.Drawing.Size(1066, 442);
+ this.dgvSelectProduct.TabIndex = 187;
+ this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
+ //
+ // colCheck
+ //
+ this.colCheck.Frozen = true;
+ this.colCheck.HeaderText = "选择";
+ this.colCheck.Name = "colCheck";
+ this.colCheck.ReadOnly = true;
+ this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colCheck.Width = 30;
+ //
+ // colSelectId
+ //
+ this.colSelectId.HeaderText = "认领Id";
+ this.colSelectId.Name = "colSelectId";
+ this.colSelectId.ReadOnly = true;
+ this.colSelectId.Visible = false;
+ //
+ // colSupplierId
+ //
+ this.colSupplierId.Frozen = true;
+ this.colSupplierId.HeaderText = "店铺Id";
+ this.colSupplierId.Name = "colSupplierId";
+ this.colSupplierId.ReadOnly = true;
+ //
+ // colSupplierName
+ //
+ dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
+ this.colSupplierName.Frozen = true;
+ this.colSupplierName.HeaderText = "店铺名称";
+ this.colSupplierName.Name = "colSupplierName";
+ this.colSupplierName.ReadOnly = true;
+ //
+ // colLogin
+ //
+ this.colLogin.HeaderText = "登录";
+ this.colLogin.Name = "colLogin";
+ this.colLogin.ReadOnly = true;
+ this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colLogin.Width = 40;
+ //
+ // colInShop
+ //
+ this.colInShop.HeaderText = "进店";
+ this.colInShop.Name = "colInShop";
+ this.colInShop.ReadOnly = true;
+ this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colInShop.Width = 40;
+ //
+ // colSpuId
+ //
+ this.colSpuId.HeaderText = "源商品ID";
+ this.colSpuId.Name = "colSpuId";
+ this.colSpuId.ReadOnly = true;
+ this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSpuId.Visible = false;
+ //
+ // colSkcId
+ //
+ this.colSkcId.FillWeight = 150F;
+ this.colSkcId.HeaderText = "商品SKC";
+ this.colSkcId.Name = "colSkcId";
+ this.colSkcId.ReadOnly = true;
+ this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSkcId.Visible = false;
+ this.colSkcId.Width = 80;
+ //
+ // colDraftId
+ //
+ this.colDraftId.HeaderText = "商品Id";
+ this.colDraftId.Name = "colDraftId";
+ this.colDraftId.ReadOnly = true;
+ this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
+ this.colDraftId.Width = 120;
+ //
+ // colImgUrl
+ //
+ this.colImgUrl.HeaderText = "图片地址";
+ this.colImgUrl.Name = "colImgUrl";
+ this.colImgUrl.ReadOnly = true;
+ this.colImgUrl.Visible = false;
+ //
+ // colProductSkcPic
+ //
+ this.colProductSkcPic.HeaderText = "图片";
+ this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.colProductSkcPic.Name = "colProductSkcPic";
+ this.colProductSkcPic.ReadOnly = true;
+ this.colProductSkcPic.Width = 60;
+ //
+ // colSkuFakeImgUrl
+ //
+ this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址";
+ this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl";
+ this.colSkuFakeImgUrl.ReadOnly = true;
+ this.colSkuFakeImgUrl.Visible = false;
+ //
+ // colSkuFakeImg
+ //
+ this.colSkuFakeImg.HeaderText = "SKU替换图";
+ this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.colSkuFakeImg.Name = "colSkuFakeImg";
+ this.colSkuFakeImg.ReadOnly = true;
+ this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colSkuFakeImg.Visible = false;
+ this.colSkuFakeImg.Width = 60;
+ //
+ // colProductName
+ //
+ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
+ this.colProductName.HeaderText = "商品标题";
+ this.colProductName.Name = "colProductName";
+ this.colProductName.ReadOnly = true;
+ this.colProductName.Width = 150;
+ //
+ // colProductCat
+ //
+ dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
+ this.colProductCat.HeaderText = "商品类目";
+ this.colProductCat.Name = "colProductCat";
+ this.colProductCat.ReadOnly = true;
+ this.colProductCat.Width = 90;
+ //
+ // colExtCode
+ //
+ this.colExtCode.HeaderText = "商品货号";
+ this.colExtCode.Name = "colExtCode";
+ this.colExtCode.ReadOnly = true;
+ this.colExtCode.Width = 145;
+ //
+ // colPrice
+ //
+ this.colPrice.HeaderText = "价格";
+ this.colPrice.Name = "colPrice";
+ this.colPrice.ReadOnly = true;
+ this.colPrice.Width = 60;
+ //
+ // colSoldNum
+ //
+ this.colSoldNum.HeaderText = "销量";
+ this.colSoldNum.Name = "colSoldNum";
+ this.colSoldNum.ReadOnly = true;
+ this.colSoldNum.Width = 60;
+ //
+ // colMsg
+ //
+ this.colMsg.HeaderText = "状态";
+ this.colMsg.Name = "colMsg";
+ this.colMsg.ReadOnly = true;
+ //
+ // colNotes
+ //
+ this.colNotes.HeaderText = "上传备注";
+ this.colNotes.Name = "colNotes";
+ this.colNotes.ReadOnly = true;
+ this.colNotes.Visible = false;
+ //
+ // colUserNotes
+ //
+ this.colUserNotes.HeaderText = "重上/已买";
+ this.colUserNotes.Name = "colUserNotes";
+ this.colUserNotes.ReadOnly = true;
+ this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colUserNotes.Visible = false;
+ this.colUserNotes.Width = 75;
+ //
+ // ColDelete
+ //
+ this.ColDelete.HeaderText = "删除";
+ this.ColDelete.Name = "ColDelete";
+ this.ColDelete.ReadOnly = true;
+ this.ColDelete.Visible = false;
+ this.ColDelete.Width = 75;
+ //
+ // colAddTime
+ //
+ dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8;
+ this.colAddTime.HeaderText = "上架时间";
+ this.colAddTime.Name = "colAddTime";
+ this.colAddTime.ReadOnly = true;
+ this.colAddTime.Width = 80;
+ //
+ // colCouponNum
+ //
+ this.colCouponNum.HeaderText = "生效券数量";
+ this.colCouponNum.Name = "colCouponNum";
+ this.colCouponNum.ReadOnly = true;
+ this.colCouponNum.Visible = false;
+ this.colCouponNum.Width = 90;
+ //
+ // colOpResult
+ //
+ this.colOpResult.HeaderText = "操作结果";
+ this.colOpResult.Name = "colOpResult";
+ this.colOpResult.ReadOnly = true;
+ this.colOpResult.Width = 260;
+ //
+ // splitContainer4
+ //
+ this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer4.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer4.Name = "splitContainer4";
+ //
+ // splitContainer4.Panel1
+ //
+ this.splitContainer4.Panel1.Controls.Add(this.statusBar);
+ //
+ // splitContainer4.Panel2
+ //
+ this.splitContainer4.Panel2.Controls.Add(this.btnClear);
+ this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
+ this.splitContainer4.Size = new System.Drawing.Size(1424, 26);
+ this.splitContainer4.SplitterDistance = 733;
+ this.splitContainer4.TabIndex = 3;
+ //
+ // statusBar
+ //
+ this.statusBar.BackColor = System.Drawing.Color.White;
+ this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.statusBar.Location = new System.Drawing.Point(0, 0);
+ this.statusBar.Margin = new System.Windows.Forms.Padding(0);
+ this.statusBar.Name = "statusBar";
+ this.statusBar.Size = new System.Drawing.Size(733, 26);
+ this.statusBar.TabIndex = 2;
+ //
+ // btnClear
+ //
+ this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
+ this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnClear.Location = new System.Drawing.Point(475, 2);
+ this.btnClear.Name = "btnClear";
+ this.btnClear.Size = new System.Drawing.Size(90, 21);
+ this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnClear.Style.GradientAngle = 90;
+ this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnClear.TabIndex = 440;
+ this.btnClear.Text = "清空结果";
+ this.btnClear.Visible = false;
+ //
+ // panelEx1
+ //
+ this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
+ this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
+ this.panelEx1.Location = new System.Drawing.Point(568, 2);
+ this.panelEx1.Name = "panelEx1";
+ this.panelEx1.Size = new System.Drawing.Size(115, 21);
+ this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.panelEx1.Style.GradientAngle = 90;
+ this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.panelEx1.TabIndex = 668;
+ this.panelEx1.Text = "停止当前操作";
+ this.panelEx1.Visible = false;
+ //
+ // WXProdSyncForm
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.BackColor = System.Drawing.Color.White;
+ this.ClientSize = new System.Drawing.Size(1424, 641);
+ this.Controls.Add(this.splitContainer1);
+ this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.Name = "WXProdSyncForm";
+ this.Text = "爆单神器";
+ this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load);
+ this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged);
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ this.ucGroupBoxEx3.ResumeLayout(false);
+ this.ucGroupBoxEx3.PerformLayout();
+ this.ucGroupBoxEx4.ResumeLayout(false);
+ this.ucGroupBoxEx4.PerformLayout();
+ this.ucGroupBoxEx1.ResumeLayout(false);
+ this.ucGroupBoxEx1.PerformLayout();
+ this.splitContainer3.Panel1.ResumeLayout(false);
+ this.splitContainer3.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
+ this.splitContainer3.ResumeLayout(false);
+ this.splitContainer2.Panel1.ResumeLayout(false);
+ this.splitContainer2.Panel1.PerformLayout();
+ this.splitContainer2.Panel2.ResumeLayout(false);
+ this.splitContainer2.Panel2.PerformLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
+ this.splitContainer2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit();
+ this.splitContainer4.Panel1.ResumeLayout(false);
+ this.splitContainer4.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit();
+ this.splitContainer4.ResumeLayout(false);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private UserComponent.UcGroupBoxEx ucGroupBoxEx1;
+ private DevComponents.DotNetBar.PanelEx btnRefreshShop;
+ private System.Windows.Forms.SplitContainer splitContainer3;
+ private System.Windows.Forms.SplitContainer splitContainer2;
+ private UserComponent.DataGridViewEx dgvShop;
+ private UserComponent.DataGridViewEx dgvSelectProduct;
+ private System.Windows.Forms.SplitContainer splitContainer4;
+ private UserControls.StatusBarUserControl statusBar;
+ private DevComponents.DotNetBar.PanelEx btnSearchProd;
+ private DevComponents.DotNetBar.PanelEx btnClearFilter;
+ private DevComponents.DotNetBar.PanelEx btnClearDgv;
+ private DevComponents.DotNetBar.PanelEx btnClear;
+ private DevComponents.DotNetBar.PanelEx panelEx1;
+ private UserComponent.UcCheckBox chkTestNoAuditUpload;
+ private System.Windows.Forms.PictureBox pbLoadingShop;
+ private System.Windows.Forms.PictureBox pbLoading;
+ private System.Windows.Forms.TextBox txtFilterShopName;
+ private DevComponents.DotNetBar.PanelEx btnFilterShop;
+ private System.Windows.Forms.Label label17;
+ private System.Windows.Forms.Label label16;
+ private DevComponents.DotNetBar.PanelEx btnEmptyShop;
+ private UserComponent.UcComboBoxMutiSelect cmbFilterShopNotes;
+ private DevComponents.DotNetBar.PanelEx btnReverse;
+ private DevComponents.DotNetBar.PanelEx btnAddUnSelect;
+ private DevComponents.DotNetBar.PanelEx btnAddSelect;
+ private DevComponents.DotNetBar.PanelEx btnSelectOffline;
+ private DevComponents.DotNetBar.PanelEx btnSelectOnline;
+ private DevComponents.DotNetBar.PanelEx btnRefreshAuthor;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
+ private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct;
+ private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus;
+ private System.Windows.Forms.DataGridViewLinkColumn colApi;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colUploadCount;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
+ private System.Windows.Forms.TextBox txtPageBegin;
+ private System.Windows.Forms.TextBox txtPageEnd;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.ComboBox cmbPreType;
+ private UserComponent.UcGroupBoxEx ucGroupBoxEx3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox txtFiltSaleNumMoreThan;
+ private DevComponents.DotNetBar.PanelEx btnFiltSelectMoreThan;
+ private DevComponents.DotNetBar.PanelEx panelEx6;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox txtFiltSaleNumLessThan;
+ private DevComponents.DotNetBar.PanelEx btnFiltSelectLessThan;
+ private System.Windows.Forms.ComboBox cmbSaleSort;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
+ private System.Windows.Forms.DataGridViewLinkColumn colLogin;
+ private System.Windows.Forms.DataGridViewLinkColumn colInShop;
+ private System.Windows.Forms.DataGridViewLinkColumn colSpuId;
+ private System.Windows.Forms.DataGridViewLinkColumn colSkcId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
+ private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSkuFakeImgUrl;
+ private System.Windows.Forms.DataGridViewImageColumn colSkuFakeImg;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colProductName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
+ private System.Windows.Forms.DataGridViewLinkColumn colUserNotes;
+ private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colCouponNum;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
+ private UserComponent.UcGroupBoxEx ucGroupBoxEx4;
+ private DevComponents.DotNetBar.PanelEx btnPromotion;
+ private DevComponents.DotNetBar.PanelEx panelEx2;
+ private UserComponent.UcCheckBox chkFailDownProd;
+ }
+}
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs
new file mode 100644
index 0000000..d1d979c
--- /dev/null
+++ b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.cs
@@ -0,0 +1,1286 @@
+using AllBase;
+using AllBase.Helper;
+using AllBase.Model.Result;
+using NaiBa.Util.Extension;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.IO;
+using System.Linq;
+using System.Net.Http;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using TemuKJD.Extension;
+using TemuKJD.BaseForms;
+using TemuKJD.ToolForms;
+using Work;
+using TemuKJD.BLL;
+using System.Text.RegularExpressions;
+using TemuKJD.PDDForms.ProductSelectForms;
+using TemuKJD.WXForms.ShopForms;
+using AllBase.Model.Result.PDDResult;
+using AllBase.Model.Param.WXParam;
+using AllBase.Model.Result.WXResult;
+using Newtonsoft.Json;
+using NaiBa.Util;
+using AllBase.Model.Config;
+
+namespace TemuKJD.WXForms.ProductForms
+{
+ public partial class WXProdSyncForm : BaseForm
+ {
+ int PageBegin = 1;
+ int PageEnd = 999;
+ string PreType = "";
+ public CancellationTokenSource cancellationTokenSource { get; set; } = null;
+ public bool IsLoadComplate { get; set; } = false;
+
+ bool isInit = false;
+ CheckBox chkSelectAll = null;
+ ConcurrentList lstShopAuthInfo = new ConcurrentList();
+ ConcurrentList lstWXShopTokenInfo = new ConcurrentList();
+ public NaiBa.Util.ConcurrentList lstTemuDBProductSelect = new NaiBa.Util.ConcurrentList();
+ NaiBa.Util.ConcurrentList lstAddPriceRule = new NaiBa.Util.ConcurrentList();
+ //public Dictionary> dicCheckedShopIdList = new Dictionary>();
+ public Dictionary dicCheckedShopId = new Dictionary();
+ public Dictionary dicShopUpload = new Dictionary();
+ public string pdd_product_cates = "";
+ public WXProdSyncForm()
+ {
+ InitializeComponent();
+ }
+
+ private void UserSelectDbProductForm_Load(object sender, EventArgs e)
+ {
+ this.splitContainer1.Dock = DockStyle.Fill;
+
+ lstShopAuthInfo = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_auth_list");
+ if (lstShopAuthInfo == null)
+ lstShopAuthInfo = new ConcurrentList();
+
+ lstWXShopTokenInfo = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_token_list");
+ if (lstWXShopTokenInfo == null)
+ lstWXShopTokenInfo = new ConcurrentList();
+
+ lstTemuDBProductSelect = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_db_prod_upload_list");
+ if (lstTemuDBProductSelect == null)
+ lstTemuDBProductSelect = new NaiBa.Util.ConcurrentList();
+
+ lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_add_price_rules");
+ if (lstAddPriceRule == null)
+ {
+ lstAddPriceRule = new NaiBa.Util.ConcurrentList();
+ lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
+ lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
+ lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 20, LessThanPrice = 999, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
+ }
+
+ dicCheckedShopId = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_checked_shop_dic");
+ if (dicCheckedShopId == null)
+ dicCheckedShopId = new Dictionary();
+ dicShopUpload = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_upload_info");
+ if (dicShopUpload == null)
+ dicShopUpload = new Dictionary();
+
+
+
+ chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false);
+ dgvShop.Columns["colSelect"].HeaderText = "";
+ //chkSelectAll.Width = chkSelectAll.Height = 13;
+ chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
+ //chkSelectAll.Checked = true;
+
+ this.dgvSelectProduct.AddSelectorColumn("colCheck");
+
+ dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl");
+ dgvSelectProduct.AddImgColumn("colSkuFakeImg", "colSkuFakeImgUrl");
+
+ dgvSelectProduct.Columns["colSkuFakeImg"].Visible = false;
+
+//#if DEBUG
+ if (BaseClass.SaLevel == 1)
+ {
+ //txtIdFilter.Visible = true;
+ //txtExtCodeFilter.Visible = true;
+ //lblIdFilter.Visible = true;
+ //lblExtCodeFilter.Visible = true;
+ }
+//#endif
+ IsLoadComplate = true;
+ }
+
+ private void btnRefreshAuthor_Click(object sender, EventArgs e)
+ {
+ updateAuthor(true);
+ }
+
+ ///
+ /// 升级授权
+ ///
+ /// 今日取过的也取
+ private void updateAuthor(bool idRefreshTodayHasGet = false)
+ {
+ this.pbLoadingShop.Visible = true;
+ Task.Run(() =>
+ {
+ // 店铺Id
+ var updateIds = dgvShop.Rows.Cast().Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
+ var selectIds = dgvShop.Rows.Cast().Where(row
+ => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
+ if (idRefreshTodayHasGet == true)
+ updateIds = selectIds;
+
+ List tList = new List();
+ if (idRefreshTodayHasGet)
+ lstShopAuthInfo.RemoveAll(s => updateIds.Contains(s.ShopId));
+ foreach (var shop in GlobalConfig.ShopLoginList.Where(s => updateIds.Contains(s.ShopId)))
+ {
+ Invoke(new Action(() => { BindShop(shop, selectIds, ""); }));
+ var t = Task.Run(() =>
+ {
+ try
+ {
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); }));
+ return;
+ }
+
+ var authInfo = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shop.ShopId);
+ if (idRefreshTodayHasGet || authInfo == null || authInfo?.AddTime.Date != DateTime.Now.Date)
+ {
+ lstShopAuthInfo.RemoveAll(sa => sa.ShopId == shop.ShopId);
+ var rst = WXUpload.GetApiServiceList(shop);
+ if (!rst.Contains("\"code\":0"))
+ {
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); }));
+ return;
+ }
+
+ lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = DateTime.Now });
+ Invoke(new Action(() => { BindShop(shop, selectIds, "授权查询失败"); }));
+ return;
+ }
+
+ foreach (var itemObj in JsonHelper.JObjectParse(rst)["itemList"])
+ {
+ // 找到了指定服务
+ if (itemObj["serviceName"].ParseToString() == "店统领供应链-商品管理")
+ {
+ var expiresTick = itemObj["expireTime"].ParseToLong();
+ lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = BaseClass.StampToDateTime(expiresTick.ParseToInt()) });
+ Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); }));
+ return;
+ }
+ }
+ // 没找到指定服务
+ lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = DateTime.Now });
+ Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); }));
+ }
+ }
+ catch (Exception ex)
+ {
+ }
+ });
+ tList.Add(t);
+ while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 20) { Thread.Sleep(100); }
+ }
+ while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); }
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig( "wx_shop_auth_list", lstShopAuthInfo);
+ Invoke(new Action(() => { pbLoadingShop.Visible = false; }));
+ });
+ }
+
+ private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
+ {
+ if (!chkSelectAll.Checked)
+ {
+ foreach (DataGridViewRow row in dgvShop.Rows)
+ {
+ row.Cells["colSelect"].Value = false;
+ }
+ }
+ else
+ {
+ //var list = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId);
+ foreach (DataGridViewRow row in dgvShop.Rows)
+ {
+ //if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
+ if(row.Visible == true)
+ row.Cells["colSelect"].Value = true;
+ }
+ }
+
+ foreach (var r in dgvShop.Rows.Cast())
+ {
+ dicCheckedShopId[r.Cells["colShopId"].Value.ParseToString()] = r.Cells["colSelect"].Value.ParseToBool();
+ }
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId);
+ }
+
+ private void btnRefreshShop_Click(object sender, EventArgs e)
+ {
+ pbLoadingShop.Visible = true;
+ RefreshShopLogin();
+ }
+
+ private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e)
+ {
+ if (Visible == true)
+ {
+ RefreshShopLogin();
+ updateAuthor();
+
+ if (!isInit)
+ {
+ Task.Run(() =>
+ {
+ foreach (var shop in GlobalConfig.ShopLoginList)
+ {
+ //if (shop.LoginStatus == "登录成功")
+ //{
+ // var rst = WXUpload.scanProductPreview(shop);
+ // if (!rst.Contains("\"code\":0") && !rst.Contains("\"success\":true"))
+ // {
+ // WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false);
+ // }
+ //}
+ }
+
+ });
+ }
+
+ isInit = true;
+ }
+ }
+
+ private void RefreshShopLogin()
+ {
+ // 店铺Id
+ var selectIds = dgvShop.Rows.Cast().Where(row
+ => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
+ // 获取被删除的店铺
+ List dgvRowList = dgvShop.Rows.Cast().Where(row
+ => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList();
+ // 更新被删除的店铺列表
+ foreach (var row in dgvRowList)
+ {
+ dgvShop.Rows.Remove(row);
+ }
+ // 绑定其他店铺(含新导入的店铺)
+ foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList)
+ {
+ if (!string.IsNullOrEmpty(shopEntity.ShopId))
+ BindShop(shopEntity, selectIds);
+ }
+ cmbFilterShopNotes.Items.Clear();
+ //cmbFilterShopNotes.Items.Add("");
+ foreach (var note in GlobalConfig.ShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct())
+ {
+ cmbFilterShopNotes.Items.Add(note);
+ }
+ }
+
+ private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null, string msg = "")
+ {
+ if (shopEntity == null)
+ return;
+ if (selectShopId == null)
+ selectShopId = new List();
+
+ bool canUse = shopEntity.LoginStatus == "登录成功";
+ //canUse = true; // 内部库不需要校验登录状态
+ var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId);
+ var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt();
+ if (row == null)
+ {
+ this.dgvShop.Rows.Add(
+ //!isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse),
+ dicCheckedShopId.Keys.Contains(shopEntity.ShopId) && dicCheckedShopId[shopEntity.ShopId] == true,
+ shopEntity.LoginName,
+ shopEntity.ShopId,
+ shopEntity.ShopAccount,
+ shopEntity.Notes,
+ "选择商品",
+ canUse ? "在线" : "掉线",
+ lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期",
+ canUse,
+ dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
+ dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0,
+ dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ?
+ dicShopUpload[shopEntity.ShopId].OnSaleCount : 0,
+ shopEntity.AddProductRemaining,
+ "",
+ msg
+ );
+ }
+ else
+ {
+ row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse);
+ row.Cells["colShopLoginName"].Value = shopEntity.LoginName;
+ row.Cells["colShopName"].Value = shopEntity.ShopAccount;
+ row.Cells["colShopNotes"].Value = shopEntity.Notes;
+ row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
+ row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
+ row.Cells["colCanUse"].Value = canUse;
+ row.Cells["colApi"].Value = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期";
+ row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining;
+ row.Cells["colUploadCount"].Value = dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
+ dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0;
+ row.Cells["colOnSaleNum"].Value = dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ?
+ dicShopUpload[shopEntity.ShopId].OnSaleCount : 0;
+ row.Cells["colMessage"].Value = msg;
+ }
+
+ displayAuthStatus(shopEntity);
+ }
+
+ void displayAuthStatus(ShopLoginInfo shop)
+ {
+ var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId);
+ foreach (var row in rows)
+ {
+ bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线";
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
+ canUse = row.Cells["colApi"].Value.ParseToString() == "可用";
+ (row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red;
+ (row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red;
+ (row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed;
+ (row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed;
+ }
+ }
+
+ private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.ColumnIndex < 0 || e.RowIndex < 0)
+ return;
+ string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
+ string columnName = dgvShop.Columns[e.ColumnIndex].Name;
+ string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
+ string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
+ var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
+ var row = dgvShop.Rows[e.RowIndex];
+ switch (columnName)
+ {
+ case "colSelect":
+ //if (row.Cells["colCanUse"].Value.ParseToBool())
+ {
+ row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
+
+ chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged;
+ if (dgvShop.Rows.Cast().All(r => r.Cells["colSelect"].Value.ParseToBool()))
+ chkSelectAll.Checked = true;
+ else
+ chkSelectAll.Checked = false;
+ chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
+ }
+ //else
+ {
+ //BaseMsgForm.ShowInfo("店铺未登录!");
+ }
+
+ dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool();
+ NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId);
+ break;
+ case "colLoginStatus":
+ {
+ if (WXShopListForm.Instance == null)
+ WXShopListForm.Instance = new WXShopListForm();
+ WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false);
+ WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
+ //shopLoginForm.prodUserSelectForm = this;
+ if (shop.LoginStatus != "登录成功")
+ {
+ shopLoginForm.openType = EnumOpenType.login;
+ shopLoginForm.ShowDialog();
+ RefreshShopLogin();
+ }
+ else
+ {
+ shopLoginForm.openType = EnumOpenType.manage;
+ shopLoginForm.WindowState = FormWindowState.Maximized;
+ shopLoginForm.Show();
+ }
+ }
+ break;
+ case "colApi":
+ {
+ WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
+ shopLoginForm.openType = EnumOpenType.manage;
+ shopLoginForm.WindowState = FormWindowState.Maximized;
+ shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139";
+ shopLoginForm.Show();
+ }
+ break;
+ }
+ }
+
+ private void btnSearch_Click(object sender, EventArgs e)
+ {
+ var lstShopId = dgvShop.Rows.Cast().Where(row
+ => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
+ if (lstShopId.Count == 0)
+ {
+ BaseMsgForm.ShowInfo("请选择店铺!");
+ return;
+ }
+ }
+
+ private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.ColumnIndex < 0 || e.RowIndex < 0)
+ return;
+ string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText;
+ var dbId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString();
+ var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == dbId);
+ var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
+ var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString();
+ var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
+
+ switch (headerText)
+ {
+ case "删除":
+ break;
+ case "登录":
+ {
+ WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
+ //shopLoginForm.prodUserSelectForm = this;
+ shopLoginForm.openType = EnumOpenType.login;
+ shopLoginForm.ShowDialog();
+ RefreshShopLogin();
+ }
+ break;
+ case "进店":
+ {
+ WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop);
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ if (shop.LoginStatus == "登录成功")
+ {
+ shopLoginForm.openType = EnumOpenType.manage;
+ shopLoginForm.WindowState = FormWindowState.Maximized;
+ shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home";
+ shopLoginForm.Show();
+ }
+ else
+ {
+ shopLoginForm.openType = EnumOpenType.login;
+ shopLoginForm.ShowDialog();
+ RefreshShopLogin();
+ }
+ }
+ break;
+ case "上传商品Id":
+ //if (!string.IsNullOrEmpty(draftId) && shop != null)
+ //{
+ // ShopLoginForm shopLoginForm = new ShopLoginForm(shop);
+ // shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
+ // draftId + "&from=productDraftList";
+ // shopLoginForm.openType = EnumOpenType.manage;
+ // shopLoginForm.WindowState = FormWindowState.Maximized;
+ // shopLoginForm.ShowDialog();
+ //}
+ break;
+ case "图片":
+ {
+ ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString());
+ imgFrom.ShowDialog();
+ break;
+ }
+ case "SKU替换图":
+ {
+ ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colSkuFakeImgUrl"].Value.ParseToString());
+ imgFrom.ShowDialog();
+ break;
+ }
+ case "":
+ dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value;
+ break;
+ default:
+ break;
+ }
+ }
+
+ private void btnStop_Click(object sender, EventArgs e)
+ {
+ if (this.cancellationTokenSource != null)
+ this.cancellationTokenSource.Cancel();
+ }
+
+ private void btnSearchProd_Click(object sender, EventArgs e)
+ {
+ var shopIdLst = dgvShop.Rows.Cast().Where(row
+ => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
+ if (shopIdLst.Count <= 0)
+ {
+ BaseMsgForm.ShowError("未勾选上传店铺!");
+ return;
+ }
+ btnSearchProd.Enabled = false;
+ pbLoading.Visible = true;
+ cancellationTokenSource = new CancellationTokenSource();
+ dgvSelectProduct.Rows.Clear();
+ dgvSelectProduct.Columns["colCouponNum"].Visible = false;
+ Task.Run(() =>
+ {
+ GetProduct(shopIdLst);
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "商品查询完毕";
+ BaseMsgForm.ShowInfo("商品查询完毕");
+ pbLoading.Visible = false;
+ btnSearchProd.Enabled = true;
+ }));
+ }, cancellationTokenSource.Token);
+ }
+
+ void GetProduct(List shopIdLst)
+ {
+ List shopLst = GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId)).ToList();
+ foreach(var shop in shopLst)
+ {
+ if(cancellationTokenSource.IsCancellationRequested)
+ break;
+
+ if (shop.LoginStatus != "登录成功")
+ {
+ continue;
+ }
+
+ int page = PageBegin - 1;
+ int totalPage = 1;
+ int pageSize = 50;
+ string nextKey = "";
+ while (page < totalPage && page < PageEnd)
+ {
+ page++;
+
+ if (cancellationTokenSource.IsCancellationRequested)
+ break;
+
+ string getProdOnSaleRst = "";
+
+ if (string.IsNullOrEmpty(PreType) && sortType == null)
+ getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize);
+ else
+ getProdOnSaleRst = WXPreSale.searchProduct(shop, page, null, pageSize, sortType);
+ Thread.Sleep(Randomx.GetId(50, 100));
+ if (!getProdOnSaleRst.Contains("\"success\":true"))
+ {
+ var error = BaseRegex.GetStringJson(ref getProdOnSaleRst, "msg");
+ if (string.IsNullOrEmpty(error))
+ error = getProdOnSaleRst;
+
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() => { BindShop(shop, shopIdLst, "店铺掉线"); }));
+ }
+
+ var shopRow = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
+ Invoke(new Action(() => {
+ if (shopRow != null)
+ {
+ shopRow.Cells["colOpResult"].Value = error;
+ }
+ }));
+ break;
+ }
+
+ try
+ {
+ var prodObjs = JsonHelper.JObjectParse(getProdOnSaleRst);
+ if (page == 1 || 1 == 1)
+ {
+ var totalNum = prodObjs["totalNum"].ParseToInt();
+ totalPage = Math.Ceiling(1m * totalNum / pageSize).ParseToInt();
+ }
+ nextKey = prodObjs["nextKey"].ParseToString();
+ Invoke(new Action(() =>
+ {
+ this.pbLoading.Visible = true;
+ this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage);
+ //this.statusBar.pgbTaskProgress.Maximum = lstTemuDBProductSelect.Count;
+ //this.statusBar.UpdateProgressBar(0);
+ }));
+ foreach (JObject prod in prodObjs["productList"])
+ {
+ var pStr = JsonHelper.SerializeObject(prod);
+ Invoke(new Action(() =>
+ {
+ decimal? price = null;
+ try { price = prod["skuList"][0]["price"].ParseToDecimal() / 100; } catch { }
+ var prodId = prod["productId"].ParseToString();
+ if (dgvSelectProduct.Rows.Cast().Any(r => r.Cells["colDraftId"].ParseToString() == prodId))
+ {
+
+ }
+
+ var rowIndex = this.dgvSelectProduct.Rows.Add(
+ false,
+ "",
+ shop.ShopId,
+ shop.ShopAccount,
+ "登录",
+ "进店",
+ "",
+ "",
+ prod["productId"].ParseToString(),
+ prod["headImg"].ParseToString(),
+ DataGridViewExtension.defaultBitmap,
+ "", // 替换图地址
+ null, // 替换图
+ prod["title"].ParseToString(), // 用户端显示商品原名
+ (prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ?
+ "" : string.Join(" >> ", prod["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称
+ prod["spuCode"].ParseToString(),
+ //price,
+ prod["price"].ParseToDecimal() * 0.01m,
+ prod["soldNum"].ParseToInt(),
+ "在售" + (prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : ""),
+ "", // 备注
+ "",
+ "删除",
+ BaseClass.StampToDateTime(prod["lastEditDraftTime"].ParseToInt()).ToString("yy-MM-dd HH:mm"),
+ "");
+
+ dgvSelectProduct.Rows[rowIndex].Height = 60;
+ dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString().Contains("预售") ? Color.Orange : Color.Blue;
+ }));
+ }
+ }
+ catch (Exception ex)
+ {
+
+ }
+ }
+ }
+ }
+
+ private void btnClearDgv_Click(object sender, EventArgs e)
+ {
+ var rows = this.dgvSelectProduct.Rows.Cast().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。
+ foreach (var row in rows)
+ {
+ if (row.Cells["colCheck"].Value.ParseToBool() == true)
+ {
+ //var draft_id = row.Cells["colDraftId"].Value.ParseToString();
+ //upload_draft_product_lst.RemoveAll(p => p.draft_id == draft_id);
+
+ this.dgvSelectProduct.Rows.Remove(row);
+ }
+ }
+ //NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_select_upload_draft_products", upload_draft_product_lst);
+ }
+
+ private void btnClearFilter_Click(object sender, EventArgs e)
+ {
+ txtFiltSaleNumMoreThan.Text = "0";
+ txtFiltSaleNumLessThan.Text = "1";
+ }
+
+ private void btnFilterShop_Click(object sender, EventArgs e)
+ {
+ foreach(DataGridViewRow row in dgvShop.Rows)
+ {
+ string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
+ if (notes == "全部")
+ notes = "";
+ List notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
+
+ if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()))
+ {
+ row.Visible = false;
+ row.Cells["colSelect"].Value = false;
+ continue;
+ }
+ if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))
+ {
+ row.Visible = false;
+ row.Cells["colSelect"].Value = false;
+ continue;
+ }
+ row.Visible = true;
+ }
+ }
+
+ private void btnEmptyShop_Click(object sender, EventArgs e)
+ {
+ txtFilterShopName.Text = "";
+ cmbFilterShopNotes.Text = "全部";
+ btnFilterShop_Click(null, null);
+ }
+
+ private void btnReverse_Click(object sender, EventArgs e)
+ {
+ foreach(DataGridViewRow row in dgvShop.Rows)
+ {
+ if (row.Visible == true)
+ row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
+ }
+ }
+
+ private void btnAddSelect_Click(object sender, EventArgs e)
+ {
+ string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
+ if (notes == "全部")
+ notes = "";
+ List notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
+
+ foreach (DataGridViewRow row in dgvShop.Rows)
+ {
+ if (row.Visible == true)
+ {
+ if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
+ (row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
+ {
+ row.Cells["colSelect"].Value = true;
+ }
+ }
+ }
+ }
+
+ private void btnAddUnSelect_Click(object sender, EventArgs e)
+ {
+ string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
+ if (notes == "全部")
+ notes = "";
+ List notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
+
+ foreach (DataGridViewRow row in dgvShop.Rows)
+ {
+ if (row.Visible == true)
+ {
+ if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) &&
+ (row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())))
+ {
+ row.Cells["colSelect"].Value = false;
+ }
+ }
+ }
+ }
+
+ private void btnSelectOnline_Click(object sender, EventArgs e)
+ {
+ foreach (DataGridViewRow row in dgvShop.Rows)
+ {
+ if (row.Visible == true)
+ {
+ if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线")
+ {
+ row.Cells["colSelect"].Value = true;
+ }
+ else
+ {
+ row.Cells["colSelect"].Value = false;
+ }
+ }
+ }
+ }
+
+ private void btnSelectOffline_Click(object sender, EventArgs e)
+ {
+ foreach (DataGridViewRow row in dgvShop.Rows)
+ {
+ if (row.Visible == true)
+ {
+ if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线")
+ {
+ row.Cells["colSelect"].Value = true;
+ }
+ else
+ {
+ row.Cells["colSelect"].Value = false;
+ }
+ }
+ }
+ }
+
+ private void txtPageBegin_TextChanged(object sender, EventArgs e)
+ {
+ PageEnd = txtPageBegin.Text.ParseToInt();
+ }
+
+ private void txtPageEnd_TextChanged(object sender, EventArgs e)
+ {
+ PageEnd = txtPageEnd.Text.ParseToInt();
+ }
+
+ private void cmbPreType_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ PreType = cmbPreType.Text.Trim();
+ }
+
+ private void btnFiltSelectMoreThan_Click(object sender, EventArgs e)
+ {
+ foreach(DataGridViewRow row in dgvSelectProduct.Rows)
+ {
+ if (row.Cells["colSoldNum"].Value.ParseToInt() > txtFiltSaleNumMoreThan.Text.Trim().ParseToInt())
+ row.Cells["colCheck"].Value = true;
+ else
+ row.Cells["colCheck"].Value = false;
+ }
+ }
+
+ private void btnFiltSelectLessThan_Click(object sender, EventArgs e)
+ {
+ foreach (DataGridViewRow row in dgvSelectProduct.Rows)
+ {
+ if (row.Cells["colSoldNum"].Value.ParseToInt() >= txtFiltSaleNumLessThan.Text.Trim().ParseToInt())
+ row.Cells["colCheck"].Value = false;
+ else
+ row.Cells["colCheck"].Value = true;
+ }
+ }
+
+ decimal productPriceValue = 0;
+
+ private void btnEndCoupon_Click(object sender, EventArgs e)
+ {
+ var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
+ if (rowLst.Count <= 0)
+ {
+ BaseMsgForm.ShowError("请勾选需要操作的商品!");
+ return;
+ }
+
+ this.pbLoading.Visible = true;
+ cancellationTokenSource = new CancellationTokenSource();
+ dgvSelectProduct.Columns["colCouponNum"].HeaderText = "生效券数量";
+ dgvSelectProduct.Columns["colCouponNum"].Visible = true;
+ Task.Run(() =>
+ {
+ EndProdCoupon(rowLst);
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "优惠券作废删除完毕";
+ BaseMsgForm.ShowInfo("优惠券作废删除完毕");
+ this.pbLoading.Visible = false;
+ }));
+ }, cancellationTokenSource.Token);
+ }
+ void EndProdCoupon(List rowLst)
+ {
+ Invoke(new Action(() =>
+ {
+ this.pbLoading.Visible = true;
+ this.statusBar.lblTaskStatus.Text = "正在作废删除" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.pgbTaskProgress.Maximum = rowLst.Count;
+ this.statusBar.UpdateProgressBar(0);
+ }));
+
+ foreach (var row in rowLst)
+ {
+ if (cancellationTokenSource.IsCancellationRequested)
+ break;
+
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "正在作废删除" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
+ row.Cells["colOpResult"].Value = "";
+ row.Cells["colCouponNum"].Value = "";
+ }));
+
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ var shopId = row.Cells["colSupplierId"].Value.ParseToString();
+ var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
+ if (shop == null)
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "店铺不存在";
+ }));
+ continue;
+ }
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "店铺掉线";
+ }));
+ continue;
+ }
+
+ var searchCouponRst = WxCoupon.WxSearchCoupon(shop, prodId);
+ Thread.Sleep(Randomx.GetId(500, 1000));
+ if (searchCouponRst.Contains("biz magic invalid"))
+ {
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ }
+ if (!searchCouponRst.Contains("\"success\":true") && !searchCouponRst.Contains("\"code\":0"))
+ {
+ var errmsg = BaseRegex.GetStringJson(ref searchCouponRst, "msg");
+ if (string.IsNullOrWhiteSpace(errmsg))
+ errmsg = searchCouponRst;
+
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = errmsg;
+ }));
+ continue;
+ }
+
+ if (searchCouponRst.Contains("\"code\":0"))
+ {
+ var totalNum = BaseRegex.GetStringJson(ref searchCouponRst, "totalNum");
+ Invoke(new Action(() =>
+ {
+ row.Cells["colCouponNum"].Value = totalNum;
+ }));
+ if (totalNum == "0")
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "商品无专属优惠券,跳过";
+ }));
+ continue;
+ }
+ try
+ {
+ var couponLst = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(searchCouponRst)["coupons"].ToString());
+ string errMsg = "";
+ foreach (var coupon in couponLst)
+ {
+ var endRst = WxCoupon.WxEndCoupon(shop, coupon.couponKey.couponId.ParseToString());
+ Thread.Sleep(Randomx.GetId(100, 300));
+ if (!endRst.Contains("\"code\":0"))
+ {
+ var err = BaseRegex.GetStringJson(ref endRst, "msg");
+ if (string.IsNullOrWhiteSpace(err))
+ err = endRst;
+ errMsg += coupon.couponKey.couponId + " " + err + " \r\n";
+ continue;
+ }
+ var delRst = WxCoupon.WxDelCoupon(shop, coupon.couponKey.couponId.ParseToString());
+ Thread.Sleep(Randomx.GetId(100, 300));
+ if (!delRst.Contains("\"code\":0"))
+ {
+ var err = BaseRegex.GetStringJson(ref delRst, "msg");
+ if (string.IsNullOrWhiteSpace(err))
+ err = delRst;
+ errMsg += coupon.couponKey.couponId + " " + err + " \r\n";
+ continue;
+ }
+ }
+ if (!errMsg.IsNullOrEmpty())
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "作废删除失败 " + errMsg;
+ }));
+ }
+ else
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "作废删除成功";
+ }));
+ }
+ }
+ catch (Exception ex)
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "作废删除失败 优惠券格式转换失败";
+ }));
+ }
+ }
+ }
+ }
+
+ int? sortType = null;
+ private void cmbSaleSort_TextChanged(object sender, EventArgs e)
+ {
+ sortType = null;
+ if (cmbSaleSort.Text == "降序")
+ sortType = 6;
+ if (cmbSaleSort.Text == "升序")
+ sortType = 5;
+ }
+
+ private void btnSync_Click(object sender, EventArgs e)
+ {
+ var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
+ if (rowLst.Count <= 0)
+ {
+ BaseMsgForm.ShowError("请勾选需要操作的商品!");
+ return;
+ }
+
+ this.pbLoading.Visible = true;
+ cancellationTokenSource = new CancellationTokenSource();
+ dgvSelectProduct.Columns["colCouponNum"].Visible = false;
+ Task.Run(() =>
+ {
+ SyncProd(rowLst);
+ Invoke(new Action(() =>
+ {
+ if(cancellationTokenSource.IsCancellationRequested)
+ {
+ this.statusBar.lblTaskStatus.Text = "商品同步中断";
+ BaseMsgForm.ShowInfo("商品同步中断");
+ }
+ else
+ {
+ this.statusBar.lblTaskStatus.Text = "商品同步完毕";
+ BaseMsgForm.ShowInfo("商品同步完毕");
+ }
+ this.pbLoading.Visible = false;
+ }));
+ }, cancellationTokenSource.Token);
+ }
+
+ void SyncProd(List rowLst)
+ {
+ Invoke(new Action(() =>
+ {
+ this.pbLoading.Visible = true;
+ this.statusBar.lblTaskStatus.Text = "正在同步" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.pgbTaskProgress.Maximum = rowLst.Count;
+ this.statusBar.UpdateProgressBar(0);
+ }));
+
+ while(rowLst.Count > 0)
+ {
+ if (cancellationTokenSource.IsCancellationRequested)
+ break;
+
+ var r0 = rowLst.FirstOrDefault();
+ var shopId = r0.Cells["colSupplierId"].Value.ParseToString();
+ var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
+ var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList();
+ foreach(var r in rowLstTmp)
+ {
+ rowLst.Remove(r);
+
+ Invoke(new Action(() =>
+ {
+ this.statusBar.lblTaskStatus.Text = "正在同步" + "...".Substring(0, DateTime.Now.Second % 4);
+ this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
+ r.Cells["colOpResult"].Value = "";
+ }));
+ }
+ if (shop == null)
+ {
+ Invoke(new Action(() =>
+ {
+ foreach (var r in rowLstTmp)
+ {
+ r.Cells["colOpResult"].Value = "店铺不存在";
+ }
+ }));
+ continue;
+ }
+ if (shop.LoginStatus != "登录成功")
+ {
+ Invoke(new Action(() =>
+ {
+ foreach (var r in rowLstTmp)
+ {
+ r.Cells["colOpResult"].Value = "店铺掉线";
+ }
+ }));
+ continue;
+ }
+
+ List prodIdLst = new List();
+ List extCodeLst = new List();
+ foreach (var row in rowLstTmp)
+ {
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ var extCode = row.Cells["colExtCode"].Value.ParseToString();
+ prodIdLst.Add(prodId);
+ extCodeLst.Add(extCode);
+ }
+
+ // 查询下架库有没有
+ string url = BaseClass.BuildPDDObjString("product/get_prod_down_sku_lst_by_sku_codes");
+ Thread.Sleep(500);
+ string data = UserLogin.GetSignaturex();
+ data += "&search_secret_spu_ids=" + string.Join(",", extCodeLst.Distinct());
+ //data += "&search_sku_codes=" + string.Join(",", skuExtCodeLst.Distinct());
+ var result = GetHtml.PostUtf8(url, data);
+ if (!result.Contains("\"code\":200"))
+ result = GetHtml.PostUtf8(url, data);
+ if (!result.Contains("\"code\":200"))
+ {
+ var errMsg = BaseRegex.GetStringJson(ref result, "msg");
+ if (string.IsNullOrEmpty(errMsg))
+ errMsg = result;
+ Invoke(new Action(() =>
+ {
+ foreach (var row in rowLstTmp)
+ {
+ row.Cells["colOpResult"].Value = "查询商品变更错误:" + errMsg;
+ }
+ }));
+ continue;
+ }
+ List downSkuExistLst = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(result)["data"].ParseToString());
+
+ foreach (var row in rowLstTmp)
+ {
+ var extCode = row.Cells["colExtCode"].Value.ParseToString();
+ var neewDownSkuLst = downSkuExistLst.Where(se => se.secret_spu_id == extCode).ToList();
+ if (neewDownSkuLst.Count == 0)
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "商品检测完毕,无需同步";
+ }));
+ continue;
+ }
+ else
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "正在检测同步";
+ }));
+ Thread.Sleep(100);
+
+ var prodId = row.Cells["colDraftId"].Value.ParseToString();
+ var getEditProdRst = WXUpload.getEditProductV2(shop, prodId);
+ Thread.Sleep(Randomx.GetId(50, 100));
+ if (getEditProdRst.Contains("biz magic invalid"))
+ {
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ }
+ if (!getEditProdRst.Contains("\"success\":true"))
+ {
+ var errmsg = BaseRegex.GetStringJson(ref getEditProdRst, "msg");
+ if (string.IsNullOrWhiteSpace(errmsg))
+ errmsg = getEditProdRst;
+ if (shop.LoginStatus != "登录成功")
+ errmsg = "店铺掉线";
+
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = errmsg;
+ }));
+ continue;
+ }
+
+ string productJson = "";
+ try
+ {
+ // 获取免审编辑回传数据
+ JObject jObjTmp = JsonHelper.JObjectParse(getEditProdRst);
+ //jObjTmp["product"]["deliverInfo"]["skuDeliverInfo"]["fullPaymentPresaleDeliveryTime"] = chkPreSale.Checked ? txtPreDays.Text.Trim().ParseToInt() : 0;
+ //jObjTmp["product"]["deliverInfo"]["deliverType"] = chkPreSale.Checked ? 1 : 0;
+ //jObjTmp["product"]["info"]["presaleTag"] = chkPreSale.Checked ? 1 : 0;
+ //jObjTmp["product"]["info"]["presaleTagType"] = chkPreSale.Checked ? 1 : 0;
+
+ bool needSync = false;
+ foreach (var jSku in jObjTmp["product"]["productSkus"])
+ {
+ var jSkuStr = jSku.ParseToString();
+ var itemCode = jSku["productSkuInfo"]?["skuCode"].ParseToString();
+ var needDownSku = downSkuExistLst.FirstOrDefault(se =>se.secret_spu_id == extCode && se.secret_sku_id == itemCode);
+ if (needDownSku != null)
+ {
+ if (//jSku["productSkuInfo"]["stockInfo"]["stockNum"].ParseToString() != "0" ||
+ jSku["productSkuInfo"]["stockInfo"]["totalNum"].ParseToString() != "0" ||
+ jSku["productSkuInfo"]["realStockInfo"]["stockNum"].ParseToString() != "0" ||
+ jSku["productSkuInfo"]["realStockInfo"]["totalNum"].ParseToString() != "0")
+ {
+ jSku["productSkuInfo"]["stockInfo"]["stockNum"] = "0";
+ jSku["productSkuInfo"]["stockInfo"]["totalNum"] = "0";
+ jSku["productSkuInfo"]["realStockInfo"]["stockNum"] = "0";
+ jSku["productSkuInfo"]["realStockInfo"]["totalNum"] = "0";
+ needSync = true;
+ }
+ }
+ }
+ productJson = JsonHelper.SerializeObject(jObjTmp);
+
+ if (!needSync)
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "商品检测完毕,无需同步";
+ }));
+ continue;
+ }
+ }
+ catch (Exception ex)
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "商品库存解析失败:" + ex.Message;
+ }));
+ continue;
+ }
+
+ DateTime tickTime = DateTime.Now.AddSeconds(0 - Randomx.GetId(10, 30));
+ int time1 = BaseClass.DateTimeToTimestampSeconds(tickTime) - Randomx.GetId(80, 150);
+ int time2 = BaseClass.DateTimeToTimestampSeconds(tickTime);
+
+ // 提交免审修改(实际生效接口)
+ var listingAuditFreeRst = WXUpload.listingAuditFree(shop, productJson, prodId, time1, time2);
+ System.Threading.Thread.Sleep(Randomx.GetId(150, 500));
+ if (!listingAuditFreeRst.Contains("\"code\":0"))
+ {
+ var errmsg = BaseRegex.GetStringJson(ref listingAuditFreeRst, "msg");
+ if (string.IsNullOrWhiteSpace(errmsg))
+ errmsg = listingAuditFreeRst;
+ if (errmsg.Contains("107232"))
+ errmsg = "图片不清晰禁止操作";
+ if (errmsg.Contains("9401083"))
+ errmsg = "店铺处罚中禁止操作";
+
+ if (getEditProdRst.Contains("biz magic invalid"))
+ {
+ WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "店铺掉线";
+ }));
+ continue;
+ }
+
+ if (chkFailDownProd.Checked)
+ {
+ var downProd = WXPreSale.DownProd(shop, prodId);
+ System.Threading.Thread.Sleep(Randomx.GetId(50, 100));
+ if (downProd.Contains("\"code\":0"))
+ {
+ errmsg += " 商品同步失败 已下架";
+ }
+ else
+ errmsg += " 商品同步失败 下架失败";
+ }
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = errmsg;
+ }));
+ continue;
+ }
+ if (listingAuditFreeRst.Contains("\"code\":0"))
+ {
+ Invoke(new Action(() =>
+ {
+ row.Cells["colOpResult"].Value = "商品同步成功";
+ }));
+ }
+
+
+
+
+
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.resx b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.resx
new file mode 100644
index 0000000..df46883
--- /dev/null
+++ b/TEMUKJD/WXForms/ProductForms/WXProdSyncForm.resx
@@ -0,0 +1,228 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
+ True
+
+
\ No newline at end of file
diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
index 82e994b..15946e6 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs
@@ -31,10 +31,12 @@
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("选品上传");
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("商品预售/下架");
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("爆单神器");
- System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] {
+ System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("商品同步");
+ System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
- treeNode3});
+ treeNode3,
+ treeNode4});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
@@ -131,10 +133,12 @@
treeNode2.Text = "商品预售/下架";
treeNode3.Name = "爆单神器";
treeNode3.Text = "爆单神器";
- treeNode4.Name = "商品管理";
- treeNode4.Text = "商品管理";
+ treeNode4.Name = "商品同步";
+ treeNode4.Text = "商品同步";
+ treeNode5.Name = "商品管理";
+ treeNode5.Text = "商品管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
- treeNode4});
+ treeNode5});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 521);
this.tv.TabIndex = 1;
diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
index ef78cc4..e8058fc 100644
--- a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
+++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs
@@ -19,6 +19,7 @@ namespace TemuKJD.WXForms.ProductForms
public Lazy userSelectDbProductForm = new Lazy();
public Lazy wxProdPreSaleForm = new Lazy();
public Lazy wxProdCouponForm = new Lazy();
+ public Lazy wxProdSyncForm = new Lazy();
public WXProductForm()
{
@@ -28,7 +29,7 @@ namespace TemuKJD.WXForms.ProductForms
{
tv.SelectedNode = tv.Nodes[0].Nodes[0];
tv.ExpandGroup(tv.Nodes[0].Name);
- List hideName = new List() { "商品列表", "爆单神器1" };
+ List hideName = new List() { "商品列表", "爆单神器1", "商品同步1" };
if (BaseClass.GroupId == 3)
{
@@ -76,6 +77,9 @@ namespace TemuKJD.WXForms.ProductForms
case "爆单神器":
SetForm(wxProdCouponForm.Value);
break;
+ case "商品同步":
+ SetForm(wxProdSyncForm.Value);
+ break;
}
}));
}).Start();
diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs
index 4ab69a9..0bfa3df 100644
--- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs
+++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs
@@ -187,7 +187,7 @@ namespace TemuKJD.WXForms.ShopForms
/// 店铺名称
/// cookies
/// 工具名称(可不填写)
- public static void UpdateServerShopCookies(ShopLoginInfo shop, string fromTool = null)
+ public static string UpdateServerShopCookies(ShopLoginInfo shop, string fromTool = null, bool isShowProgress = true)
{
var fTool = string.IsNullOrEmpty(fromTool) ? "" : "&from_tool=" + fromTool;
var url = BaseClass.BuildObjString("shop/mdy_shop_cookie_and_login_status");
@@ -204,8 +204,13 @@ namespace TemuKJD.WXForms.ShopForms
result = GetHtml.PostUtf8(url, data);
if (!result.Contains("\"code\":200"))
{
- BaseMsgForm.ShowError("服务端登录状态保存失败!请检查网络连接。");
+ var errMsg = BaseRegex.GetStringJson(ref result, "msg");
+ if (isShowProgress)
+ BaseMsgForm.ShowError("服务端登录状态保存失败!请检查网络连接。" + errMsg);
+ else
+ return "服务端登录状态保存失败!请检查网络连接。" + errMsg;
}
+ return "";
}
/////
///// 获取店铺Cookies
@@ -632,7 +637,7 @@ namespace TemuKJD.WXForms.ShopForms
sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
}
}
- UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
+ UpdateServerShopCookies(shop, null, isShowProgress); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
StartUp.SaveLocalShopLoginInfo();
}