diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index bfdaf71..66bc16b 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 876; + public static int VersionCount = 879; //public static int VersionCount = 613; /// diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs index cb1042a..cb0e15a 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs @@ -1030,7 +1030,7 @@ namespace KJD_Web.BLL.BXX } if (!string.IsNullOrEmpty(wx_cat_1)) { - where += " and p.wx_cat_1=" + wx_cat_1 + ""; + where += " and p.wx_cat_1 in (" + wx_cat_1 + ")"; } if (!string.IsNullOrEmpty(wx_cat_2)) { diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index a69dc5a..af7c2d0 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -1546,6 +1546,7 @@ + diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs index 17869bc..ae13871 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs @@ -40,6 +40,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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(); + 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(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle17 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdListForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.btnStopStop = new DevComponents.DotNetBar.PanelEx(); @@ -56,9 +63,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.label8 = new System.Windows.Forms.Label(); this.txtReplaceText = new System.Windows.Forms.TextBox(); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.txtSecretStyleCode = new System.Windows.Forms.TextBox(); + this.label15 = new System.Windows.Forms.Label(); this.cmbCat1 = new System.Windows.Forms.ComboBox(); - this.cmbCat2 = new System.Windows.Forms.ComboBox(); - this.label14 = new System.Windows.Forms.Label(); this.label13 = new System.Windows.Forms.Label(); this.cmbSourceType = new System.Windows.Forms.ComboBox(); this.label10 = new System.Windows.Forms.Label(); @@ -90,7 +97,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.chkPullAfterPush = new TemuKJD.UserComponent.UcCheckBox(this.components); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.cmbSpProdType = new System.Windows.Forms.ComboBox(); + this.cmbCat2 = new System.Windows.Forms.ComboBox(); this.btnGetAllCate = new DevComponents.DotNetBar.PanelEx(); + this.label14 = new System.Windows.Forms.Label(); this.pnlEditExtCodePrice = new System.Windows.Forms.Panel(); this.lblExtCode = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); @@ -104,6 +113,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSelect = new DevComponents.DotNetBar.PanelEx(); this.label11 = new System.Windows.Forms.Label(); this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.col_db_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colFromShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -117,6 +128,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colMainCate = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.col_cat_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.col_ext_code = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colStyleCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colGroup = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPriceText = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colExtCodePrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -136,8 +148,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_edit = new System.Windows.Forms.DataGridViewLinkColumn(); this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn(); this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -444,9 +454,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 16.66666F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.Controls.Add(this.txtSecretStyleCode, 5, 0); + this.tableLayoutPanel1.Controls.Add(this.label15, 4, 0); this.tableLayoutPanel1.Controls.Add(this.cmbCat1, 3, 0); - this.tableLayoutPanel1.Controls.Add(this.cmbCat2, 5, 0); - this.tableLayoutPanel1.Controls.Add(this.label14, 4, 0); this.tableLayoutPanel1.Controls.Add(this.label13, 10, 1); this.tableLayoutPanel1.Controls.Add(this.cmbSourceType, 5, 1); this.tableLayoutPanel1.Controls.Add(this.label10, 4, 1); @@ -478,42 +488,41 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.tableLayoutPanel1.Size = new System.Drawing.Size(650, 71); this.tableLayoutPanel1.TabIndex = 679; // + // txtSecretStyleCode + // + this.txtSecretStyleCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.txtSecretStyleCode.Location = new System.Drawing.Point(243, 6); + this.txtSecretStyleCode.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtSecretStyleCode.Name = "txtSecretStyleCode"; + this.txtSecretStyleCode.Size = new System.Drawing.Size(38, 23); + this.txtSecretStyleCode.TabIndex = 812; + // + // label15 + // + this.label15.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(199, 9); + this.label15.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(44, 17); + this.label15.TabIndex = 811; + this.label15.Text = "编码:"; + // // cmbCat1 // this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbCat1.FormattingEnabled = true; - this.cmbCat1.Location = new System.Drawing.Point(154, 7); + this.cmbCat1.Location = new System.Drawing.Point(155, 7); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(37, 25); + this.cmbCat1.Size = new System.Drawing.Size(38, 25); this.cmbCat1.TabIndex = 805; // - // cmbCat2 - // - this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.cmbCat2.FormattingEnabled = true; - this.cmbCat2.Location = new System.Drawing.Point(248, 7); - this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); - this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(37, 25); - this.cmbCat2.TabIndex = 804; - // - // label14 - // - this.label14.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(197, 9); - this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(51, 17); - this.label14.TabIndex = 784; - this.label14.Text = "类目2:"; - // // label13 // this.label13.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label13.AutoSize = true; - this.label13.Location = new System.Drawing.Point(489, 44); + this.label13.Location = new System.Drawing.Point(487, 44); this.label13.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label13.Name = "label13"; this.label13.Size = new System.Drawing.Size(68, 17); @@ -531,17 +540,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms "机会商品", "以图搜品", "外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(248, 43); + this.cmbSourceType.Location = new System.Drawing.Point(243, 43); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(37, 25); + this.cmbSourceType.Size = new System.Drawing.Size(38, 25); this.cmbSourceType.TabIndex = 654; // // label10 // this.label10.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label10.AutoSize = true; - this.label10.Location = new System.Drawing.Point(197, 44); + this.label10.Location = new System.Drawing.Point(199, 44); this.label10.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(44, 17); @@ -565,7 +574,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtSPU.Location = new System.Drawing.Point(60, 6); this.txtSPU.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtSPU.Name = "txtSPU"; - this.txtSPU.Size = new System.Drawing.Size(37, 23); + this.txtSPU.Size = new System.Drawing.Size(38, 23); this.txtSPU.TabIndex = 434; // // cmbWxCat @@ -576,17 +585,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms "", "是", "否"}); - this.cmbWxCat.Location = new System.Drawing.Point(557, 7); + this.cmbWxCat.Location = new System.Drawing.Point(555, 7); this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxCat.Name = "cmbWxCat"; - this.cmbWxCat.Size = new System.Drawing.Size(37, 25); + this.cmbWxCat.Size = new System.Drawing.Size(38, 25); this.cmbWxCat.TabIndex = 802; // // label2 // this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(103, 9); + this.label2.Location = new System.Drawing.Point(104, 9); this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(51, 17); @@ -600,10 +609,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.cmbSort.Items.AddRange(new object[] { "入库时间", "认领总数"}); - this.cmbSort.Location = new System.Drawing.Point(335, 43); + this.cmbSort.Location = new System.Drawing.Point(331, 43); this.cmbSort.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSort.Name = "cmbSort"; - this.cmbSort.Size = new System.Drawing.Size(37, 25); + this.cmbSort.Size = new System.Drawing.Size(38, 25); this.cmbSort.TabIndex = 448; this.cmbSort.Text = "入库时间"; // @@ -611,7 +620,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label6.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(291, 44); + this.label6.Location = new System.Drawing.Point(287, 44); this.label6.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(44, 17); @@ -622,7 +631,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label4.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(291, 9); + this.label4.Location = new System.Drawing.Point(287, 9); this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(44, 17); @@ -633,7 +642,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label12.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(489, 9); + this.label12.Location = new System.Drawing.Point(487, 9); this.label12.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(68, 17); @@ -643,10 +652,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtExtCode // this.txtExtCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtExtCode.Location = new System.Drawing.Point(335, 6); + this.txtExtCode.Location = new System.Drawing.Point(331, 6); this.txtExtCode.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtExtCode.Name = "txtExtCode"; - this.txtExtCode.Size = new System.Drawing.Size(37, 23); + this.txtExtCode.Size = new System.Drawing.Size(38, 23); this.txtExtCode.TabIndex = 429; // // btnSearch @@ -656,7 +665,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearch.Location = new System.Drawing.Point(600, 5); + this.btnSearch.Location = new System.Drawing.Point(599, 5); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(46, 25); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -691,14 +700,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtNotes.Location = new System.Drawing.Point(60, 41); this.txtNotes.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtNotes.Name = "txtNotes"; - this.txtNotes.Size = new System.Drawing.Size(37, 23); + this.txtNotes.Size = new System.Drawing.Size(38, 23); this.txtNotes.TabIndex = 439; // // lblGroup // this.lblGroup.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblGroup.AutoSize = true; - this.lblGroup.Location = new System.Drawing.Point(110, 44); + this.lblGroup.Location = new System.Drawing.Point(111, 44); this.lblGroup.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblGroup.Name = "lblGroup"; this.lblGroup.Size = new System.Drawing.Size(44, 17); @@ -709,10 +718,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(154, 43); + this.cmbGroupFilter.Location = new System.Drawing.Point(155, 43); this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbGroupFilter.Name = "cmbGroupFilter"; - this.cmbGroupFilter.Size = new System.Drawing.Size(37, 25); + this.cmbGroupFilter.Size = new System.Drawing.Size(38, 25); this.cmbGroupFilter.TabIndex = 653; // // pnlEmpty @@ -721,7 +730,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.pnlEmpty.Location = new System.Drawing.Point(600, 40); + this.pnlEmpty.Location = new System.Drawing.Point(599, 40); this.pnlEmpty.Name = "pnlEmpty"; this.pnlEmpty.Size = new System.Drawing.Size(46, 25); this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -749,17 +758,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms "是", "否", "导出未拉回"}); - this.cmbExportToOutServer.Location = new System.Drawing.Point(557, 43); + this.cmbExportToOutServer.Location = new System.Drawing.Point(555, 43); this.cmbExportToOutServer.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbExportToOutServer.Name = "cmbExportToOutServer"; - this.cmbExportToOutServer.Size = new System.Drawing.Size(37, 25); + this.cmbExportToOutServer.Size = new System.Drawing.Size(38, 25); this.cmbExportToOutServer.TabIndex = 803; // // label3 // this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(378, 9); + this.label3.Location = new System.Drawing.Point(375, 9); this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(68, 17); @@ -769,10 +778,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtProdName // this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtProdName.Location = new System.Drawing.Point(446, 6); + this.txtProdName.Location = new System.Drawing.Point(443, 6); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(37, 23); + this.txtProdName.Size = new System.Drawing.Size(38, 23); this.txtProdName.TabIndex = 427; // // cmbWxSafe @@ -785,10 +794,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms "安全商品", "违规商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(446, 43); + this.cmbWxSafe.Location = new System.Drawing.Point(443, 43); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(37, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(38, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // @@ -796,7 +805,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.lblWxSafe.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblWxSafe.AutoSize = true; - this.lblWxSafe.Location = new System.Drawing.Point(378, 44); + this.lblWxSafe.Location = new System.Drawing.Point(375, 44); this.lblWxSafe.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblWxSafe.Name = "lblWxSafe"; this.lblWxSafe.Size = new System.Drawing.Size(68, 17); @@ -922,7 +931,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms // splitContainer2.Panel1 // this.splitContainer2.Panel1.Controls.Add(this.cmbSpProdType); + this.splitContainer2.Panel1.Controls.Add(this.cmbCat2); this.splitContainer2.Panel1.Controls.Add(this.btnGetAllCate); + this.splitContainer2.Panel1.Controls.Add(this.label14); this.splitContainer2.Panel1.Controls.Add(this.pnlEditExtCodePrice); this.splitContainer2.Panel1.Controls.Add(this.pbLoading); this.splitContainer2.Panel1.Controls.Add(this.txtSKC); @@ -955,6 +966,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.cmbSpProdType.TabIndex = 677; this.cmbSpProdType.Visible = false; // + // cmbCat2 + // + this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbCat2.FormattingEnabled = true; + this.cmbCat2.Location = new System.Drawing.Point(82, 173); + this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.cmbCat2.Name = "cmbCat2"; + this.cmbCat2.Size = new System.Drawing.Size(37, 25); + this.cmbCat2.TabIndex = 804; + this.cmbCat2.Visible = false; + // // btnGetAllCate // this.btnGetAllCate.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; @@ -980,6 +1002,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnGetAllCate.Visible = false; this.btnGetAllCate.Click += new System.EventHandler(this.btnGetAllCate_Click); // + // label14 + // + this.label14.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(31, 177); + this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(51, 17); + this.label14.TabIndex = 784; + this.label14.Text = "类目2:"; + this.label14.Visible = false; + // // pnlEditExtCodePrice // this.pnlEditExtCodePrice.Anchor = System.Windows.Forms.AnchorStyles.None; @@ -1176,6 +1210,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colMainCate, this.col_cat_name, this.col_ext_code, + this.colStyleCode, this.colGroup, this.colPriceText, this.colExtCodePrice, @@ -1205,6 +1240,31 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick); this.dgvDbProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvDbProduct_Scroll); // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.IsShowPageSize = true; + this.ucSplitPage1.Location = new System.Drawing.Point(985, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.ucSplitPage1.PageSize = 100; + this.ucSplitPage1.Size = new System.Drawing.Size(453, 25); + this.ucSplitPage1.TabIndex = 6; + this.ucSplitPage1.TotalPage = 1; + // + // 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(1438, 25); + this.statusBar.TabIndex = 5; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -1275,6 +1335,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // col_spu_id // + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.col_spu_id.DefaultCellStyle = dataGridViewCellStyle4; this.col_spu_id.HeaderText = "商品Id"; this.col_spu_id.Name = "col_spu_id"; this.col_spu_id.ReadOnly = true; @@ -1288,8 +1350,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // colMainCate // - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colMainCate.DefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colMainCate.DefaultCellStyle = dataGridViewCellStyle5; this.colMainCate.FillWeight = 50F; this.colMainCate.HeaderText = "主类目"; this.colMainCate.Name = "colMainCate"; @@ -1297,8 +1359,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // col_cat_name // - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.col_cat_name.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.col_cat_name.DefaultCellStyle = dataGridViewCellStyle6; this.col_cat_name.FillWeight = 70F; this.col_cat_name.HeaderText = "类目"; this.col_cat_name.Name = "col_cat_name"; @@ -1306,18 +1368,32 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // col_ext_code // + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.col_ext_code.DefaultCellStyle = dataGridViewCellStyle7; this.col_ext_code.HeaderText = "货号"; this.col_ext_code.Name = "col_ext_code"; this.col_ext_code.ReadOnly = true; // + // colStyleCode + // + dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colStyleCode.DefaultCellStyle = dataGridViewCellStyle8; + this.colStyleCode.HeaderText = "资料编码/真实上家"; + this.colStyleCode.Name = "colStyleCode"; + this.colStyleCode.ReadOnly = true; + // // colGroup // + dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colGroup.DefaultCellStyle = dataGridViewCellStyle9; this.colGroup.HeaderText = "分组"; this.colGroup.Name = "colGroup"; this.colGroup.ReadOnly = true; // // colPriceText // + dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colPriceText.DefaultCellStyle = dataGridViewCellStyle10; this.colPriceText.FillWeight = 65F; this.colPriceText.HeaderText = "母店价格"; this.colPriceText.Name = "colPriceText"; @@ -1364,16 +1440,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // col_notes // - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.col_notes.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.col_notes.DefaultCellStyle = dataGridViewCellStyle11; + this.col_notes.FillWeight = 70F; this.col_notes.HeaderText = "备注"; this.col_notes.Name = "col_notes"; this.col_notes.ReadOnly = true; // // colHeadWords // - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colHeadWords.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colHeadWords.DefaultCellStyle = dataGridViewCellStyle12; this.colHeadWords.HeaderText = "标题前缀"; this.colHeadWords.Name = "colHeadWords"; this.colHeadWords.ReadOnly = true; @@ -1381,8 +1458,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // colEndWords // - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colEndWords.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colEndWords.DefaultCellStyle = dataGridViewCellStyle13; this.colEndWords.HeaderText = "标题后缀"; this.colEndWords.Name = "colEndWords"; this.colEndWords.ReadOnly = true; @@ -1390,8 +1467,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // colFissionWords // - dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colFissionWords.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colFissionWords.DefaultCellStyle = dataGridViewCellStyle14; this.colFissionWords.HeaderText = "裂变词"; this.colFissionWords.Name = "colFissionWords"; this.colFissionWords.ReadOnly = true; @@ -1399,8 +1476,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // colGetType // - dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colGetType.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colGetType.DefaultCellStyle = dataGridViewCellStyle15; this.colGetType.FillWeight = 70F; this.colGetType.HeaderText = "采集来源"; this.colGetType.Name = "colGetType"; @@ -1412,6 +1489,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colSpProdType.HeaderText = "商品类型"; this.colSpProdType.Name = "colSpProdType"; this.colSpProdType.ReadOnly = true; + this.colSpProdType.Visible = false; // // colWxSafe // @@ -1422,14 +1500,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // colAddTime // - this.colAddTime.FillWeight = 80F; + dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16; + this.colAddTime.FillWeight = 70F; this.colAddTime.HeaderText = "入库时间"; this.colAddTime.Name = "colAddTime"; this.colAddTime.ReadOnly = true; // // colMdyTime // - this.colMdyTime.FillWeight = 80F; + dataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle17; + this.colMdyTime.FillWeight = 70F; this.colMdyTime.HeaderText = "更新时间"; this.colMdyTime.Name = "colMdyTime"; this.colMdyTime.ReadOnly = true; @@ -1459,31 +1541,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_select_product.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.col_select_product.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; - this.ucSplitPage1.IsShowPageSize = true; - this.ucSplitPage1.Location = new System.Drawing.Point(985, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); - this.ucSplitPage1.PageSize = 100; - this.ucSplitPage1.Size = new System.Drawing.Size(453, 25); - this.ucSplitPage1.TabIndex = 6; - this.ucSplitPage1.TotalPage = 1; - // - // 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(1438, 25); - this.statusBar.TabIndex = 5; - // // PDDDBProdListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1578,6 +1635,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.ComboBox cmbWxCat; private System.Windows.Forms.Label label12; private DevComponents.DotNetBar.PanelEx btnPushToOutServer; + private System.Windows.Forms.ComboBox cmbExportToOutServer; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.ComboBox cmbCat2; + private System.Windows.Forms.Label label14; + private System.Windows.Forms.ComboBox cmbCat1; + private DevComponents.DotNetBar.PanelEx btnPull; + private UserComponent.UcCheckBox chkPullAfterPush; + private DevComponents.DotNetBar.PanelEx btnStopStop; + private System.Windows.Forms.TextBox txtSecretStyleCode; + private System.Windows.Forms.Label label15; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id; private System.Windows.Forms.DataGridViewTextBoxColumn colFromShopId; @@ -1591,6 +1658,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewTextBoxColumn colMainCate; private System.Windows.Forms.DataGridViewTextBoxColumn col_cat_name; private System.Windows.Forms.DataGridViewTextBoxColumn col_ext_code; + private System.Windows.Forms.DataGridViewTextBoxColumn colStyleCode; private System.Windows.Forms.DataGridViewTextBoxColumn colGroup; private System.Windows.Forms.DataGridViewTextBoxColumn colPriceText; private System.Windows.Forms.DataGridViewTextBoxColumn colExtCodePrice; @@ -1610,13 +1678,5 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewLinkColumn col_edit; private System.Windows.Forms.DataGridViewLinkColumn col_delete; private System.Windows.Forms.DataGridViewLinkColumn col_select_product; - private System.Windows.Forms.ComboBox cmbExportToOutServer; - private System.Windows.Forms.Label label13; - private System.Windows.Forms.ComboBox cmbCat2; - private System.Windows.Forms.Label label14; - private System.Windows.Forms.ComboBox cmbCat1; - private DevComponents.DotNetBar.PanelEx btnPull; - private UserComponent.UcCheckBox chkPullAfterPush; - private DevComponents.DotNetBar.PanelEx btnStopStop; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs index 2f1081b..9f13bda 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -202,13 +202,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms defaultBitmap, // prod.main_img, prod.sku_img_replace_url, DataGridViewExtension.defaultBitmap, - prod.spu_id, + (prod.spu_id).Trim(), prod.skc_id, prod.main_cat_name ?? prod.main_cat_id, catName, prod.ext_code, + (prod.secret_spu_id + " " + prod.real_spu_id + " " + prod.real_coid).Trim(), prod.group, - prod.price_text, // 母店价格 + prod.price_text.Replace("-", " - "), // 母店价格 prod.ext_code_price * 0.01m, // 货号价格 "编辑", prod.select_count, @@ -218,7 +219,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms prod.head_words, prod.end_words, prod.fission_words, - prod.product_get_type_text == "厂商直采" ? prod.product_get_type_text + " " + prod.skc_id : prod.product_get_type_text, + prod.product_get_type_text == "厂商直采" ? (prod.product_get_type_text + " " + prod.skc_id).Trim() : prod.product_get_type_text, prod.special_prod_type, prod.wx_safe_status, prod.add_time.ToString("yy-MM-dd HH:mm"), @@ -317,6 +318,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms "&search_prod_name=" + txtProdName.Text.Trim() + "&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验") + "&special_prod_type=" + cmbSpProdType.Text.Trim(); + if (!string.IsNullOrEmpty(txtSecretStyleCode.Text.Trim())) + { + data += "&search_secret_spu_ids=" + string.Join(",", txtSecretStyleCode.Text.Trim().Split(new string[] { " ", ",", "," }, StringSplitOptions.RemoveEmptyEntries)); + } if (!string.IsNullOrEmpty(cmbWxCat.Text)) { data += "&has_wx_cat=" + (cmbWxCat.Text.Trim() == "是").ParseToString().ToLower(); @@ -382,10 +387,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms } } + bool first = true; private void ProductListForm_VisibleChanged(object sender, EventArgs e) { - if (this.Visible == true) + if (this.Visible == true && first) { + first = false; + this.pbLoading.Visible = true; SearchDbProd(this.ucSplitPage1.CurrentPage); } @@ -412,6 +420,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.cmbSpProdType.Text = ""; this.cmbWxCat.Text = ""; this.cmbExportToOutServer.Text = ""; + this.txtSecretStyleCode.Text = ""; } private void dgvDbProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) @@ -1017,7 +1026,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms private void btnGetProdWxCate_Click(object sender, EventArgs e) { var lstProdId = dgvDbProduct.Rows.Cast().Where(row - => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["col_spu_id"]?.Value.ToString()).ToList(); + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["col_spu_id"]?.Value.ToString().Split(' ').FirstOrDefault()).ToList(); var prodList = this.lstTemuDbProduct.Where(p => lstProdId.Contains(p.spu_id)).ToList(); if (prodList.Count == 0) return; @@ -1106,10 +1115,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms html = GetHtml.PostUtf8(url, data); } // 上传图片识别 - if (upDateRst.Contains("图片格式不合法")) + if (upDateRst.Contains("图片格式不合法") || upDateRst.Contains("文件大小超出限制")) { string errMsg = ""; - var imgBase64 = WXForms.ProductForms.WXDBProdUploadForm.GetImgBase64ForApi(out errMsg, img, false, false); + var imgBase64 = WXForms.ProductForms.WXDBProdUploadForm.GetImgBase64ForApi(out errMsg, img, false, false, 800, 800); if (!string.IsNullOrEmpty(errMsg)) { //break; @@ -1134,7 +1143,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms } var upImgUrl = BaseRegex.GetStringJson(ref upDateRst, "img_url"); + //if (upImgUrl != null) (obj["head_imgs"] as JArray).Add(upImgUrl); + //else + //{ + //} } obj["title"] = jstProd.itemName; diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx index dbc7e9f..de66977 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx @@ -156,6 +156,9 @@ True + + True + True diff --git a/TEMUKJD/Properties/Resources.Designer.cs b/TEMUKJD/Properties/Resources.Designer.cs index 17ae562..81af79b 100644 --- a/TEMUKJD/Properties/Resources.Designer.cs +++ b/TEMUKJD/Properties/Resources.Designer.cs @@ -593,6 +593,16 @@ namespace TemuKJD.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap qingxu { + get { + object obj = ResourceManager.GetObject("qingxu", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// diff --git a/TEMUKJD/Properties/Resources.resx b/TEMUKJD/Properties/Resources.resx index 1c5b8f0..a543610 100644 --- a/TEMUKJD/Properties/Resources.resx +++ b/TEMUKJD/Properties/Resources.resx @@ -268,6 +268,9 @@ ..\resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\resources\qingxu.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\qrcode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/TEMUKJD/Resources/qingxu.jpg b/TEMUKJD/Resources/qingxu.jpg new file mode 100644 index 0000000..6b6121c Binary files /dev/null and b/TEMUKJD/Resources/qingxu.jpg differ diff --git a/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs b/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs index 16a360f..b2186aa 100644 --- a/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs +++ b/TEMUKJD/ToolForms/GetJuShuitanProdForm.cs @@ -1234,12 +1234,12 @@ namespace TemuKJD.ToolForms // 采集商品详情 - var getDetailRst = GetPddBaseData(shop, prod); - if (!getDetailRst.Contains("\"success\":true")) + var getPddDetailRst = GetPddBaseData(shop, prod); + if (!getPddDetailRst.Contains("\"success\":true")) { - var errMsg = BaseRegex.GetStringJson(ref getDetailRst, "message"); + var errMsg = BaseRegex.GetStringJson(ref getPddDetailRst, "message"); if (string.IsNullOrEmpty(errMsg)) - errMsg = getDetailRst; + errMsg = getPddDetailRst; prod.getProductMsg = "采集失败 " + errMsg; Invoke(new Action(() => { @@ -1250,7 +1250,16 @@ namespace TemuKJD.ToolForms try { - var jObj = JsonHelper.JObjectParse(getDetailRst)["data"]; + var jObj = JsonHelper.JObjectParse(getPddDetailRst)["data"]; + + // 未维护拼多多平台数据的,采集聚水潭基础数据转化为拼多多数据,给客户上传草稿箱使用 + if (jObj.IsJTokenNullOrEmpty()) + { + jObj = GetJstDetail(shop, prod, row); + if (jObj == null) + continue; + } + prod.dbProduct.cat_id = jObj["catId"].ParseToString(); if (string.IsNullOrEmpty(jstPddShopId)) @@ -1261,6 +1270,8 @@ namespace TemuKJD.ToolForms } // 获取属性 + if (prod.dbProduct.cat_id.IsNullOrEmpty()) + prod.dbProduct.cat_id = "1"; var getPropRst = GetPddProp(shop, prod, prod.dbProduct.cat_id, jstPddShopId); if (!getPropRst.Contains("\"success\":true")) { @@ -1276,6 +1287,14 @@ namespace TemuKJD.ToolForms } List pddPropMap = new List(); var pddPropObj = JsonHelper.JObjectParse(getPropRst)["data"]; + if (pddPropObj.IsJTokenNullOrEmpty()) + { + pddPropObj = new JObject(); + } + if (pddPropObj["properties"].IsJTokenNullOrEmpty()) + { + pddPropObj["properties"] = new JArray(); + } foreach (JObject pObj in pddPropObj["properties"]) { pddPropMap.Add(new PDDPropRefPidNameMap() @@ -1288,7 +1307,7 @@ namespace TemuKJD.ToolForms } if (pddPropMap.Count == 0 && 1==2) { - // 取商品属性 作废 + // 取商品属性 getPropRst = GetPddPropForUpdate(shop, prod, prod.dbProduct.cat_id, jstPddShopId); if (!getPropRst.Contains("\"success\":true")) { @@ -1357,6 +1376,115 @@ namespace TemuKJD.ToolForms }, cancellationTokenSource.Token); } + /// + /// 获取聚水潭商品详情并转换为聚水潭拼多多商品详情 + /// + /// + /// + /// + /// + private JObject GetJstDetail(ShopLoginInfo shop, JSTListProductInfo prod, DataGridViewRow row) + { + var detailRst = GetGoodsDetail(shop, prod); + if (!detailRst.Contains("\"success\":true")) + { + var errMsg = BaseRegex.GetStringJson(ref detailRst, "message"); + if (string.IsNullOrEmpty(errMsg)) + errMsg = detailRst; + prod.getProductMsg = "采集失败 " + errMsg; + Invoke(new Action(() => + { + try { row.Cells["colMsg"].Value = prod.getProductMsg; } catch { } + })); + return null; + } + + var JstData = JsonHelper.JObjectParse(detailRst)["data"]; + var PddData = new JObject(); + PddData["id"] = JstData["supplierId"].ParseToString(); + PddData["coId"] = JstData["coId"].ParseToString(); + PddData["carouselGallery"] = JstData["itemMainImage"]; + PddData["categoryData"] = new JArray() { 1 }; + PddData["catId"] = 1; + //PddData["detailGallery"] = JstData["itemDetailImages"]; + if (JstData["itemDetailImages"].IsJTokenNullOrEmpty() || JstData["itemDetailImages"].Count() == 0) + { + PddData["detailGallery"] = new JArray(); + foreach(var jItem in PddData["carouselGallery"]) + { + (PddData["detailGallery"] as JArray).Add(jItem); + } + } + else + { + PddData["detailGallery"] = new JArray(); + foreach (var jItem in JstData["itemDetailImages"]) + { + (PddData["detailGallery"] as JArray).Add(jItem["imageUrl"]); + } + } + PddData["goodsDesc"] = JstData["itemName"].ParseToString(); + PddData["goodsName"] = JstData["itemName"].ParseToString(); + PddData["goodsProperties"] = new JArray(); + PddData["marketPrice"] = JstData["maxSupplyPrice"].ParseToDecimal() * 2 + 10; + PddData["styleCode"] = JstData["styleCode"]; + PddData["itemSpuId"] = JstData["itemSpuId"]; + PddData["skuInfo"] = new JObject(); + (PddData["skuInfo"] as JObject).Add("goodsSkuDetail", new JArray()); + foreach (var jstSkuObj in JstData["itemSkuList"]) + { + JObject skuObj = new JObject(); + (PddData["skuInfo"]["goodsSkuDetail"] as JArray).Add(skuObj); + + skuObj["quantity"] = jstSkuObj["stock"]; + skuObj["skus"] = new JArray(); + if (!jstSkuObj["colour"].IsJTokenNullOrEmpty()) + { + JObject jSpecColor = new JObject(); + (skuObj["skus"] as JArray).Add(jSpecColor); + jSpecColor["v"] = jstSkuObj["colour"].ParseToString(); + jSpecColor["k"] = "颜色"; + } + if (!jstSkuObj["spec"].IsJTokenNullOrEmpty()) + { + JObject jSpecColor = new JObject(); + (skuObj["skus"] as JArray).Add(jSpecColor); + jSpecColor["v"] = jstSkuObj["spec"].ParseToString(); + jSpecColor["k"] = "尺码"; + } + skuObj["supplyPrice"] = jstSkuObj["supplyPrice"]; + skuObj["erpSkuStatus"] = jstSkuObj["erpSkuStatus"]; + skuObj["baseSkuId"] = jstSkuObj["id"]; + skuObj["coId"] = jstSkuObj["coId"]; + skuObj["isOnsale"] = 1; + skuObj["itemNo"] = jstSkuObj["itemCode"].IsJTokenNullOrEmpty() ? jstSkuObj["erpStyleCode"] : jstSkuObj["itemCode"]; + skuObj["pic"] = jstSkuObj["pic"]; + skuObj["jdSkuStatus"] = 1; + skuObj["limitQuantity"] = 999; + skuObj["sales"] = 0; + skuObj["aliSkuStatus"] = 1; + skuObj["preSaleTime"] = ""; + skuObj["price"] = jstSkuObj["supplyPrice"].ParseToDecimal() + 1; + skuObj["multiPrice"] = jstSkuObj["supplyPrice"]; + skuObj["id"] = jstSkuObj["id"]; + } + + PddData["whiteImage"] = JstData["whiteImage"]; + PddData["colourRelation"] = JstData["colourSet"]; + PddData["specRelation"] = JstData["specSet"]; + PddData["itemCoId"] = JstData["itemCoId"]; + PddData["shopTypeEnum"] = "Pinduoduo"; + PddData["forecastMainImage"] = PddData["carouselGallery"].FirstOrDefault(); + PddData["forecastItemName"] = PddData["goodsName"]; + PddData["mainImage"] = PddData["carouselGallery"]; + PddData["leafCategoryId"] = "1"; + PddData["itemName"] = PddData["goodsName"]; + PddData["groupPreSaleDay"] = 0; + PddData["categoryPropStr"] = "[]"; + + return PddData; + } + private void GetDyProd() { this.pbLoading.Visible = true; @@ -1506,6 +1634,22 @@ namespace TemuKJD.ToolForms return getDetailRst; } + public string GetGoodsDetail(ShopLoginInfo shop, JSTListProductInfo jstLstProd) + { + string url = "https://sc.scm121.com/api/goods/goods/queryGoodsDetail"; + string referer = "https://sc.scm121.com/manage/goods/qualitySupplier/goodsDetail/" + jstLstProd.itemSpuId + "?itemCoId=" + jstLstProd.itemCoId + "&noBack=true"; + //data = @"{""itemSpuId"":""0A3A5CC4F524430A9F3D7640BD0D3029"",""itemCoId"":""11596521""}"; + string data = @"{""itemSpuId"":""" + jstLstProd.itemSpuId + @""",""itemCoId"":""" + jstLstProd.itemCoId + @"""}"; + + var detailRst = ""; + for (int i = 0; i < 3 && !detailRst.Contains("\"success\":true"); i++) + { + Thread.Sleep(Randomx.GetId(1000, 2000)); + detailRst = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion); + } + return detailRst; + } + public string GetPddShopId(ShopLoginInfo shop, JSTListProductInfo jstLstProd) { string url = "https://sc.scm121.com/api/goods/shelves/mxStoresInformation/selectStoresInfo?shopTypeKey=%E6%8B%BC%E5%A4%9A%E5%A4%9A&spuId=" + @@ -1551,6 +1695,10 @@ namespace TemuKJD.ToolForms return response; } + /// + /// 获取真实coid + /// + /// public string QueryRealCoid(ShopLoginInfo shop, JSTListProductInfo jstProd) { string url = "https://sc.scm121.com/api/goods/goodsQuery/queryGoodsDistributionHierarchyV2"; @@ -1561,6 +1709,10 @@ namespace TemuKJD.ToolForms return response; } + /// + /// 批量获取真实coid + /// + /// public string BatchQueryRealCoid(ShopLoginInfo shop, string spuIds, string coid0 = "12840800") { string url = "https://sc.scm121.com/api/goods/goodsQuery/queryGoodsDistributionHierarchyV2"; @@ -1570,6 +1722,15 @@ namespace TemuKJD.ToolForms return response; } + /// + /// 查询供应商售后地址 + /// + /// + /// 真实spuid + /// 爆款spuid + /// 真实coid + /// 爆款coid + /// public string GetAfterSaleAddress(ShopLoginInfo shop, string realSpuId, string spuId, string supCoId1, string supCoId0 = "12840800") { string url = "https://innerapi.scm121.com/api/aftersale/addresses/queryMultiLevelSupplierReturnAddressWithSwitch"; @@ -1588,6 +1749,11 @@ namespace TemuKJD.ToolForms 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; @@ -1598,6 +1764,12 @@ namespace TemuKJD.ToolForms return response; } + /// + /// 设置分销 + /// + /// + /// + /// public string SetPartnerSpu(ShopLoginInfo shop, JSTListProductInfo jstProd) { string url = "https://sc.scm121.com/api/goods/buyer/partnerSpu/add"; @@ -1607,8 +1779,13 @@ namespace TemuKJD.ToolForms return response; } - - + /// + /// 获取手机号查询授权 + /// + /// + /// + /// + /// public string AuthV2(ShopLoginInfo shop, JSTListProductInfo jstProd, string authStr) { string url = "https://sc.scm121.com/api/company/open/auth/grantAuthV2"; @@ -1619,7 +1796,15 @@ namespace TemuKJD.ToolForms return response; } - + /// + /// 获取下架sku列表信息 + /// + /// + /// + /// + /// + /// + /// public string GetDownSkuLst(ShopLoginInfo shop, DateTime startTime, DateTime endTime, int pageNum, int pageSize) { string url = "https://sc.scm121.com/api/goods/goChannelPartnerSku/queryChannelPartnerSkuList"; diff --git a/TEMUKJD/ToolForms/ImgToolForm.Designer.cs b/TEMUKJD/ToolForms/ImgToolForm.Designer.cs index 7b014f8..b0dd4ac 100644 --- a/TEMUKJD/ToolForms/ImgToolForm.Designer.cs +++ b/TEMUKJD/ToolForms/ImgToolForm.Designer.cs @@ -30,17 +30,17 @@ namespace TemuKJD.ToolForms private void InitializeComponent() { this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.txtSize = new System.Windows.Forms.TextBox(); + this.txtY = new System.Windows.Forms.TextBox(); + this.txtX = new System.Windows.Forms.TextBox(); this.btnSelectImg = new DevComponents.DotNetBar.PanelEx(); this.btnSave = new DevComponents.DotNetBar.PanelEx(); this.btnMake = new DevComponents.DotNetBar.PanelEx(); this.label1 = new System.Windows.Forms.Label(); this.textBox1 = new System.Windows.Forms.TextBox(); this.pbImage = new System.Windows.Forms.PictureBox(); - this.txtX = new System.Windows.Forms.TextBox(); - this.txtY = new System.Windows.Forms.TextBox(); - this.txtSize = new System.Windows.Forms.TextBox(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -76,6 +76,48 @@ namespace TemuKJD.ToolForms this.splitContainer1.SplitterDistance = 266; this.splitContainer1.TabIndex = 0; // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(23, 99); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 744; + this.label3.Text = "文字尺寸"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(23, 65); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 743; + this.label2.Text = "文字坐标"; + // + // txtSize + // + this.txtSize.Location = new System.Drawing.Point(83, 96); + this.txtSize.Name = "txtSize"; + this.txtSize.Size = new System.Drawing.Size(127, 23); + this.txtSize.TabIndex = 742; + this.txtSize.Text = "44"; + // + // txtY + // + this.txtY.Location = new System.Drawing.Point(149, 62); + this.txtY.Name = "txtY"; + this.txtY.Size = new System.Drawing.Size(61, 23); + this.txtY.TabIndex = 741; + this.txtY.Text = "1024"; + // + // txtX + // + this.txtX.Location = new System.Drawing.Point(83, 62); + this.txtX.Name = "txtX"; + this.txtX.Size = new System.Drawing.Size(61, 23); + this.txtX.TabIndex = 740; + this.txtX.Text = "860"; + // // btnSelectImg // this.btnSelectImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); @@ -178,48 +220,6 @@ namespace TemuKJD.ToolForms this.pbImage.TabIndex = 707; this.pbImage.TabStop = false; // - // txtX - // - this.txtX.Location = new System.Drawing.Point(83, 62); - this.txtX.Name = "txtX"; - this.txtX.Size = new System.Drawing.Size(61, 23); - this.txtX.TabIndex = 740; - this.txtX.Text = "860"; - // - // txtY - // - this.txtY.Location = new System.Drawing.Point(149, 62); - this.txtY.Name = "txtY"; - this.txtY.Size = new System.Drawing.Size(61, 23); - this.txtY.TabIndex = 741; - this.txtY.Text = "1020"; - // - // txtSize - // - this.txtSize.Location = new System.Drawing.Point(83, 96); - this.txtSize.Name = "txtSize"; - this.txtSize.Size = new System.Drawing.Size(127, 23); - this.txtSize.TabIndex = 742; - this.txtSize.Text = "44"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(23, 65); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(56, 17); - this.label2.TabIndex = 743; - this.label2.Text = "文字坐标"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(23, 99); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(56, 17); - this.label3.TabIndex = 744; - this.label3.Text = "文字尺寸"; - // // ImgToolForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs index 687de09..c785b85 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs @@ -41,12 +41,17 @@ namespace TemuKJD.WXForms.ProductForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.chkSaveBound = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chkAiShortTitle = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.label6 = new System.Windows.Forms.Label(); + this.txtWaitSeconds = new System.Windows.Forms.TextBox(); + this.chkHighestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components); this.txtFilterBoundMax = new System.Windows.Forms.TextBox(); this.label23 = new System.Windows.Forms.Label(); this.txtFilterBoundMin = new System.Windows.Forms.TextBox(); this.txtTitleHeadWord = new System.Windows.Forms.TextBox(); - this.chkImgRandomBlock = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnFilterBound = new DevComponents.DotNetBar.PanelEx(); + this.chkSameSpecPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label22 = new System.Windows.Forms.Label(); this.txtShippingPriceTimes = new System.Windows.Forms.TextBox(); this.label12 = new System.Windows.Forms.Label(); @@ -56,17 +61,13 @@ namespace TemuKJD.WXForms.ProductForms this.txtPreDays = new System.Windows.Forms.TextBox(); this.chkPreSale = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkSkipUploaded = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.chkSameSpecPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label5 = new System.Windows.Forms.Label(); this.txtMinPrice = new System.Windows.Forms.TextBox(); this.label8 = new System.Windows.Forms.Label(); this.txtReplaceText = new System.Windows.Forms.TextBox(); this.label3 = new System.Windows.Forms.Label(); this.chkUpDraft = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.chkHighestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label7 = new System.Windows.Forms.Label(); - this.txtWaitSeconds = new System.Windows.Forms.TextBox(); - this.label6 = new System.Windows.Forms.Label(); this.btnStop = new DevComponents.DotNetBar.PanelEx(); this.chkAddMorePriceFirst = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnClearDgv = new DevComponents.DotNetBar.PanelEx(); @@ -87,10 +88,11 @@ namespace TemuKJD.WXForms.ProductForms this.label9 = new System.Windows.Forms.Label(); this.chkStepAddPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.txtAddCount = new System.Windows.Forms.TextBox(); this.txtSearchGoodsName = new System.Windows.Forms.TextBox(); this.label20 = new System.Windows.Forms.Label(); - this.txtExtCodeFilter = new System.Windows.Forms.TextBox(); this.pbSelectProd = new System.Windows.Forms.PictureBox(); + this.txtExtCodeFilter = new System.Windows.Forms.TextBox(); this.cmbCateFilter3 = new System.Windows.Forms.ComboBox(); this.label21 = new System.Windows.Forms.Label(); this.cmbGroupFilter = new System.Windows.Forms.ComboBox(); @@ -112,9 +114,9 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCateFilter1 = new System.Windows.Forms.ComboBox(); this.label2 = new System.Windows.Forms.Label(); 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.chkSkipQualification = 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(); @@ -149,6 +151,7 @@ namespace TemuKJD.WXForms.ProductForms this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.并发上传 = new DevComponents.DotNetBar.PanelEx(); + this.chkImgRandomBlock = new TemuKJD.UserComponent.UcCheckBox(this.components); this.label11 = new System.Windows.Forms.Label(); this.txtSinglePriceAdd = new System.Windows.Forms.TextBox(); this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -225,7 +228,7 @@ namespace TemuKJD.WXForms.ProductForms // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); - this.splitContainer1.Size = new System.Drawing.Size(1542, 546); + this.splitContainer1.Size = new System.Drawing.Size(1557, 546); this.splitContainer1.SplitterDistance = 165; this.splitContainer1.TabIndex = 11; // @@ -237,12 +240,17 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx2.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx2.Controls.Add(this.chkSaveBound); + this.ucGroupBoxEx2.Controls.Add(this.chkAiShortTitle); + this.ucGroupBoxEx2.Controls.Add(this.label6); + this.ucGroupBoxEx2.Controls.Add(this.txtWaitSeconds); + this.ucGroupBoxEx2.Controls.Add(this.chkHighestPriceSku); this.ucGroupBoxEx2.Controls.Add(this.txtFilterBoundMax); this.ucGroupBoxEx2.Controls.Add(this.label23); this.ucGroupBoxEx2.Controls.Add(this.txtFilterBoundMin); this.ucGroupBoxEx2.Controls.Add(this.txtTitleHeadWord); - this.ucGroupBoxEx2.Controls.Add(this.chkImgRandomBlock); this.ucGroupBoxEx2.Controls.Add(this.btnFilterBound); + this.ucGroupBoxEx2.Controls.Add(this.chkSameSpecPrice); this.ucGroupBoxEx2.Controls.Add(this.label22); this.ucGroupBoxEx2.Controls.Add(this.txtShippingPriceTimes); this.ucGroupBoxEx2.Controls.Add(this.label12); @@ -252,17 +260,13 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx2.Controls.Add(this.txtPreDays); this.ucGroupBoxEx2.Controls.Add(this.chkPreSale); this.ucGroupBoxEx2.Controls.Add(this.chkSkipUploaded); - this.ucGroupBoxEx2.Controls.Add(this.chkSameSpecPrice); this.ucGroupBoxEx2.Controls.Add(this.label5); this.ucGroupBoxEx2.Controls.Add(this.txtMinPrice); this.ucGroupBoxEx2.Controls.Add(this.label8); this.ucGroupBoxEx2.Controls.Add(this.txtReplaceText); this.ucGroupBoxEx2.Controls.Add(this.label3); this.ucGroupBoxEx2.Controls.Add(this.chkUpDraft); - this.ucGroupBoxEx2.Controls.Add(this.chkHighestPriceSku); this.ucGroupBoxEx2.Controls.Add(this.label7); - this.ucGroupBoxEx2.Controls.Add(this.txtWaitSeconds); - this.ucGroupBoxEx2.Controls.Add(this.label6); this.ucGroupBoxEx2.Controls.Add(this.btnStop); this.ucGroupBoxEx2.Controls.Add(this.chkAddMorePriceFirst); this.ucGroupBoxEx2.Controls.Add(this.btnClearDgv); @@ -280,69 +284,121 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx2.Controls.Add(this.chkStepAddPrice); this.ucGroupBoxEx2.Location = new System.Drawing.Point(571, 2); this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; - this.ucGroupBoxEx2.Size = new System.Drawing.Size(969, 165); + this.ucGroupBoxEx2.Size = new System.Drawing.Size(984, 165); this.ucGroupBoxEx2.TabIndex = 667; this.ucGroupBoxEx2.TabStop = false; this.ucGroupBoxEx2.Text = "商品上传"; // + // chkSaveBound + // + this.chkSaveBound.AutoSize = true; + this.chkSaveBound.Location = new System.Drawing.Point(806, 136); + this.chkSaveBound.Name = "chkSaveBound"; + this.chkSaveBound.Size = new System.Drawing.Size(111, 21); + this.chkSaveBound.TabIndex = 863; + this.chkSaveBound.Text = "记住保证金范围"; + this.chkSaveBound.UseVisualStyleBackColor = true; + this.chkSaveBound.CheckedChanged += new System.EventHandler(this.chkSaveBound_CheckedChanged); + // + // chkAiShortTitle + // + this.chkAiShortTitle.AccessibleRole = System.Windows.Forms.AccessibleRole.Cursor; + this.chkAiShortTitle.AutoSize = true; + this.chkAiShortTitle.Checked = true; + this.chkAiShortTitle.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkAiShortTitle.Location = new System.Drawing.Point(653, 42); + this.chkAiShortTitle.Name = "chkAiShortTitle"; + this.chkAiShortTitle.Size = new System.Drawing.Size(147, 21); + this.chkAiShortTitle.TabIndex = 862; + this.chkAiShortTitle.Text = "AI短标题加入商品标题"; + this.chkAiShortTitle.UseVisualStyleBackColor = true; + this.chkAiShortTitle.CheckedChanged += new System.EventHandler(this.chkAiShotTitle_CheckedChanged); + // + // label6 + // + this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(795, 18); + this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.TabIndex = 727; + this.label6.Text = "额外等待"; + // + // txtWaitSeconds + // + this.txtWaitSeconds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.txtWaitSeconds.Location = new System.Drawing.Point(851, 15); + this.txtWaitSeconds.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtWaitSeconds.Name = "txtWaitSeconds"; + this.txtWaitSeconds.Size = new System.Drawing.Size(24, 23); + this.txtWaitSeconds.TabIndex = 728; + this.txtWaitSeconds.Text = "10"; + this.txtWaitSeconds.TextChanged += new System.EventHandler(this.txtWaitSeconds_TextChanged); + // + // chkHighestPriceSku + // + this.chkHighestPriceSku.AutoSize = true; + this.chkHighestPriceSku.Checked = true; + this.chkHighestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkHighestPriceSku.Location = new System.Drawing.Point(582, 16); + this.chkHighestPriceSku.Name = "chkHighestPriceSku"; + this.chkHighestPriceSku.Size = new System.Drawing.Size(119, 21); + this.chkHighestPriceSku.TabIndex = 739; + this.chkHighestPriceSku.Text = "只保留最高价sku"; + this.chkHighestPriceSku.UseVisualStyleBackColor = true; + this.chkHighestPriceSku.CheckedChanged += new System.EventHandler(this.chkHighestPriceSku_CheckedChanged); + // // txtFilterBoundMax // this.txtFilterBoundMax.Font = new System.Drawing.Font("微软雅黑", 10F); - this.txtFilterBoundMax.Location = new System.Drawing.Point(647, 131); + this.txtFilterBoundMax.Location = new System.Drawing.Point(648, 134); this.txtFilterBoundMax.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtFilterBoundMax.Name = "txtFilterBoundMax"; this.txtFilterBoundMax.Size = new System.Drawing.Size(49, 25); this.txtFilterBoundMax.TabIndex = 721; this.txtFilterBoundMax.Text = "1000"; + this.txtFilterBoundMax.TextChanged += new System.EventHandler(this.txtFilterBoundMax_TextChanged); // // label23 // this.label23.AutoSize = true; - this.label23.Location = new System.Drawing.Point(620, 136); + this.label23.Location = new System.Drawing.Point(621, 138); this.label23.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label23.Name = "label23"; - this.label23.Size = new System.Drawing.Size(29, 17); + this.label23.Size = new System.Drawing.Size(32, 17); this.label23.TabIndex = 849; - this.label23.Text = "或>"; + this.label23.Text = "或>"; // // txtFilterBoundMin // this.txtFilterBoundMin.Font = new System.Drawing.Font("微软雅黑", 10F); - this.txtFilterBoundMin.Location = new System.Drawing.Point(570, 131); + this.txtFilterBoundMin.Location = new System.Drawing.Point(571, 134); this.txtFilterBoundMin.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtFilterBoundMin.Name = "txtFilterBoundMin"; this.txtFilterBoundMin.Size = new System.Drawing.Size(49, 25); this.txtFilterBoundMin.TabIndex = 848; this.txtFilterBoundMin.Text = "1000"; + this.txtFilterBoundMin.TextChanged += new System.EventHandler(this.txtFilterBoundMin_TextChanged); // // txtTitleHeadWord // this.txtTitleHeadWord.Font = new System.Drawing.Font("微软雅黑", 10F); - this.txtTitleHeadWord.Location = new System.Drawing.Point(864, 131); + this.txtTitleHeadWord.Location = new System.Drawing.Point(514, 40); this.txtTitleHeadWord.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtTitleHeadWord.MaxLength = 15; this.txtTitleHeadWord.Name = "txtTitleHeadWord"; - this.txtTitleHeadWord.Size = new System.Drawing.Size(124, 25); + this.txtTitleHeadWord.Size = new System.Drawing.Size(130, 25); this.txtTitleHeadWord.TabIndex = 835; this.txtTitleHeadWord.TextChanged += new System.EventHandler(this.txtTitleHeadWord_TextChanged); // - // chkImgRandomBlock - // - this.chkImgRandomBlock.AutoSize = true; - this.chkImgRandomBlock.Location = new System.Drawing.Point(621, 16); - this.chkImgRandomBlock.Name = "chkImgRandomBlock"; - this.chkImgRandomBlock.Size = new System.Drawing.Size(123, 21); - this.chkImgRandomBlock.TabIndex = 821; - this.chkImgRandomBlock.Text = "图书图片随机打码"; - this.chkImgRandomBlock.UseVisualStyleBackColor = true; - this.chkImgRandomBlock.Visible = false; - // // btnFilterBound // this.btnFilterBound.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnFilterBound.Cursor = System.Windows.Forms.Cursors.Hand; this.btnFilterBound.DisabledBackColor = System.Drawing.Color.Empty; this.btnFilterBound.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnFilterBound.Location = new System.Drawing.Point(741, 132); + this.btnFilterBound.Location = new System.Drawing.Point(742, 135); this.btnFilterBound.Name = "btnFilterBound"; this.btnFilterBound.Size = new System.Drawing.Size(58, 23); this.btnFilterBound.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -362,15 +418,28 @@ namespace TemuKJD.WXForms.ProductForms this.btnFilterBound.Text = "立即过滤"; this.btnFilterBound.Click += new System.EventHandler(this.btnFilterBound_Click); // + // chkSameSpecPrice + // + this.chkSameSpecPrice.AutoSize = true; + this.chkSameSpecPrice.Checked = true; + this.chkSameSpecPrice.CheckState = System.Windows.Forms.CheckState.Checked; + this.chkSameSpecPrice.Location = new System.Drawing.Point(701, 16); + this.chkSameSpecPrice.Name = "chkSameSpecPrice"; + this.chkSameSpecPrice.Size = new System.Drawing.Size(99, 21); + this.chkSameSpecPrice.TabIndex = 745; + this.chkSameSpecPrice.Text = "颜色规格同价"; + this.chkSameSpecPrice.UseVisualStyleBackColor = true; + this.chkSameSpecPrice.CheckedChanged += new System.EventHandler(this.chkSameSpecPrice_CheckedChanged); + // // label22 // this.label22.AutoSize = true; - this.label22.Location = new System.Drawing.Point(806, 135); + this.label22.Location = new System.Drawing.Point(448, 45); this.label22.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label22.Name = "label22"; this.label22.Size = new System.Drawing.Size(68, 17); this.label22.TabIndex = 834; - this.label22.Text = "标题前缀:"; + this.label22.Text = "标题前缀词"; // // txtShippingPriceTimes // @@ -385,7 +454,7 @@ namespace TemuKJD.WXForms.ProductForms // label12 // this.label12.AutoSize = true; - this.label12.Location = new System.Drawing.Point(696, 135); + this.label12.Location = new System.Drawing.Point(697, 138); this.label12.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(44, 17); @@ -406,17 +475,17 @@ namespace TemuKJD.WXForms.ProductForms // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(447, 135); + this.label1.Location = new System.Drawing.Point(448, 138); this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(125, 17); + this.label1.Size = new System.Drawing.Size(128, 17); this.label1.TabIndex = 720; - this.label1.Text = "过滤待传类目保证金<"; + this.label1.Text = "过滤待传类目保证金<"; // // label18 // this.label18.AutoSize = true; - this.label18.Location = new System.Drawing.Point(819, 109); + this.label18.Location = new System.Drawing.Point(811, 112); this.label18.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label18.Name = "label18"; this.label18.Size = new System.Drawing.Size(54, 17); @@ -425,7 +494,7 @@ namespace TemuKJD.WXForms.ProductForms // // txtPreDays // - this.txtPreDays.Location = new System.Drawing.Point(786, 106); + this.txtPreDays.Location = new System.Drawing.Point(778, 109); this.txtPreDays.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtPreDays.Name = "txtPreDays"; this.txtPreDays.Size = new System.Drawing.Size(33, 23); @@ -436,7 +505,7 @@ namespace TemuKJD.WXForms.ProductForms // chkPreSale // this.chkPreSale.AutoSize = true; - this.chkPreSale.Location = new System.Drawing.Point(694, 107); + this.chkPreSale.Location = new System.Drawing.Point(686, 110); this.chkPreSale.Name = "chkPreSale"; this.chkPreSale.Size = new System.Drawing.Size(99, 21); this.chkPreSale.TabIndex = 789; @@ -449,7 +518,7 @@ namespace TemuKJD.WXForms.ProductForms this.chkSkipUploaded.AutoSize = true; this.chkSkipUploaded.Checked = true; this.chkSkipUploaded.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkSkipUploaded.Location = new System.Drawing.Point(451, 107); + this.chkSkipUploaded.Location = new System.Drawing.Point(451, 110); this.chkSkipUploaded.Name = "chkSkipUploaded"; this.chkSkipUploaded.Size = new System.Drawing.Size(135, 21); this.chkSkipUploaded.TabIndex = 755; @@ -457,35 +526,22 @@ namespace TemuKJD.WXForms.ProductForms this.chkSkipUploaded.UseVisualStyleBackColor = true; this.chkSkipUploaded.CheckedChanged += new System.EventHandler(this.chkSkipUploaded_CheckedChanged); // - // chkSameSpecPrice - // - this.chkSameSpecPrice.AutoSize = true; - this.chkSameSpecPrice.Checked = true; - this.chkSameSpecPrice.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkSameSpecPrice.Location = new System.Drawing.Point(576, 40); - this.chkSameSpecPrice.Name = "chkSameSpecPrice"; - this.chkSameSpecPrice.Size = new System.Drawing.Size(99, 21); - this.chkSameSpecPrice.TabIndex = 745; - this.chkSameSpecPrice.Text = "颜色规格同价"; - this.chkSameSpecPrice.UseVisualStyleBackColor = true; - this.chkSameSpecPrice.CheckedChanged += new System.EventHandler(this.chkSameSpecPrice_CheckedChanged); - // // label5 // this.label5.AutoSize = true; this.label5.Location = new System.Drawing.Point(539, 18); this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(76, 17); + this.label5.Size = new System.Drawing.Size(40, 17); this.label5.TabIndex = 744; - this.label5.Text = "元时跳过sku"; + this.label5.Text = "元sku"; // // txtMinPrice // - this.txtMinPrice.Location = new System.Drawing.Point(506, 15); + this.txtMinPrice.Location = new System.Drawing.Point(514, 15); this.txtMinPrice.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtMinPrice.Name = "txtMinPrice"; - this.txtMinPrice.Size = new System.Drawing.Size(33, 23); + this.txtMinPrice.Size = new System.Drawing.Size(25, 23); this.txtMinPrice.TabIndex = 743; this.txtMinPrice.Text = "10"; this.txtMinPrice.TextChanged += new System.EventHandler(this.txtMinPrice_TextChanged); @@ -498,17 +554,17 @@ namespace TemuKJD.WXForms.ProductForms this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(68, 17); this.label8.TabIndex = 742; - this.label8.Text = "价格低于:"; + this.label8.Text = "跳过价格<"; // // txtReplaceText // this.txtReplaceText.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.txtReplaceText.Location = new System.Drawing.Point(517, 63); + this.txtReplaceText.Location = new System.Drawing.Point(514, 67); this.txtReplaceText.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtReplaceText.Multiline = true; this.txtReplaceText.Name = "txtReplaceText"; - this.txtReplaceText.Size = new System.Drawing.Size(325, 40); + this.txtReplaceText.Size = new System.Drawing.Size(344, 40); this.txtReplaceText.TabIndex = 740; this.txtReplaceText.Text = "真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草"; this.txtReplaceText.TextChanged += new System.EventHandler(this.txtReplaceText_TextChanged); @@ -516,17 +572,17 @@ namespace TemuKJD.WXForms.ProductForms // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(448, 66); + this.label3.Location = new System.Drawing.Point(448, 72); this.label3.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(80, 17); + this.label3.Size = new System.Drawing.Size(68, 17); this.label3.TabIndex = 741; - this.label3.Text = "移除敏感词:"; + this.label3.Text = "移除敏感词"; // // chkUpDraft // this.chkUpDraft.AutoSize = true; - this.chkUpDraft.Location = new System.Drawing.Point(590, 107); + this.chkUpDraft.Location = new System.Drawing.Point(586, 110); this.chkUpDraft.Name = "chkUpDraft"; this.chkUpDraft.Size = new System.Drawing.Size(99, 21); this.chkUpDraft.TabIndex = 769; @@ -534,62 +590,27 @@ namespace TemuKJD.WXForms.ProductForms this.chkUpDraft.UseVisualStyleBackColor = true; this.chkUpDraft.CheckedChanged += new System.EventHandler(this.chkUpDraft_CheckedChanged); // - // chkHighestPriceSku - // - this.chkHighestPriceSku.AutoSize = true; - this.chkHighestPriceSku.Checked = true; - this.chkHighestPriceSku.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkHighestPriceSku.Location = new System.Drawing.Point(451, 40); - this.chkHighestPriceSku.Name = "chkHighestPriceSku"; - this.chkHighestPriceSku.Size = new System.Drawing.Size(119, 21); - this.chkHighestPriceSku.TabIndex = 739; - this.chkHighestPriceSku.Text = "只保留最高价sku"; - this.chkHighestPriceSku.UseVisualStyleBackColor = true; - this.chkHighestPriceSku.CheckedChanged += new System.EventHandler(this.chkHighestPriceSku_CheckedChanged); - // // label7 // this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(842, 34); + this.label7.Location = new System.Drawing.Point(875, 18); this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(20, 17); this.label7.TabIndex = 729; this.label7.Text = "秒"; // - // txtWaitSeconds - // - this.txtWaitSeconds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.txtWaitSeconds.Location = new System.Drawing.Point(810, 31); - this.txtWaitSeconds.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); - this.txtWaitSeconds.Name = "txtWaitSeconds"; - this.txtWaitSeconds.Size = new System.Drawing.Size(32, 23); - this.txtWaitSeconds.TabIndex = 728; - this.txtWaitSeconds.Text = "10"; - this.txtWaitSeconds.TextChanged += new System.EventHandler(this.txtWaitSeconds_TextChanged); - // - // label6 - // - this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(756, 34); - this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(56, 17); - this.label6.TabIndex = 727; - this.label6.Text = "额外等待"; - // // btnStop // this.btnStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnStop.CanvasColor = System.Drawing.SystemColors.Control; this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnStop.DisabledBackColor = System.Drawing.Color.Empty; - this.btnStop.Location = new System.Drawing.Point(863, 59); + this.btnStop.Location = new System.Drawing.Point(900, 47); this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnStop.Name = "btnStop"; - this.btnStop.Size = new System.Drawing.Size(84, 23); + this.btnStop.Size = new System.Drawing.Size(71, 23); this.btnStop.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.btnStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -624,10 +645,10 @@ namespace TemuKJD.WXForms.ProductForms 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(863, 87); + this.btnClearDgv.Location = new System.Drawing.Point(900, 75); 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.Size = new System.Drawing.Size(71, 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))))); @@ -641,7 +662,7 @@ namespace TemuKJD.WXForms.ProductForms 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.Text = "清空选中"; this.btnClearDgv.Click += new System.EventHandler(this.btnClearDgv_Click); // // label14 @@ -830,9 +851,9 @@ namespace TemuKJD.WXForms.ProductForms this.btnUpload.Cursor = System.Windows.Forms.Cursors.Hand; this.btnUpload.DisabledBackColor = System.Drawing.Color.Empty; this.btnUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnUpload.Location = new System.Drawing.Point(863, 31); + this.btnUpload.Location = new System.Drawing.Point(900, 19); this.btnUpload.Name = "btnUpload"; - this.btnUpload.Size = new System.Drawing.Size(84, 23); + this.btnUpload.Size = new System.Drawing.Size(71, 23); this.btnUpload.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnUpload.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnUpload.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -898,10 +919,11 @@ 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.txtAddCount); this.ucGroupBoxEx4.Controls.Add(this.txtSearchGoodsName); this.ucGroupBoxEx4.Controls.Add(this.label20); - this.ucGroupBoxEx4.Controls.Add(this.txtExtCodeFilter); this.ucGroupBoxEx4.Controls.Add(this.pbSelectProd); + this.ucGroupBoxEx4.Controls.Add(this.txtExtCodeFilter); this.ucGroupBoxEx4.Controls.Add(this.cmbCateFilter3); this.ucGroupBoxEx4.Controls.Add(this.label21); this.ucGroupBoxEx4.Controls.Add(this.cmbGroupFilter); @@ -923,9 +945,9 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx4.Controls.Add(this.cmbCateFilter1); this.ucGroupBoxEx4.Controls.Add(this.label2); 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.Controls.Add(this.chkSkipQualification); this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2); this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165); @@ -933,6 +955,16 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx4.TabStop = false; this.ucGroupBoxEx4.Text = "待传商品"; // + // txtAddCount + // + this.txtAddCount.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtAddCount.Location = new System.Drawing.Point(245, 131); + this.txtAddCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtAddCount.Name = "txtAddCount"; + this.txtAddCount.Size = new System.Drawing.Size(36, 25); + this.txtAddCount.TabIndex = 536; + this.txtAddCount.Text = "500"; + // // txtSearchGoodsName // this.txtSearchGoodsName.Font = new System.Drawing.Font("微软雅黑", 10F); @@ -952,6 +984,18 @@ namespace TemuKJD.WXForms.ProductForms this.label20.TabIndex = 794; this.label20.Text = "商品名"; // + // pbSelectProd + // + this.pbSelectProd.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbSelectProd.Location = new System.Drawing.Point(111, 131); + this.pbSelectProd.Name = "pbSelectProd"; + this.pbSelectProd.Size = new System.Drawing.Size(25, 25); + this.pbSelectProd.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbSelectProd.TabIndex = 781; + this.pbSelectProd.TabStop = false; + this.pbSelectProd.Visible = false; + this.pbSelectProd.Click += new System.EventHandler(this.pbSelectProd_Click); + // // txtExtCodeFilter // this.txtExtCodeFilter.Font = new System.Drawing.Font("微软雅黑", 10F); @@ -962,17 +1006,6 @@ namespace TemuKJD.WXForms.ProductForms this.txtExtCodeFilter.TabIndex = 555; this.txtExtCodeFilter.Visible = false; // - // pbSelectProd - // - this.pbSelectProd.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbSelectProd.Location = new System.Drawing.Point(116, 128); - this.pbSelectProd.Name = "pbSelectProd"; - this.pbSelectProd.Size = new System.Drawing.Size(25, 25); - this.pbSelectProd.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; - this.pbSelectProd.TabIndex = 781; - this.pbSelectProd.TabStop = false; - this.pbSelectProd.Visible = false; - // // cmbCateFilter3 // this.cmbCateFilter3.FormattingEnabled = true; @@ -1139,13 +1172,13 @@ 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 // this.lblGoodsCount.AutoSize = true; - this.lblGoodsCount.Location = new System.Drawing.Point(9, 132); + this.lblGoodsCount.Location = new System.Drawing.Point(136, 127); this.lblGoodsCount.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblGoodsCount.Name = "lblGoodsCount"; this.lblGoodsCount.Size = new System.Drawing.Size(71, 17); @@ -1182,7 +1215,7 @@ namespace TemuKJD.WXForms.ProductForms 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(343, 128); + this.btnClearUpload.Location = new System.Drawing.Point(343, 131); this.btnClearUpload.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnClearUpload.Name = "btnClearUpload"; this.btnClearUpload.Size = new System.Drawing.Size(58, 25); @@ -1227,7 +1260,7 @@ namespace TemuKJD.WXForms.ProductForms 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(140, 132); + this.lblWaitToUp.Location = new System.Drawing.Point(136, 144); this.lblWaitToUp.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblWaitToUp.Name = "lblWaitToUp"; this.lblWaitToUp.Size = new System.Drawing.Size(71, 17); @@ -1235,23 +1268,13 @@ namespace TemuKJD.WXForms.ProductForms this.lblWaitToUp.Text = "待上传 0 件"; this.lblWaitToUp.Click += new System.EventHandler(this.lblWaitToUp_Click); // - // txtAddCount - // - this.txtAddCount.Font = new System.Drawing.Font("微软雅黑", 10F); - this.txtAddCount.Location = new System.Drawing.Point(245, 128); - this.txtAddCount.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); - this.txtAddCount.Name = "txtAddCount"; - this.txtAddCount.Size = new System.Drawing.Size(36, 25); - this.txtAddCount.TabIndex = 536; - this.txtAddCount.Text = "500"; - // // btnRandomAdd // this.btnRandomAdd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnRandomAdd.Cursor = System.Windows.Forms.Cursors.Hand; this.btnRandomAdd.DisabledBackColor = System.Drawing.Color.Empty; this.btnRandomAdd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnRandomAdd.Location = new System.Drawing.Point(283, 128); + this.btnRandomAdd.Location = new System.Drawing.Point(283, 131); this.btnRandomAdd.Name = "btnRandomAdd"; this.btnRandomAdd.Size = new System.Drawing.Size(58, 25); this.btnRandomAdd.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -1279,6 +1302,16 @@ namespace TemuKJD.WXForms.ProductForms this.chkSevenDays.Text = "近七日爆款"; this.chkSevenDays.UseVisualStyleBackColor = true; // + // chkSkipQualification + // + this.chkSkipQualification.AutoSize = true; + this.chkSkipQualification.Location = new System.Drawing.Point(14, 133); + this.chkSkipQualification.Name = "chkSkipQualification"; + this.chkSkipQualification.Size = new System.Drawing.Size(99, 21); + this.chkSkipQualification.TabIndex = 806; + this.chkSkipQualification.Text = "跳过资质商品"; + this.chkSkipQualification.UseVisualStyleBackColor = true; + // // ucGroupBoxEx1 // this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -1579,7 +1612,7 @@ namespace TemuKJD.WXForms.ProductForms // splitContainer3.Panel2 // this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); - this.splitContainer3.Size = new System.Drawing.Size(1542, 377); + this.splitContainer3.Size = new System.Drawing.Size(1557, 377); this.splitContainer3.SplitterDistance = 347; this.splitContainer3.TabIndex = 1; // @@ -1601,12 +1634,13 @@ namespace TemuKJD.WXForms.ProductForms // this.splitContainer2.Panel2.Controls.Add(this.pbLoading); this.splitContainer2.Panel2.Controls.Add(this.并发上传); + this.splitContainer2.Panel2.Controls.Add(this.chkImgRandomBlock); this.splitContainer2.Panel2.Controls.Add(this.label11); this.splitContainer2.Panel2.Controls.Add(this.txtSinglePriceAdd); 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(1542, 347); + this.splitContainer2.Size = new System.Drawing.Size(1557, 347); this.splitContainer2.SplitterDistance = 350; this.splitContainer2.TabIndex = 0; // @@ -1799,7 +1833,7 @@ namespace TemuKJD.WXForms.ProductForms // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(569, 148); + this.pbLoading.Location = new System.Drawing.Point(576, 148); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -1814,7 +1848,7 @@ namespace TemuKJD.WXForms.ProductForms this.并发上传.Cursor = System.Windows.Forms.Cursors.Hand; this.并发上传.DisabledBackColor = System.Drawing.Color.Empty; this.并发上传.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.并发上传.Location = new System.Drawing.Point(1062, 30); + this.并发上传.Location = new System.Drawing.Point(1077, 30); this.并发上传.Name = "并发上传"; this.并发上传.Size = new System.Drawing.Size(118, 23); this.并发上传.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -1833,6 +1867,17 @@ namespace TemuKJD.WXForms.ProductForms this.并发上传.Visible = false; this.并发上传.Click += new System.EventHandler(this.并发上传_Click); // + // chkImgRandomBlock + // + this.chkImgRandomBlock.AutoSize = true; + this.chkImgRandomBlock.Location = new System.Drawing.Point(117, 32); + this.chkImgRandomBlock.Name = "chkImgRandomBlock"; + this.chkImgRandomBlock.Size = new System.Drawing.Size(123, 21); + this.chkImgRandomBlock.TabIndex = 821; + this.chkImgRandomBlock.Text = "图书图片随机打码"; + this.chkImgRandomBlock.UseVisualStyleBackColor = true; + this.chkImgRandomBlock.Visible = false; + // // label11 // this.label11.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -1914,7 +1959,7 @@ namespace TemuKJD.WXForms.ProductForms this.dgvSelectProduct.Name = "dgvSelectProduct"; this.dgvSelectProduct.ReadOnly = true; this.dgvSelectProduct.RowTemplate.Height = 23; - this.dgvSelectProduct.Size = new System.Drawing.Size(1184, 347); + this.dgvSelectProduct.Size = new System.Drawing.Size(1199, 347); this.dgvSelectProduct.TabIndex = 187; this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); // @@ -2113,8 +2158,8 @@ namespace TemuKJD.WXForms.ProductForms // 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.Size = new System.Drawing.Size(1557, 26); + this.splitContainer4.SplitterDistance = 866; this.splitContainer4.TabIndex = 3; // // statusBar @@ -2125,7 +2170,7 @@ namespace TemuKJD.WXForms.ProductForms 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.Size = new System.Drawing.Size(866, 26); this.statusBar.TabIndex = 2; // // btnClear @@ -2380,5 +2425,8 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; private UserComponent.UcCheckBox chkSevenDays; + private UserComponent.UcCheckBox chkSaveBound; + private UserComponent.UcCheckBox chkAiShortTitle; + private UserComponent.UcCheckBox chkSkipQualification; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 3ac7b06..a21315c 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -164,6 +164,10 @@ namespace TemuKJD.WXForms.ProductForms this.chkUpDraft.CheckedChanged -= chkUpDraft_CheckedChanged; this.chkPreSale.CheckedChanged -= chkPreSale_CheckedChanged; this.txtTitleHeadWord.TextChanged -= txtTitleHeadWord_TextChanged; + this.chkAiShortTitle.CheckedChanged -= chkAiShotTitle_CheckedChanged; + this.chkSaveBound.CheckedChanged -= chkSaveBound_CheckedChanged; + this.txtFilterBoundMin.TextChanged -= txtFilterBoundMin_TextChanged; + this.txtFilterBoundMax.TextChanged -= txtFilterBoundMax_TextChanged; this.txtPreDays.Text = wxUploadRule.PreSaleDays.ParseToString(); this.txtReplaceText.Text = wxUploadRule.FilterWords.ParseToString(); @@ -175,6 +179,13 @@ namespace TemuKJD.WXForms.ProductForms this.chkUpDraft.Checked = wxUploadRule.UpDraft.ParseToBool(); this.chkPreSale.Checked = wxUploadRule.IsPreSale.ParseToBool(); this.txtTitleHeadWord.Text = wxUploadRule.TitleHeadWords.ParseToString(); + this.chkAiShortTitle.Checked = wxUploadRule.IsAiShortTitle; + this.chkSaveBound.Checked = wxUploadRule.IsSaveBound; + if (wxUploadRule.IsSaveBound) + { + this.txtFilterBoundMin.Text = wxUploadRule.FilterBoundMinSave.ParseToString(); + this.txtFilterBoundMax.Text = wxUploadRule.FilterBoundMaxSave.ParseToString(); + } this.txtPreDays.TextChanged += txtPreDays_TextChanged; this.txtReplaceText.TextChanged += txtReplaceText_TextChanged; @@ -186,6 +197,10 @@ namespace TemuKJD.WXForms.ProductForms this.chkUpDraft.CheckedChanged += chkUpDraft_CheckedChanged; this.chkPreSale.CheckedChanged += chkPreSale_CheckedChanged; this.txtTitleHeadWord.TextChanged += txtTitleHeadWord_TextChanged; + this.chkAiShortTitle.CheckedChanged += chkAiShotTitle_CheckedChanged; + this.chkSaveBound.CheckedChanged += chkSaveBound_CheckedChanged; + this.txtFilterBoundMin.TextChanged += txtFilterBoundMin_TextChanged; + this.txtFilterBoundMax.TextChanged += txtFilterBoundMax_TextChanged; this.lblWaitToUp.Text = "待上传 " + lstTemuDBProductSelect.Count + " 件"; @@ -269,7 +284,7 @@ namespace TemuKJD.WXForms.ProductForms //#endif if (BaseClass.SaLevel == 1) { - chkImgRandomBlock.Visible = true; + //chkImgRandomBlock.Visible = true; } IsLoadComplate = true; @@ -1569,11 +1584,7 @@ namespace TemuKJD.WXForms.ProductForms #region 设置标题 string prodTitle = dbProd.product_name.IsNullOrEmpty() ? prodInfo.detail.goods_name : dbProd.product_name; upProdInitParam.product.info.title = prodTitle; - //标题前缀 - if (!string.IsNullOrEmpty(wxUploadRule.TitleHeadWords)) - upProdInitParam.product.info.title = wxUploadRule.TitleHeadWords + upProdInitParam.product.info.title; - upProdParam.product.info.title = upProdInitParam.product.info.title; - + upProdParam.product.info.title = prodTitle; upProdParam.sessionInfo.sessionId = upProdInitParam.product.sessionId; #endregion @@ -2042,8 +2053,8 @@ namespace TemuKJD.WXForms.ProductForms } #endregion - #region 短标题 // ai获取短标题 // 暂时注释 - if (1 == 2) + #region ai短标题 // ai获取短标题 + if (wxUploadRule.IsAiShortTitle) { if (cell != null) { @@ -2073,9 +2084,15 @@ namespace TemuKJD.WXForms.ProductForms } upProdParam.product.info.shortTitle = BaseRegex.GetStringJson(ref shortTitleRst, "shortTitle"); upProdParam.product.info.aiGenShortTitle = upProdParam.product.info.shortTitle; + upProdParam.product.info.title = upProdParam.product.info.shortTitle + upProdParam.product.info.title; } #endregion + #region 标题前缀,加在最前面 + if (!string.IsNullOrWhiteSpace(wxUploadRule.TitleHeadWords)) + upProdParam.product.info.title = wxUploadRule.TitleHeadWords + upProdParam.product.info.title; + #endregion + #region 售后信息 if (cell != null) @@ -2780,6 +2797,8 @@ namespace TemuKJD.WXForms.ProductForms attrValue = "1 kg"; else if (attr.value == "g;kg;ml;L") attrValue = "100 g"; + else if (attr.value == "cm") + attrValue = "20 cm"; } var wxPropParam = new propParam(); @@ -3144,7 +3163,7 @@ namespace TemuKJD.WXForms.ProductForms } #endregion - #region 书籍类生成书籍图片 + #region 标签图 书籍类生成书籍图片 //qualificationList if (upProdParam.product.info.category.FirstOrDefault()?.name == "图书" || prodInfo.detail.cats.FirstOrDefault() == "书籍/杂志/报纸") { @@ -3218,7 +3237,7 @@ namespace TemuKJD.WXForms.ProductForms } #endregion - #region 食品类生成食品图片 + #region 标签图 食品类生成食品图片 //qualificationList if (upProdParam.product.info.category.FirstOrDefault()?.name == "食品饮料" || prodInfo.detail.cats.FirstOrDefault() == "食品饮料") { @@ -3306,6 +3325,100 @@ namespace TemuKJD.WXForms.ProductForms } #endregion + #region 标签图 成人用品 + //qualificationList + if (upProdParam.product.info.category.FirstOrDefault()?.name == "成人用品" && upProdParam.product.info.category[1].name != "情趣内衣") + { + if (cell != null) + { + Invoke(new Action(() => + { + cell.Value = "正在生成成人用品专有信息"; + })); + } + + string prodName = "产品名称:" + + (upProdParam.product.info.category.Count > 2 ? upProdParam.product.info.category[2].name : upProdParam.product.info.category.LastOrDefault()?.name); + string company = "生产企业:浙江邦臣医药有限公司"; + string address = "制造商地址:浙江省金华市婺城区神丽路1399号6号厂房"; + string model = "产品型号:见包装"; + string material = "材质:其他"; + string user = "适用人群:18岁以上成年人"; + + foreach (var propParam in upProdParam.product.info.param) + { + //if (propParam.categorys[0].name.Contains("产品名称")) + // prodName = "产品名称:" + propParam.categorys[1].name; + } + + var bookStr = prodName + "\r\n" + "\r\n" + + company + "\r\n" + "\r\n" + + address + "\r\n" + "\r\n" + + model + "\r\n" + "\r\n" + + material + "\r\n" + "\r\n" + + user; + + var bookImg = new Bitmap(800, 800); + using (Graphics g = Graphics.FromImage(bookImg)) + { + g.Clear(Color.White); + //Font font = new Font("宋体", 15, FontStyle.Bold); + Font font = new Font("微软雅黑", 15, FontStyle.Regular); + Brush textBrush = Brushes.Black; + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; + RectangleF rectF = new RectangleF(80, 80, 800 - 80, 800 - 80); + g.DrawString(bookStr, font, textBrush, rectF); + } + + Thread.Sleep(Randomx.GetId(500, 800)); + var locationStr = UploadImg(shop, bookImg, cell); + if (!locationStr.Contains("\"success\":true")) + return locationStr; + var location = BaseRegex.GetStringJson(ref locationStr, "Location"); + upProdParam.product.info.qualificationList.Add(new qualificationParam() { qualificationId = "50000089", qualificationUrl = new List() { location }, }); + } + + if (upProdParam.product.info.category.FirstOrDefault()?.name == "成人用品" && upProdParam.product.info.category[1].name != "情趣内衣") + { + if (cell != null) + { + Invoke(new Action(() => + { + cell.Value = "正在生成成人用品专有信息"; + })); + } + + string prodName = (upProdParam.product.info.category.Count > 2 ? upProdParam.product.info.category[2].name : upProdParam.product.info.category.LastOrDefault()?.name); + + var baseImg = TemuKJD.Properties.Resources.qingxu; + var newImg = new Bitmap(baseImg.Width, baseImg.Height); + using (Graphics g = Graphics.FromImage(newImg)) + { + //g.Clear(Color.White); + g.DrawImage(baseImg, new Rectangle(0, 0, newImg.Width, newImg.Height), 0, 0, baseImg.Width, baseImg.Height, GraphicsUnit.Pixel); + + g.FillRectangle(Brushes.White, 860.ParseToInt(), (1024 - 4).ParseToInt(), 500, 120); + + //Font font = new Font("宋体", txtSize.Text.Trim().ParseToInt(), FontStyle.Bold); + Font font = new Font("宋体", 44.ParseToInt(), FontStyle.Regular); + //Font font = new Font("微软雅黑", 15, FontStyle.Regular); + Brush textBrush = Brushes.Black; + textBrush = new SolidBrush(Color.FromArgb(0, 0, 0)); + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; + RectangleF rectF = new RectangleF(860, 1024, baseImg.Width - 80, baseImg.Height - 80); + if (!string.IsNullOrWhiteSpace(prodName.Trim())) + g.DrawString(prodName.Trim(), font, textBrush, rectF); + } + + Thread.Sleep(Randomx.GetId(500, 800)); + var locationStr = UploadImg(shop, newImg, cell); + if (!locationStr.Contains("\"success\":true")) + return locationStr; + var location = BaseRegex.GetStringJson(ref locationStr, "Location"); + upProdParam.product.info.qualificationList.Add(new qualificationParam() { qualificationId = "50000115", qualificationUrl = new List() { location }, }); + } + #endregion + if (cell != null) { Invoke(new Action(() => @@ -3696,6 +3809,12 @@ namespace TemuKJD.WXForms.ProductForms this.cancellationTokenSource.Cancel(); } + CancellationTokenSource getProdTokenSource = null; + private void pbSelectProd_Click(object sender, EventArgs e) + { + if (getProdTokenSource != null) + getProdTokenSource.Cancel(); + } private void btnRandomAdd_Click(object sender, EventArgs e) { btnRandomAdd.Enabled = false; @@ -3709,24 +3828,31 @@ namespace TemuKJD.WXForms.ProductForms })); }); int addCount = txtAddCount.Text.Trim().ParseToInt(); + if (getProdTokenSource != null) + getProdTokenSource.Cancel(); + getProdTokenSource = new CancellationTokenSource(); Task.Run(() => { List prodLst = new List(); int index = 0; + int pageSize = 50; while (addCount > 0) { + if (getProdTokenSource.IsCancellationRequested) + break; + index++; int prodCount = 0; // 如果产品数量在0到50之间,说明数据库商品数量不足,无需再重复筛选,直接随机打乱 - if (prodLst.Count == 0 || prodLst.Count == Math.Min(50, addCount)) + if (prodLst.Count == 0 || prodLst.Count == Math.Min(pageSize, addCount)) { if (index > 1 && prodCount > 0) { - prodLst = GetRandomProductList(out prodCount, 1, Math.Min(50, addCount), true, prodCount); + prodLst = GetRandomProductList(out prodCount, 1, Math.Min(pageSize, addCount), true, prodCount); } else { - prodLst = GetRandomProductList(out prodCount, 1, Math.Min(50, addCount)); + prodLst = GetRandomProductList(out prodCount, 1, Math.Min(pageSize, addCount)); } //Thread.Sleep(Randomx.GetId(50, 100)); Thread.Sleep(Randomx.GetId(250, 500)); @@ -3766,7 +3892,7 @@ namespace TemuKJD.WXForms.ProductForms { pbSelectProd.Visible = false; })); - }); + }, getProdTokenSource.Token); } public List GetRandomProductList(out int totalCount, int page = 1, int pageSize = 50, bool isNotCount = false, int totalProdCount = 0) @@ -3805,6 +3931,12 @@ namespace TemuKJD.WXForms.ProductForms if (!string.IsNullOrEmpty(cmbCateFilter1.Text) && cate1 != null) data += "&wx_cat_1=" + cate1.cat_id; + else if (chkSkipQualification.Checked) + { + // 厂商直采普通店铺不要随特殊商品 + data += "&wx_cat_1=" + string.Join(",", GlobalConfig.WxCatList.Where(c=>c.level == 1 && !(c.name == "图书" || c.name == "食品饮料" || c.name == "成人用品")) + .Select(c => c.cat_id)); + } if (!string.IsNullOrEmpty(cmbCateFilter2.Text) && cate2 != null) data += "&wx_cat_2=" + cate2.cat_id; if (!string.IsNullOrEmpty(cmbCateFilter3.Text) && cate3 != null) @@ -3929,7 +4061,8 @@ namespace TemuKJD.WXForms.ProductForms 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); + var add_time = row.Cells["colAddTime"].Value.ParseToString().ParseToDateTime(); + upload_draft_product_lst.RemoveAll(p => p.draft_id.ParseToString() == draft_id && p.add_time.ToString("yyyyMMddHHmmss") == add_time.ToString("yyyyMMddHHmmss")); this.dgvSelectProduct.Rows.Remove(row); } @@ -3972,6 +4105,7 @@ namespace TemuKJD.WXForms.ProductForms cmbCateFilter1.Text = ""; cmbWxSafe.Text = "安全+未校验"; cmbSourceType.Text = "厂商直采"; + chkSkipQualification.Checked = false; int prodCount; pbSelectProd.Visible = true; @@ -4330,6 +4464,41 @@ namespace TemuKJD.WXForms.ProductForms private void txtTitleHeadWord_TextChanged(object sender, EventArgs e) { wxUploadRule.TitleHeadWords = txtTitleHeadWord.Text.Trim(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); + } + + private void chkSaveBound_CheckedChanged(object sender, EventArgs e) + { + wxUploadRule.IsSaveBound = chkSaveBound.Checked; + if (chkSaveBound.Checked) + { + wxUploadRule.FilterBoundMinSave = txtFilterBoundMin.Text.ParseToInt(); + wxUploadRule.FilterBoundMaxSave = txtFilterBoundMax.Text.ParseToInt(); + } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); + } + + private void txtFilterBoundMin_TextChanged(object sender, EventArgs e) + { + if (wxUploadRule.IsSaveBound) + { + wxUploadRule.FilterBoundMinSave = txtFilterBoundMin.Text.ParseToInt(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); + } + } + private void txtFilterBoundMax_TextChanged(object sender, EventArgs e) + { + if (wxUploadRule.IsSaveBound) + { + wxUploadRule.FilterBoundMaxSave = txtFilterBoundMax.Text.ParseToInt(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); + } + } + + private void chkAiShotTitle_CheckedChanged(object sender, EventArgs e) + { + wxUploadRule.IsAiShortTitle = chkAiShortTitle.Checked; + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_upload_rule", wxUploadRule); } } @@ -4744,5 +4913,10 @@ Content-Type: application/octet-stream public bool UpDraft { get; set; } = false; public bool IsPreSale { get; set; } = false; public string TitleHeadWords { get; set; } = ""; + + public bool IsSaveBound { get; set; } = false; + public int FilterBoundMinSave { get; set; } = 1000; + public int FilterBoundMaxSave { get; set; } = 1000; + public bool IsAiShortTitle { get; set; } = false; } } diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs index 563020f..7ed524a 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs @@ -1495,58 +1495,4 @@ namespace TemuKJD.WXForms.ProductForms return result; } } - - public class AddPriceRule2 - { - /// - /// 加价金额区间大于 不包含 - /// - public decimal MoreThanPrice { get; set; } - /// - /// 加价金额区间小于 包含 - /// - public decimal LessThanPrice { get; set; } - /// - /// 加价倍数 - /// - public decimal AddPriceTimes { get; set; } = 2m; - /// - /// 额外加价金额 - /// - public decimal AddMorePrice { get; set; } = 10m; - /// - /// 单买加价 - /// - public decimal SinglePriceAdd { get; set; } = 1m; - /// - /// 先加后乘 - /// - public bool AddMorePriceFirst { get; set; } = false; - /// - /// 上货库存量设置 - /// - public int StockNum { get; set; } = 999; - public bool IsStepAddPrice { get; set; } = false; - /// - /// 运费倍率 - /// - public decimal ShippingPriceTimes { get; set; } = 1.0m; - } - - public class WXUploadRule2 - { - public int PreSaleDays { get; set; } = 5; - - public string FilterWords { get; set; } = "顶级,之王,二手,亏本,冲量,白菜价,跳楼价,xx,xxx,最大,最小,低价,降价,成本,赔钱,甩卖,真丝,蚕丝,香云纱,羊绒,羊毛,羊羔绒,羊羔毛,羽绒,皮草"; - - public int SkuMinPrice { get; set; } = 10; - - public int WaitSeconds { get; set; } = 10; - - public bool OnlyHighestPriceSku { get; set; } = true; - public bool SameSpecSamePrice { get; set; } = true; - public bool SkipUploaded { get; set; } = true; - public bool UpDraft { get; set; } = false; - public bool IsPreSale { get; set; } = false; - } } diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs index 0497dc7..89612a0 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs @@ -1039,7 +1039,18 @@ namespace TemuKJD.WXForms.TalkForms WXShopListForm.UpdateShop(); foreach (var shop in GlobalConfig.ShopLoginList) { + var r = dgvShop.Rows.Cast().FirstOrDefault(x => x.Cells["colShopId"].Value.ToString() == shop.ShopId); + Invoke(new Action(() => + { + if (r != null) + r.Cells["colMessage"].Value = "正在刷新"; + })); WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + Invoke(new Action(() => + { + if (r != null) + r.Cells["colMessage"].Value = ""; + })); } LoadShop(); } @@ -1117,6 +1128,8 @@ namespace TemuKJD.WXForms.TalkForms { lstShopAfterSale.RemoveAll(sa => sa.ShopId == shop.ShopId); var rst = WxShopStatisticsForm.GetShopMainInfoList(shop); + if (!rst.Contains("\"code\":0")) + rst = WxShopStatisticsForm.GetShopMainInfoList(shop); if (!rst.Contains("\"code\":0")) { WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); @@ -1126,9 +1139,15 @@ namespace TemuKJD.WXForms.TalkForms return; } + string errMsg = BaseRegex.GetStringJson(ref rst, "msg"); + if (string.IsNullOrEmpty(errMsg)) errMsg = BaseRegex.GetStringJson(ref rst, "message"); + if (string.IsNullOrEmpty(errMsg)) errMsg = BaseRegex.GetStringJson(ref rst, "errMsg"); + if (string.IsNullOrEmpty(errMsg)) errMsg = BaseRegex.GetStringJson(ref rst, "errmsg"); + if (string.IsNullOrEmpty(errMsg)) errMsg = rst; + afterInfo = new WxShopAfterSaleInfo() { ShopId = shop.ShopId, RefreshTime = DateTime.Now }; lstShopAfterSale.Add(afterInfo); - Invoke(new Action(() => { LoadShopAfterSale(afterInfo, "查询失败"); })); + Invoke(new Action(() => { LoadShopAfterSale(afterInfo, "查询失败 " + errMsg); })); return; } @@ -1144,7 +1163,7 @@ namespace TemuKJD.WXForms.TalkForms } }); 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() >= 10) { Thread.Sleep(100); } } while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); } NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_after_sale_list", lstShopAfterSale);