diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index dbf606a..8d120c4 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -27,8 +27,8 @@ namespace AllBase
///
/// 版本ID
///
- public static int VersionCount = 597;
- //public static int VersionCount = 596;
+ public static int VersionCount = 601;
+ //public static int VersionCount = 599;
///
/// 版本号
diff --git a/AllBase/Model/Result/KJDDBProduct.cs b/AllBase/Model/Result/KJDDBProduct.cs
index 56c501a..ee1c104 100644
--- a/AllBase/Model/Result/KJDDBProduct.cs
+++ b/AllBase/Model/Result/KJDDBProduct.cs
@@ -26,6 +26,7 @@ namespace AllBase.Model.Result
public string size_json { get; set; }
public int sku_img_replace_id { get; set; }
public string sku_img_replace_base64 { get; set; }
+ public string sku_img_replace_url { get; set; }
public string main_img { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs
index 046075c..43e155a 100644
--- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs
+++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs
@@ -204,7 +204,7 @@ namespace KJD_Web.BLL.BXX
else
{
if (isDetail)
- sql = "select p.*,s.img_base64 from bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id where 1=1";
+ sql = "select p.*,s.img_base64,s.img_url from bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id where 1=1";
else if (string.IsNullOrEmpty(get_select_count))
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 from bxx.product p where 1=1";
@@ -260,9 +260,10 @@ namespace KJD_Web.BLL.BXX
};
if (isDetail)
{
- prod.sku_img_replace_base64 = row["img_base64"].ToString();
prod.product_json = row["product_json"].ToString();
prod.size_json = row["size_json"].ToString();
+ prod.sku_img_replace_base64 = row["img_base64"].ToString();
+ prod.sku_img_replace_url = row["img_url"].ToString();
}
if (!string.IsNullOrEmpty(get_select_count))
{
@@ -311,11 +312,11 @@ namespace KJD_Web.BLL.BXX
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
- string sql = "select count(id) from bxx.sku_img_replace p where 1=1";
+ string sql = "select count(id) from bxx.sku_img_replace s where 1=1";
string where = "";
if (!string.IsNullOrEmpty(sku_img_replace_ids))
- where += " and p.id in (" + sku_img_replace_ids + ")";
+ where += " and s.id in (" + sku_img_replace_ids + ")";
sql += where;
var count = mySql.ExecuteRowCount(sql);
@@ -327,13 +328,12 @@ namespace KJD_Web.BLL.BXX
}
else
{
- if (isDetail)
- sql = "select * from bxx.product p left where 1=1";
+ sql = "select * from bxx.sku_img_replace s where 1=1";
//where子句
sql += where;
- sql += " order by p.id desc";
+ sql += " order by s.id desc";
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
dt = mySql.ExecuteDataTable(sql);
}
@@ -351,6 +351,7 @@ namespace KJD_Web.BLL.BXX
id = Convert.ToInt32(row["id"]),
img_base64 = row["img_base64"].ToString(),
img_md5 = row["img_md5"].ToString(),
+ img_url = row["img_url"].ToString(),
};
skuImgReplaceLst.Add(skuImgReplace);
}
@@ -370,6 +371,11 @@ namespace KJD_Web.BLL.BXX
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
+ ///
+ /// 随机获取商品(无详情) 随机添加到上传列表所以不需要获取详情
+ ///
+ ///
+ ///
public string GetProductListRandom(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
@@ -381,7 +387,7 @@ namespace KJD_Web.BLL.BXX
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'", "\\'");
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
- var is_detail = RegexUtils.GetStringQuery(ref inputData, "is_detail")?.Replace("'", "\\'");
+ var in_ext_codes = RegexUtils.GetStringQuery(ref inputData, "in_ext_codes")?.Replace("'", "\\'");
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
@@ -392,6 +398,12 @@ namespace KJD_Web.BLL.BXX
string sql = "select count(id) from bxx.product p where 1=1";
string where = "";
+ if (!string.IsNullOrEmpty(in_ext_codes))
+ {
+ in_ext_codes = "'" + string.Join("','", in_ext_codes.Split(new string[] { ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries)) + "'";
+ where += " and ext_code in (" + in_ext_codes + ")";
+ }
+
sql += where;
var count = mySql.ExecuteRowCount(sql);
@@ -403,11 +415,8 @@ namespace KJD_Web.BLL.BXX
}
else
{
- if (is_detail == "true")
- sql = "select * from bxx.product p where 1=1";
- else
- 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 from bxx.product p where 1=1";
+ 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 from bxx.product p where 1=1";
//where子句
sql += where;
@@ -449,11 +458,6 @@ namespace KJD_Web.BLL.BXX
fission_words = row["fission_words"].ParseToString(),
head_words = row["head_words"].ParseToString(),
};
- if (is_detail == "true")
- {
- prod.product_json = row["product_json"].ToString();
- prod.size_json = row["size_json"].ToString();
- }
productLst.Add(prod);
}
var data = JsonUtils.SerializerObjectToString(productLst);
@@ -664,6 +668,7 @@ namespace KJD_Web.BLL.BXX
var id = RegexUtils.GetStringQuery(ref inputData, "db_id")?.Replace("'", "\\'");
string img_md5 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_md5"));
string img_base64 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_base64"));
+ string img_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_url"));
if (string.IsNullOrEmpty(user_name))
{
@@ -677,6 +682,8 @@ namespace KJD_Web.BLL.BXX
sql += " img_md5='" + img_md5 + "',";
if (img_base64 != null)
sql += " img_base64='" + img_base64 + "',";
+ if (img_url != null)
+ sql += " img_url='" + img_url + "',";
sql = sql.TrimEnd(',');
sql += " where id=" + id + ";";
diff --git a/KJDService/KJD_WebService/Model/DBProductResultParam.cs b/KJDService/KJD_WebService/Model/DBProductResultParam.cs
index c746a81..6ccc24b 100644
--- a/KJDService/KJD_WebService/Model/DBProductResultParam.cs
+++ b/KJDService/KJD_WebService/Model/DBProductResultParam.cs
@@ -27,6 +27,7 @@ namespace KJD_Web.Model
public string size_json { get; set; }
public int sku_img_replace_id { get; set; }
public string sku_img_replace_base64 { get; set; }
+ public string sku_img_replace_url { get; set; }
public string main_img { get; set; }
public DateTime add_time { get; set; }
public DateTime mdy_time { get; set; }
diff --git a/KJDService/KJD_WebService/Model/ShopModel/sku_img_replace.cs b/KJDService/KJD_WebService/Model/ShopModel/sku_img_replace.cs
index d2e7160..36b4e39 100644
--- a/KJDService/KJD_WebService/Model/ShopModel/sku_img_replace.cs
+++ b/KJDService/KJD_WebService/Model/ShopModel/sku_img_replace.cs
@@ -10,5 +10,6 @@ namespace KJD_Web.Model.ShopModel
public int id { get; set; }
public string img_md5 { get; set; }
public string img_base64 { get; set; }
+ public string img_url { get; set; }
}
}
\ No newline at end of file
diff --git a/TEMUKJD/Extension/DataGridViewExtension.cs b/TEMUKJD/Extension/DataGridViewExtension.cs
index 249382a..b3d2d88 100644
--- a/TEMUKJD/Extension/DataGridViewExtension.cs
+++ b/TEMUKJD/Extension/DataGridViewExtension.cs
@@ -1,4 +1,7 @@
-using System;
+using AllBase;
+using NaiBa.Util;
+using NaiBa.Util.Extension;
+using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
@@ -531,5 +534,85 @@ namespace TemuKJD.Extension
};
}
+ public static void AddImgColumn(this DataGridView dgv, string imgColumn, string imgPathColumn, bool isSetHttpsHttp = true)
+ {
+ dgv.Scroll += (s, e) =>
+ {
+ ShowDgvImg(dgv, null, imgColumn, imgPathColumn, isSetHttpsHttp);
+ };
+ dgv.Resize += (s, e) =>
+ {
+ ShowDgvImg(dgv, null, imgColumn, imgPathColumn, isSetHttpsHttp);
+ };
+ dgv.Sorted += (s, e) =>
+ {
+ ShowDgvImg(dgv, null, imgColumn, imgPathColumn, isSetHttpsHttp);
+ };
+ dgv.RowsAdded += (s, e) =>
+ {
+ ShowDgvImg(dgv, new ConcurrentList { dgv.Rows[e.RowIndex] }, imgColumn, imgPathColumn, isSetHttpsHttp);
+ };
+ }
+ static Bitmap defaultBitmap = new Bitmap(1,1);
+ static void ShowDgvImg(DataGridView dgv, ConcurrentList rowLst, string imgColumn, string imgPathColumn, bool isSetHttpsHttp = true)
+ {
+ Task.Run(() =>
+ {
+ if (rowLst == null)
+ {
+ rowLst = new ConcurrentList();
+ rowLst.AddRange(dgv.Rows.Cast());
+ }
+ foreach (DataGridViewRow row in rowLst)
+ {
+ if (row.Index > 1 && row.Cells[imgColumn].Displayed == false)
+ {
+ try
+ {
+ dgv.Invoke(new Action(() =>
+ {
+ row.Cells[imgColumn].Value = defaultBitmap;
+ }));
+ }
+ catch
+ {
+ }
+ continue;
+ }
+
+ if (row.Index >= 0 && row.Cells[imgColumn].Value != null && row.Cells[imgColumn].Value != defaultBitmap)
+ continue;
+
+ Image image = null;
+ if (row.Index >= 0)
+ {
+ string imgUrl = row.Cells[imgPathColumn]?.Value.ParseToString();
+ if (isSetHttpsHttp == true)
+ imgUrl = imgUrl.Replace("https://", "http://");
+ string getImgError = "";
+ if (!string.IsNullOrWhiteSpace(imgUrl))
+ image = GetHtml.GetUrlImg(imgUrl, out getImgError);
+ if (!string.IsNullOrEmpty(getImgError))
+ //BaseMsgForm.ShowError("图片加载失败 " + getImgError);
+ image = TemuKJD.Properties.Resources.errpic;
+ }
+
+ try
+ {
+ dgv.Invoke(new Action(() =>
+ {
+ if (row.Index >= 0)
+ {
+ row.Cells[imgColumn].Value = image;
+ }
+ }));
+ }
+ catch
+ {
+ }
+ }
+ });
+ }
+
}
}
diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj
index 6be2327..e6965a5 100644
--- a/TEMUKJD/KJD.csproj
+++ b/TEMUKJD/KJD.csproj
@@ -425,6 +425,12 @@
PDDProductForm.cs
+
+ Form
+
+
+ PDDDBProdUserSelectCacheForm.cs
+
Form
@@ -881,6 +887,9 @@
PDDProductForm.cs
+
+ PDDDBProdUserSelectCacheForm.cs
+
PDDDBProdUserSelectEditNotesForm.cs
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.Designer.cs
new file mode 100644
index 0000000..b966eb5
--- /dev/null
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.Designer.cs
@@ -0,0 +1,278 @@
+
+namespace TemuKJD.PDDForms.ProductSelectForms
+{
+ partial class PDDDBProdUserSelectCacheForm
+ {
+ ///
+ /// 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.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.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdUserSelectCacheForm));
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.btnClearDgv = new DevComponents.DotNetBar.PanelEx();
+ this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
+ this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colProductSkcPic = 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.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+ this.splitContainer2.Panel1.SuspendLayout();
+ this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit();
+ this.SuspendLayout();
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.BackColor = System.Drawing.Color.White;
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer1.Location = new System.Drawing.Point(1, 33);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.btnClearDgv);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
+ this.splitContainer1.Size = new System.Drawing.Size(1110, 566);
+ this.splitContainer1.SplitterDistance = 55;
+ this.splitContainer1.TabIndex = 1;
+ this.splitContainer1.TabStop = false;
+ //
+ // 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(1000, 16);
+ this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.btnClearDgv.Name = "btnClearDgv";
+ this.btnClearDgv.Size = new System.Drawing.Size(84, 23);
+ 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 = 616;
+ this.btnClearDgv.Text = "清空列表选中";
+ this.btnClearDgv.Click += new System.EventHandler(this.btnClearDgv_Click);
+ //
+ // splitContainer2
+ //
+ this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer2.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer2.Name = "splitContainer2";
+ this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer2.Panel1
+ //
+ this.splitContainer2.Panel1.Controls.Add(this.dgvSelectProduct);
+ this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(5, 0, 5, 0);
+ this.splitContainer2.Size = new System.Drawing.Size(1110, 507);
+ this.splitContainer2.SplitterDistance = 478;
+ this.splitContainer2.TabIndex = 0;
+ this.splitContainer2.TabStop = false;
+ //
+ // dgvSelectProduct
+ //
+ this.dgvSelectProduct.AllowUserToAddRows = false;
+ this.dgvSelectProduct.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
+ this.dgvSelectProduct.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.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colCheck,
+ this.colId,
+ this.colSpuId,
+ this.colImgUrl,
+ this.colProductSkcPic,
+ this.colProductName,
+ this.colProductCat,
+ this.colExtCode,
+ this.colNotes,
+ this.ColDelete});
+ this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvSelectProduct.Location = new System.Drawing.Point(5, 0);
+ this.dgvSelectProduct.Name = "dgvSelectProduct";
+ this.dgvSelectProduct.ReadOnly = true;
+ this.dgvSelectProduct.RowTemplate.Height = 23;
+ this.dgvSelectProduct.Size = new System.Drawing.Size(1100, 478);
+ this.dgvSelectProduct.TabIndex = 188;
+ 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;
+ //
+ // colId
+ //
+ this.colId.HeaderText = "序号";
+ this.colId.Name = "colId";
+ this.colId.ReadOnly = true;
+ this.colId.Width = 45;
+ //
+ // 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;
+ //
+ // 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;
+ //
+ // colProductName
+ //
+ dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductName.DefaultCellStyle = dataGridViewCellStyle3;
+ this.colProductName.HeaderText = "商品标题";
+ this.colProductName.Name = "colProductName";
+ this.colProductName.ReadOnly = true;
+ this.colProductName.Width = 390;
+ //
+ // colProductCat
+ //
+ this.colProductCat.HeaderText = "商品类目";
+ this.colProductCat.Name = "colProductCat";
+ this.colProductCat.ReadOnly = true;
+ this.colProductCat.Width = 120;
+ //
+ // colExtCode
+ //
+ this.colExtCode.HeaderText = "商品货号";
+ this.colExtCode.Name = "colExtCode";
+ this.colExtCode.ReadOnly = true;
+ this.colExtCode.Width = 120;
+ //
+ // colNotes
+ //
+ this.colNotes.HeaderText = "商品备注";
+ this.colNotes.Name = "colNotes";
+ this.colNotes.ReadOnly = true;
+ //
+ // ColDelete
+ //
+ this.ColDelete.HeaderText = "删除";
+ this.ColDelete.Name = "ColDelete";
+ this.ColDelete.ReadOnly = true;
+ this.ColDelete.Width = 75;
+ //
+ // PDDDBProdUserSelectCacheForm
+ //
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
+ this.ClientSize = new System.Drawing.Size(1112, 600);
+ this.Controls.Add(this.splitContainer1);
+ 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 = "PDDDBProdUserSelectCacheForm";
+ this.Text = "待上传商品";
+ this.TitleText = "待上传商品";
+ this.Load += new System.EventHandler(this.PDDDBProdUserSelectCacheForm_Load);
+ this.Controls.SetChildIndex(this.splitContainer1, 0);
+ this.splitContainer1.Panel1.ResumeLayout(false);
+ this.splitContainer1.Panel2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+ this.splitContainer1.ResumeLayout(false);
+ this.splitContainer2.Panel1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
+ this.splitContainer2.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit();
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.SplitContainer splitContainer1;
+ private System.Windows.Forms.SplitContainer splitContainer2;
+ private UserComponent.DataGridViewEx dgvSelectProduct;
+ private DevComponents.DotNetBar.PanelEx btnClearDgv;
+ private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colId;
+ private System.Windows.Forms.DataGridViewLinkColumn colSpuId;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
+ private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colProductName;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
+ private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
+ private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
+ }
+}
\ No newline at end of file
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.cs
new file mode 100644
index 0000000..449925a
--- /dev/null
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.cs
@@ -0,0 +1,98 @@
+using AllBase;
+using AllBase.Model.Result;
+using NaiBa.Util.Extension;
+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;
+using TemuKJD.BaseForms;
+using TemuKJD.Extension;
+using TemuKJD.ToolForms;
+
+namespace TemuKJD.PDDForms.ProductSelectForms
+{
+ public partial class PDDDBProdUserSelectCacheForm : LRBaseForm
+ {
+ NaiBa.Util.ConcurrentList lstTemuDBProductSelect;
+ public PDDDBProdUserSelectCacheForm(NaiBa.Util.ConcurrentList _lstTemuDBProductSelect)
+ {
+ InitializeComponent();
+
+ lstTemuDBProductSelect = _lstTemuDBProductSelect;
+ }
+
+ private void PDDDBProdUserSelectCacheForm_Load(object sender, EventArgs e)
+ {
+ dgvSelectProduct.AddSelectorColumn("colCheck");
+ dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl");
+
+ if (lstTemuDBProductSelect != null && lstTemuDBProductSelect.Count > 0)
+ {
+ foreach (var prodSelect in lstTemuDBProductSelect)
+ {
+ int rowIndex = this.dgvSelectProduct.Rows.Add(
+ false,
+ prodSelect.id,
+ prodSelect.spu_id,
+ prodSelect.main_img,
+ null,
+ prodSelect.product_name, // 商品名称
+ prodSelect.cat_name,
+ prodSelect.ext_code,
+ prodSelect.notes,
+ "删除"
+ );
+
+ dgvSelectProduct.Rows[rowIndex].Height = 60;
+ }
+ }
+ }
+
+ private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
+ {
+ if (e.ColumnIndex < 0 || e.RowIndex < 0)
+ return;
+ string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText;
+ var id = dgvSelectProduct.Rows[e.RowIndex].Cells["colId"].Value.ParseToString();
+ var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == id);
+ var row = dgvSelectProduct.Rows[e.RowIndex];
+
+ switch (headerText)
+ {
+ case "删除":
+ if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
+ return;
+ lstTemuDBProductSelect.RemoveAll(s => s.id == row.Cells["colId"].Value.ParseToInt());
+ this.dgvSelectProduct.Rows.Remove(row);
+ break;
+ case "图片":
+ ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].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 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)
+ {
+ lstTemuDBProductSelect.RemoveAll(s => s.id == row.Cells["colId"].Value.ParseToInt());
+ this.dgvSelectProduct.Rows.Remove(row);
+ }
+ }
+ }
+ }
+}
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.resx
new file mode 100644
index 0000000..05d1891
--- /dev/null
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectCacheForm.resx
@@ -0,0 +1,328 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 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
+
+
+
+
+ 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/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs
index 18a0b0c..21bed9e 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs
@@ -30,11 +30,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
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();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.txtAddTimesFake = new System.Windows.Forms.TextBox();
@@ -134,6 +134,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
+ this.txtExtCodeFilter = new System.Windows.Forms.TextBox();
+ this.panelEx3 = new DevComponents.DotNetBar.PanelEx();
+ this.label16 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -616,11 +619,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms
| 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.panelEx3);
+ this.ucGroupBoxEx4.Controls.Add(this.txtExtCodeFilter);
this.ucGroupBoxEx4.Controls.Add(this.btnClearUpload);
this.ucGroupBoxEx4.Controls.Add(this.lblWaitToUp);
this.ucGroupBoxEx4.Controls.Add(this.lblGoodsCount);
this.ucGroupBoxEx4.Controls.Add(this.txtAddCount);
this.ucGroupBoxEx4.Controls.Add(this.panelEx2);
+ this.ucGroupBoxEx4.Controls.Add(this.label16);
this.ucGroupBoxEx4.Location = new System.Drawing.Point(147, 2);
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
this.ucGroupBoxEx4.Size = new System.Drawing.Size(338, 140);
@@ -633,7 +639,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.btnClearUpload.CanvasColor = System.Drawing.SystemColors.Control;
this.btnClearUpload.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.btnClearUpload.DisabledBackColor = System.Drawing.Color.Empty;
- this.btnClearUpload.Location = new System.Drawing.Point(219, 72);
+ this.btnClearUpload.Location = new System.Drawing.Point(240, 98);
this.btnClearUpload.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
this.btnClearUpload.Name = "btnClearUpload";
this.btnClearUpload.Size = new System.Drawing.Size(76, 23);
@@ -656,26 +662,31 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// lblWaitToUp
//
this.lblWaitToUp.AutoSize = true;
- this.lblWaitToUp.Location = new System.Drawing.Point(18, 76);
+ this.lblWaitToUp.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.lblWaitToUp.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.lblWaitToUp.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.lblWaitToUp.Location = new System.Drawing.Point(18, 104);
this.lblWaitToUp.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblWaitToUp.Name = "lblWaitToUp";
this.lblWaitToUp.Size = new System.Drawing.Size(95, 17);
this.lblWaitToUp.TabIndex = 541;
this.lblWaitToUp.Text = "待上传商品 0 件";
+ this.lblWaitToUp.Click += new System.EventHandler(this.lblWaitToUp_Click);
//
// lblGoodsCount
//
this.lblGoodsCount.AutoSize = true;
- this.lblGoodsCount.Location = new System.Drawing.Point(164, 35);
+ this.lblGoodsCount.Location = new System.Drawing.Point(164, 64);
this.lblGoodsCount.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.lblGoodsCount.Name = "lblGoodsCount";
this.lblGoodsCount.Size = new System.Drawing.Size(131, 17);
this.lblGoodsCount.TabIndex = 537;
this.lblGoodsCount.Text = "产品库中共有 0 件商品";
+ this.lblGoodsCount.Click += new System.EventHandler(this.lblGoodsCount_Click);
//
// txtAddCount
//
- this.txtAddCount.Location = new System.Drawing.Point(20, 32);
+ this.txtAddCount.Location = new System.Drawing.Point(20, 61);
this.txtAddCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtAddCount.Name = "txtAddCount";
this.txtAddCount.Size = new System.Drawing.Size(47, 23);
@@ -688,7 +699,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.panelEx2.Cursor = System.Windows.Forms.Cursors.Hand;
this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty;
this.panelEx2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.panelEx2.Location = new System.Drawing.Point(70, 32);
+ this.panelEx2.Location = new System.Drawing.Point(70, 61);
this.panelEx2.Name = "panelEx2";
this.panelEx2.Size = new System.Drawing.Size(90, 23);
this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -791,18 +802,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle6.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
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;
+ 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.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
@@ -1220,18 +1231,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.dgvSelectProduct.AllowUserToAddRows = false;
this.dgvSelectProduct.AllowUserToDeleteRows = false;
- dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
+ dataGridViewCellStyle8.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle8;
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;
+ dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle9.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle9;
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colCheck,
@@ -1351,8 +1362,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
// colProductName
//
- dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
- this.colProductName.DefaultCellStyle = dataGridViewCellStyle5;
+ dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProductName.DefaultCellStyle = dataGridViewCellStyle10;
this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true;
@@ -1519,6 +1530,49 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.ucSplitPage1.TabIndex = 675;
this.ucSplitPage1.TotalPage = 1;
//
+ // txtExtCodeFilter
+ //
+ this.txtExtCodeFilter.Location = new System.Drawing.Point(70, 32);
+ this.txtExtCodeFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
+ this.txtExtCodeFilter.Name = "txtExtCodeFilter";
+ this.txtExtCodeFilter.Size = new System.Drawing.Size(182, 23);
+ this.txtExtCodeFilter.TabIndex = 555;
+ //
+ // panelEx3
+ //
+ 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(256, 32);
+ this.panelEx3.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
+ this.panelEx3.Name = "panelEx3";
+ this.panelEx3.Size = new System.Drawing.Size(60, 23);
+ this.panelEx3.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx3.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx3.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.panelEx3.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.panelEx3.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.panelEx3.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.panelEx3.Style.GradientAngle = 90;
+ this.panelEx3.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx3.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.panelEx3.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ 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 = 559;
+ this.panelEx3.Text = "清除筛选";
+ this.panelEx3.Click += new System.EventHandler(this.btnClearFilter_Click);
+ //
+ // label16
+ //
+ this.label16.AutoSize = true;
+ this.label16.Location = new System.Drawing.Point(16, 35);
+ this.label16.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
+ this.label16.Name = "label16";
+ this.label16.Size = new System.Drawing.Size(56, 17);
+ this.label16.TabIndex = 560;
+ this.label16.Text = "筛选货号";
+ //
// PDDDBProdUserSelectForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -1666,5 +1720,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
private System.Windows.Forms.TextBox txtAddTimesFake;
private System.Windows.Forms.Label label10;
private UserComponent.UcCheckBox chkActivity;
+ private DevComponents.DotNetBar.PanelEx panelEx3;
+ private System.Windows.Forms.TextBox txtExtCodeFilter;
+ private System.Windows.Forms.Label label16;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs
index 7a875b7..7a1d196 100644
--- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs
+++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs
@@ -705,6 +705,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
randomShop = randomShopLst[Randomx.GetId(randomShopLst.Count)];
}
+ if (lstTemuDBProductSelect.Count <= 0)
+ break;
var prod = lstTemuDBProductSelect[0];
if (randomShop != null)
{
@@ -922,7 +924,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
{
row.Cells["colDraftId"].Value = productDraftId; // 草稿箱id
row.Cells["colAddTime"].Value = DateTime.Now.ToString("yy-MM-dd HH:mm:ss");
- row.Cells["colOpResult"].Value = (prod.status == "已上传" ? "已成功上传" : "已上传草稿箱") + (" " + error).TrimEnd(' ') + " " + duration.ParseToInt() + "秒";
+ row.Cells["colOpResult"].Value = (prod.status == "已上传" ? "已成功上传" : "已上传但有部分错误") + (" " + error).TrimEnd(' ') + " " + duration.ParseToInt() + "秒";
row.Cells["colMsg"].Value = prod.status;
}
}));
@@ -950,7 +952,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.statusBar.lblTaskStatus.Text = "上传停止";
else
this.statusBar.lblTaskStatus.Text = "上传完成";
- this.statusBar.UpdateProgressBar(lstTemuDBProductSelect.Count);
+ //this.statusBar.UpdateProgressBar(lstTemuDBProductSelect.Count);
}));
}
@@ -995,7 +997,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref rst, "error_msg");
if (string.IsNullOrEmpty(error))
error = rst;
- return "上传失败 " + error;
+ return "新建查询失败 " + error;
}
var chance_id = BaseRegex.GetStringJson(ref rst, "chance_id");
@@ -1022,11 +1024,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
if (!rst.Contains("\"success\":true"))
{
- var error = BaseRegex.GetStringJson(ref rst, "error_msg");
- if (string.IsNullOrEmpty(error))
- error = rst;
- return "上传失败 " + error;
+ //var error = BaseRegex.GetStringJson(ref rst, "error_msg");
+ //if (string.IsNullOrEmpty(error))
+ // error = rst;
+ //return "新建创建失败 " + error;
}
+ //失败了继续走普通商品上传接口
var draftId = BaseRegex.GetStringJson(ref rst, "draft_id");
var goods_id = BaseRegex.GetLongJson(ref rst, "goods_id");
prodParam.goods_commit_id = draftId;
@@ -1034,7 +1037,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
if (prodParam.goods_id <= 0 || prodParam.goods_commit_id.ParseToLong() <= 0)
{
Thread.Sleep(Randomx.GetId(20, 80));
- //return "上传失败 申请机会商品ID失败" + rst.Replace("\"success\":true", "\"success1\":true");
+ //return "新建失败 申请机会商品ID失败" + rst.Replace("\"success\":true", "\"success1\":true");
string create_new_html = create_prod_commit_id(shop);
if (create_new_html.Contains("\"success\":true"))
{
@@ -1046,11 +1049,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref create_new_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = create_new_html;
- return "上传失败 " + error;
+ return "新建失败 " + error;
}
if (prodParam.goods_id <= 0 || prodParam.goods_commit_id.ParseToLong() <= 0)
{
- return "上传失败 " + create_new_html;
+ return "新建失败 " + create_new_html;
}
}
@@ -1061,7 +1064,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref rst, "error_msg");
if (string.IsNullOrEmpty(error))
error = rst;
- return "上传失败 " + error;
+ return "新建失败 " + error;
}
var chance_cat_id = BaseRegex.GetStringJson(ref rst, "cat_id");
@@ -1088,11 +1091,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref create_new_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = create_new_html;
- return "上传失败 " + error;
+ return "新建失败 " + error;
}
if (prodParam.goods_id <= 0 || prodParam.goods_commit_id.ParseToLong() <= 0)
{
- return "上传失败 " + create_new_html;
+ return "新建失败 " + create_new_html;
}
}
@@ -1121,7 +1124,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
}
catch (Exception ex) {
- return "上传失败 " + ex.Message;
+ return "编辑失败 " + ex.Message;
}
}
else
@@ -1129,7 +1132,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref prop_template_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = prop_template_html;
- return "上传失败 " + error;
+ return "编辑失败 " + error;
}
string decoration_preview_html = preview_goods_decoration(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
@@ -1142,7 +1145,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref decoration_preview_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = decoration_preview_html;
- return "上传失败 " + error;
+ return "编辑失败 " + error;
}
if (cell != null)
@@ -1163,7 +1166,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref cost_template_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = cost_template_html;
- return "上传失败 " + error;
+ return "编辑失败 " + error;
}
//智能关键字
@@ -1179,7 +1182,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref keywords_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = keywords_html;
- return "上传失败 " + error;
+ return "编辑失败 " + error;
}
JObject jObj = JObject.Parse(keywords_html);
@@ -1314,7 +1317,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
catch (Exception ex)
{
//转换失败也不要取消,会上传到草稿箱
- //return "上传失败 " + ex.Message;
+ //return "编辑失败 " + ex.Message;
}
}
}
@@ -1439,7 +1442,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref material_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = material_html;
- return "上传失败 " + error;
+ return "编辑失败 " + error;
}
}
// 长图
@@ -1456,7 +1459,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var error = BaseRegex.GetStringJson(ref material_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = material_html;
- return "上传失败 " + error;
+ return "编辑失败 " + error;
}
}
@@ -1529,14 +1532,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
}
}
- //if(isActivity) // 如果是去报活动,把基础价格报到3倍以上
- //{
- // skuParam.multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt();
-
- // if (isAddMorePriceFirst) // 先加后乘
- // skuParam.multi_price = ((skuInfo.multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
- // skuParam.price = skuParam.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt();
- //}
if (prodParam.market_price < skuParam.price + 1000)
{
@@ -1600,6 +1595,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
decorationParam.decoration_floor_list.Add(floor_param);
}
+ #region 测试
//if (prodInfo.size != null && prodInfo.size.classId != null)
//{
// var reusableSizespecRst = reusable_sizespec(shop, prodInfo.detail.cat_id.ParseToString(), prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
@@ -1627,6 +1623,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
// return "上传失败 " + error;
//}
//return "上传成功";
+ #endregion
sleepTime = Randomx.GetId(1000, 5000);
sleepTimeTotal += sleepTime;
@@ -1673,7 +1670,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//var error = BaseRegex.GetStringJson(ref size_result, "error_msg");
//if (string.IsNullOrEmpty(error))
// error = size_result;
- //return "上传失败 " + error;
+ //return "编辑失败 " + error;
}
else
{
@@ -1761,18 +1758,28 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
}
- #region 生成一个fake商品提交参数,价格按照3倍上传,用于参加活动
+ #region 生成一个fake商品提交参数,价格按照3倍(指定倍数)上传,用于参加活动
string img_signature = "";
- if (isActivityFake && 1 == 2)
+ if (isActivityFake && string.IsNullOrEmpty(dbProd.sku_img_replace_url) && !string.IsNullOrEmpty(dbProd.sku_img_replace_base64) && 1 == 1)
{
var img_signature_rst = get_uploag_img_signature(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (!img_signature_rst.Contains("\"success\":true"))
+ {
+ Thread.Sleep(Randomx.GetId(500, 1000));
+ img_signature_rst = get_uploag_img_signature(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
+ }
+ if (!img_signature_rst.Contains("\"success\":true"))
+ {
+ Thread.Sleep(Randomx.GetId(500, 1000));
+ img_signature_rst = get_uploag_img_signature(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
+ }
+ if (!img_signature_rst.Contains("\"success\":true"))
{
var error = BaseRegex.GetStringJson(ref img_signature_rst, "error_msg");
if (string.IsNullOrEmpty(error))
error = img_signature_rst;
- return "获取上传图片密钥失败 " + error;
+ return "上传图片准备失败 " + error;
}
else
{
@@ -1780,16 +1787,36 @@ namespace TemuKJD.PDDForms.ProductSelectForms
}
}
- string fakeImgUrlDefault = "https://img.pddpic.com/mms-material-img/2025-09-22/72122dc1-56d8-4265-9212-5bf0edcf72d4.jpeg.a.jpeg";
- //fakeImgUrlDefault = "https://img.pddpic.com/mms-goods-image/2025-09-21/4204dcd6-afe0-4090-94fc-a68bf70396da.jpeg.a.jpeg?imageView2/2/w/1700/q/85";
- if (currentCount % 3 == 0)
- fakeImgUrlDefault = "https://img.pddpic.com/mms-goods-image/2025-09-21/4204dcd6-afe0-4090-94fc-a68bf70396da.jpeg.a.jpeg";
- else if (currentCount % 3 == 1)
- fakeImgUrlDefault = "https://img.pddpic.com/mms-goods-image/2025-09-21/5ec7192b-3da3-4fc1-88fd-66493a5bc9cf.jpeg.a.jpeg";
- else
- fakeImgUrlDefault = "https://img.pddpic.com/open-gw/2025-08-13/97a2999c-0f60-47fb-a62f-21ecc0765cb9.jpeg";
- string fakeImgUrl = fakeImgUrlDefault;
- if (isActivityFake && 1==2)
+ //fakeImgUrlDefault = "https://img.pddpic.com/mms-goods-image/2025-09-23/a82199c7-eec1-40bc-a95a-a643f5ebf934.jpeg.a.jpeg"; // 不值钱的鞋
+ //https://img.pddpic.com/mms-goods-image/2025-09-23/aa714d65-08ba-437b-a62a-429b6f4ad061.jpeg.a.jpeg?imageView2/2/w/1700/q/85 // 图片缩略图格式
+ List imgStrLst = new List() {
+ "https://img.pddpic.com/open-gw/2025-08-13/97a2999c-0f60-47fb-a62f-21ecc0765cb9.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-21/4204dcd6-afe0-4090-94fc-a68bf70396da.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-21/5ec7192b-3da3-4fc1-88fd-66493a5bc9cf.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/e7b614a6-07fb-4d49-adf5-6f48e9afd36f.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/35151a9e-962e-4490-9d61-3477c090d29f.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/7c1d1098-d348-460e-b663-e19c960aede8.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/aa714d65-08ba-437b-a62a-429b6f4ad061.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/faaca32a-aae2-4ae5-85c9-44be1489208f.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/df8fa493-e8e2-4e07-8e8a-db30d10d5c9c.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/1b98757c-efb0-4a4e-8031-025056310c9f.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/c0e083d2-2e05-4b3d-9543-bcad49a17873.jpeg.a.jpeg",
+ "https://img.pddpic.com/mms-goods-image/2025-09-23/7ea07200-05da-45b9-9e9a-fba4d46cfec9.jpeg.a.jpeg",
+ };
+
+ int fakeImgTryCount = 0;
+ int fakeimgIndex = Randomx.GetId(imgStrLst.Count);
+ fakeSkuImgTry:
+ fakeimgIndex = Randomx.GetId(imgStrLst.Count);
+ fakeImgTryCount++;
+ fakeimgIndex++;
+ if (fakeimgIndex >= imgStrLst.Count)
+ fakeimgIndex = 0;
+ string fakeImgUrlDefault = imgStrLst[fakeimgIndex];
+ string fakeImgUrl = "";
+ if (fakeImgTryCount == 1 && !string.IsNullOrEmpty(dbProd.sku_img_replace_url))
+ fakeImgUrl = dbProd.sku_img_replace_url;
+ if (isActivityFake && string.IsNullOrEmpty(dbProd.sku_img_replace_url) && !string.IsNullOrEmpty(dbProd.sku_img_replace_base64) && 1 == 1)
{
string img_base64 = dbProd.sku_img_replace_base64;
if (string.IsNullOrEmpty(img_base64))
@@ -1830,11 +1857,19 @@ Content-Disposition: form-data; name=""pic_operations""
else
{
fakeImgUrl = BaseRegex.GetStringJson(ref uploadImgRst, "url");
+ var url = BaseClass.BuildObjString("product/mdy_sku_img_replace");
+ var data = UserLogin.GetSignaturex() +
+ "&db_id=" + dbProd.sku_img_replace_id;
+ data += "&img_url=" + GetHtml.UrlEncodeUtf8(fakeImgUrl);
+ var html = GetHtml.PostUtf8(url, data);
+ if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
+ html = GetHtml.PostUtf8(url, data);
}
}
- fakeImgUrl = fakeImgUrlDefault;
+ if (string.IsNullOrEmpty(fakeImgUrl))
+ fakeImgUrl = fakeImgUrlDefault;
- var prodParamHighPrice = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodParam));
+ var prodParamHighPrice = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodParam));
prodParamHighPrice.skus = new List();
foreach (var skuInfo in prodInfo.detail.sku)
{
@@ -1843,10 +1878,10 @@ Content-Disposition: form-data; name=""pic_operations""
id = skuInfo.id,
is_onsale = skuInfo.is_onsale,
limit_quantity = skuInfo.limit_quantity,
- multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(),
+ multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
out_sku_sn = skuInfo.out_sku_sn,
oversea_sku = skuInfo.oversea_sku,
- price = (skuInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(),
+ price = (skuInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
quantity_delta = txtStockNum.Text.Trim().ParseToInt(), //skuInfo.quantity,
shipment_limit_second_list = skuInfo.shipment_limit_second_list,
sku69_code = skuInfo.sku69_code,
@@ -1862,7 +1897,7 @@ Content-Disposition: form-data; name=""pic_operations""
thumb_url_file_id = skuInfo.thumb_url_file_id,
};
if (isAddMorePriceFirst) // 先加后乘
- skuParam.multi_price = ((skuInfo.multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
+ skuParam.multi_price = ((skuInfo.multi_price) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
skuParam.price = skuParam.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt();
if (prodParamHighPrice.market_price < skuParam.price + 1000)
@@ -1882,10 +1917,10 @@ Content-Disposition: form-data; name=""pic_operations""
id = skuInfo.id,
is_onsale = skuInfo.is_onsale,
limit_quantity = skuInfo.limit_quantity,
- multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(),
+ multi_price = (skuInfo.multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
out_sku_sn = skuInfo.out_sku_sn,
oversea_sku = skuInfo.oversea_sku,
- price = (skuInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(),
+ price = (skuInfo.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(),
quantity_delta = txtStockNum.Text.Trim().ParseToInt(), //skuInfo.quantity,
shipment_limit_second_list = skuInfo.shipment_limit_second_list,
sku69_code = skuInfo.sku69_code,
@@ -1898,10 +1933,10 @@ Content-Disposition: form-data; name=""pic_operations""
multi_price_in_yuan = "", // 内部计算直接置空
pre_sale_time = skuInfo.pre_sale_time,
sku_id = skuInfo.sku_id,
- thumb_url_file_id = skuInfo.thumb_url_file_id,
+ thumb_url_file_id = null, // skuInfo.thumb_url_file_id,
};
if (isAddMorePriceFirst) // 先加后乘
- skuParam.multi_price = ((skuInfo.multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
+ skuParam.multi_price = ((skuInfo.multi_price) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt();
skuParam.price = skuParam.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt();
if (prodParamHighPriceFakeSkuImg.market_price < skuParam.price + 1000)
@@ -1911,13 +1946,29 @@ Content-Disposition: form-data; name=""pic_operations""
}
prodParamHighPriceFakeSkuImg.skus.Add(skuParam);
}
+ //var skuSpec1Names = prodParamHighPriceFakeSkuImg.skus.Select(s => s.spec.FirstOrDefault()?.spec_name).Distinct().ToList();
+ //foreach (var skuSpec1Name in skuSpec1Names)
+ //{
+ // fakeImgUrl = imgStrLst[Randomx.GetId(imgStrLst.Count)];
+ // foreach (var sku in prodParamHighPriceFakeSkuImg.skus)
+ // {
+ // if (sku.spec != null && sku.spec.Count > 0)
+ // {
+ // if (sku.spec[0].spec_name == skuSpec1Name)
+ // {
+ // sku.thumb_url = fakeImgUrl;
+ // sku.thumb_url_file_id = null;
+ // }
+ // }
+ // }
+ //}
#endregion
if (cell != null)
{
Invoke(new Action(() =>
{
- cell.Value = "正在提交商品";
+ cell.Value = "正在保存商品";
}));
}
var decorationRst = "";
@@ -1928,7 +1979,7 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref decorationRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = decorationRst;
- return "上传失败 " + error;
+ return "保存失败 " + error;
}
Thread.Sleep(Randomx.GetId(20, 100));
@@ -1943,7 +1994,7 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref decoration_preview_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = decoration_preview_html;
- return "上传失败 " + error;
+ return "保存失败 " + error;
}
#endregion
@@ -1955,7 +2006,7 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref decorationRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = decorationRst;
- return "上传失败 " + error;
+ return "保存失败 " + error;
}
Thread.Sleep(Randomx.GetId(20, 100));
@@ -1971,7 +2022,7 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref decoration_preview_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = decoration_preview_html;
- return "上传失败 " + error;
+ return "保存失败 " + error;
}
Thread.Sleep(Randomx.GetId(20, 100));
@@ -1985,9 +2036,17 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = saveProdRst;
- return "上传失败 " + error;
+ return "保存失败 " + error;
}
+
+ if (cell != null)
+ {
+ Invoke(new Action(() =>
+ {
+ cell.Value = "正在提交商品";
+ }));
+ }
Thread.Sleep(Randomx.GetId(20, 100));
//var str = JsonHelper.SerializeObject(prodParam);
var uploadRst = submit_goods_edit(shop, null, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
@@ -1996,22 +2055,44 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref uploadRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = uploadRst;
- return "上传失败 " + error;
+ if (error.Contains("图片不是本店铺图片") && fakeImgTryCount < 5)
+ {
+ //saveProdRst = save_goods_edit(shop, prodParamHighPrice, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id);
+ Thread.Sleep(Randomx.GetId(3000, 10000));
+ //while(true)
+ //{
+ // Thread.Sleep(1000);
+ //}
+ goto fakeSkuImgTry;
+ }
+
+ return "提交失败 " + error;
}
//如果是活动报高价
if (isActivityFake)
{
string activityErr = "";
- Thread.Sleep(Randomx.GetId(45000, 60000));
+ Thread.Sleep(10000);
+ if (cell != null)
+ {
+ Invoke(new Action(() =>
+ {
+ cell.Value = "正在上传商品";
+ }));
+ }
+ Thread.Sleep(Randomx.GetId(35000, 45000));
+ //Thread.Sleep(Randomx.GetId(5000, 10000));
- var activityRst1 = activity_goods_info(shop, prodParam.goods_id.ParseToString());
+ var activityRst1 = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
if (!activityRst1.Contains("\"success\":true"))
{
- var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg");
+ var error = BaseRegex.GetStringJson(ref activityRst1, "error_msg");
if (string.IsNullOrEmpty(error))
- error = saveProdRst;
- activityErr = "上传失败2 981查询失败 " + error;
+ error = activityRst1;
+ activityErr = "上传失败 981查询失败 " + error;
+ if (BaseClass.SaLevel != 1)
+ activityErr = "上传失败";
goto restoreSkuImg;
}
try
@@ -2020,34 +2101,52 @@ Content-Disposition: form-data; name=""pic_operations""
var jStr = JsonHelper.SerializeObject(jObj["result"]["result"]);
var pddActivitiInfo = (JsonHelper.DeserializeJsonToObject(jStr)?.theme_activity_quick_enroll_goods_render_form_list).FirstOrDefault();
+ if (pddActivitiInfo == null)
+ {
+ activityErr = "上传失败 981查询/新建失败 商品未提交成功或不满足参加活动条件";
+ if (BaseClass.SaLevel != 1)
+ activityErr = "上传失败";
+ goto restoreSkuImg;
+ }
foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
{
- var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
+ //var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
+ var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
+ if (sku == null || sku.multi_price > activitySku.suggest_price)
{
- if (sku != null && sku.multi_price > activitySku.suggest_price)
- {
- activityErr = "上传失败2 981价格更新失败";
- goto restoreSkuImg;
- }
+ activityErr = "上传失败 981价格低于产品加价";
+ if (BaseClass.SaLevel != 1)
+ activityErr = "提交失败";
+ goto restoreSkuImg;
}
}
PDDActivitySubmitParam actSubmitParam = new PDDActivitySubmitParam();
- actSubmitParam.activity_id = 20981;
+ actSubmitParam.activity_id = pddActivitiInfo.activity_id;
var goods_vo_item = new goods_vo_param();
actSubmitParam.goods_volist.Add(goods_vo_item);
goods_vo_item.goods_id = prodParam.goods_id;
foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
{
+ //var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
+ var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
+ if (sku == null)
+ {
+ activityErr = "上传失败 981价格错误";
+ if (BaseClass.SaLevel != 1)
+ activityErr = "提交失败";
+ goto restoreSkuImg;
+ }
+
create_sku_vo_item sku_vo_item = new create_sku_vo_item();
sku_vo_item.sku_id = activitySku.sku_id;
- sku_vo_item.sku_activity_price = activitySku.suggest_price;
+ sku_vo_item.sku_activity_price = sku.multi_price; //activitySku.suggest_price;
sku_vo_item.sku_front_ctx_vo = new sku_front_ctx_vo_item()
{
- filling_sku_price = activitySku.suggest_price,
+ filling_sku_price = sku.multi_price, //activitySku.suggest_price,
gear_rule = activitySku.gear_rule,
- require_price = activitySku.suggest_price,
+ require_price = sku.multi_price, //activitySku.suggest_price,
};
goods_vo_item.create_activity_price_vo.create_sku_vos.Add(sku_vo_item);
}
@@ -2058,13 +2157,17 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref addActivityRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = addActivityRst;
- activityErr = "上传失败2 981新建失败 " + error;
+ activityErr = "上传失败 981新建失败 " + error;
+ if (BaseClass.SaLevel != 1)
+ activityErr = "上传失败";
goto restoreSkuImg;
}
}
catch (Exception ex)
{
- activityErr = "上传失败2 981查询/新建失败 " + ex.Message;
+ activityErr = "上传失败 981查询/新建失败 " + ex.Message;
+ if (BaseClass.SaLevel != 1)
+ activityErr = "上传失败";
goto restoreSkuImg;
}
@@ -2074,12 +2177,15 @@ Content-Disposition: form-data; name=""pic_operations""
var getProdIdRst = get_prod_commit_id(shop, prodParamHighPrice.goods_id.ParseToString());
var newCommitId = BaseRegex.GetStringJson(ref getProdIdRst, "goods_commit_id");
prodParamHighPrice.goods_commit_id = newCommitId;
- if (string.IsNullOrEmpty(newCommitId) || !saveProdRst.Contains("\"success\":true"))
+ if (string.IsNullOrEmpty(newCommitId) || !getProdIdRst.Contains("\"success\":true"))
{
- var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg");
+ var error = BaseRegex.GetStringJson(ref getProdIdRst, "error_msg");
if (string.IsNullOrEmpty(error))
- error = saveProdRst;
- return "上传失败2 获取commit_id失败" + error;
+ error = getProdIdRst;
+
+ if (BaseClass.SaLevel != 1)
+ return "上传失败";
+ return "上传失败 校验上传失败 " + error;
}
@@ -2089,7 +2195,10 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = saveProdRst;
- return "上传失败2 保存失败" + error;
+
+ if (BaseClass.SaLevel != 1)
+ return "上传失败";
+ return "上传失败 保存失败 " + error;
}
Thread.Sleep(Randomx.GetId(20, 100));
@@ -2100,11 +2209,14 @@ Content-Disposition: form-data; name=""pic_operations""
var error = BaseRegex.GetStringJson(ref uploadRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = uploadRst;
- return "上传失败2 提交失败" + error;
+
+ if (BaseClass.SaLevel != 1)
+ return "上传失败";
+ return "上传失败 提交失败 " + error;
}
if (!string.IsNullOrEmpty(activityErr))
- return "上传失败2 " + activityErr;
+ return activityErr;
}
return "{\"success\":true,\"draftId\":" + prodParam.goods_id + ",\"status\":\"已上传\"\"msg\":\"上传成功\"}";
}
@@ -3039,6 +3151,8 @@ Content-Disposition: form-data; name=""pic_operations""
{
int prodCount = 0;
var list = GetRandomProductList(out prodCount, 1, 50);
+ if (list.Count == 0) // 等于0要么库里没数据要么出错了,跳出
+ break;
Invoke(new Action(() =>
{
lblGoodsCount.Text = "产品库中共有 " + prodCount + " 件商品";
@@ -3082,6 +3196,7 @@ Content-Disposition: form-data; name=""pic_operations""
data = UserLogin.GetSignaturex() +
"&page=" + 1 +
"&page_size=" + pageSize;
+ data += "&in_ext_codes=" + txtExtCodeFilter.Text;
}));
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
@@ -3203,6 +3318,28 @@ Content-Disposition: form-data; name=""pic_operations""
{
isActivityFake = chkActivity.Checked;
}
+
+ private void lblGoodsCount_Click(object sender, EventArgs e)
+ {
+ //PDDDBProdListForm f = new PDDDBProdListForm();
+ //f.Width = 1366;
+ //f.Height = 768;
+ //f.ShowMaximizeBox = true;
+ //f.ShowDialog();
+ }
+
+ private void lblWaitToUp_Click(object sender, EventArgs e)
+ {
+ PDDDBProdUserSelectCacheForm selectCacheForm = new PDDDBProdUserSelectCacheForm(lstTemuDBProductSelect);
+ selectCacheForm.ShowDialog();
+
+ lblWaitToUp.Text = "待上传商品 " + lstTemuDBProductSelect.Count + " 件";
+ }
+
+ private void btnClearFilter_Click(object sender, EventArgs e)
+ {
+ txtExtCodeFilter.Text = "";
+ }
}
public class AddPriceRule