diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index 0d30df9..3b55db2 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -195,6 +195,7 @@ + diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index c738e9a..a584561 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 855; + public static int VersionCount = 860; //public static int VersionCount = 613; /// diff --git a/AllBase/Model/Param/WXParam/WXCoupon.cs b/AllBase/Model/Param/WXParam/WXCoupon.cs new file mode 100644 index 0000000..b7aa9cd --- /dev/null +++ b/AllBase/Model/Param/WXParam/WXCoupon.cs @@ -0,0 +1,145 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Param.WXParam +{ + public class WXCouponParamBase + { + public WXCouponParam coupon { get; set; } = new WXCouponParam(); + public bool? check { get; set; } // true + } + + public class WXCouponParam + { + public WXCouponKeyParam couponKey { get; set; } = new WXCouponKeyParam(); + public WXCouponInfoParam couponInfo { get; set; } = new WXCouponInfoParam(); + public int? status { get; set; } // 2-生效中 4-已作废 5-已删除 + } + + public class WXCouponInfoParam + { + /// + /// 活动名称,使用商品ID + /// + public string name { get; set; } // "10000509758262", + public promoteInfoParam promoteInfo { get; set; } = new promoteInfoParam(); + public receiveInfoParam receiveInfo { get; set; } = new receiveInfoParam(); + public extInfoParam extInfo { get; set; } = new extInfoParam(); + public CouponValidInfoParam validInfo { get; set; } = new CouponValidInfoParam(); + public discountInfoParam discountInfo { get; set; } = new discountInfoParam(); + public mmpayShakeInfoParam mmpayShakeInfo { get; set; } = new mmpayShakeInfoParam(); + } + + public class mmpayShakeInfoParam + { + public string productName { get; set; } = ""; + public string productHeadImgUrl { get; set; } = ""; + public string productBackgroundImgUrl { get; set; } = ""; + public List productDetailImgUrlList { get; set; } = new List(); + + } + + public class discountInfoParam + { + /// + /// 统一折扣或条件折扣的折扣 + /// + public string discountNum { get; set; } = ""; // "9.9" // 99折; + /// + /// 满xx减yy的yy + /// + public string discountFee { get; set; } = "0"; // "1"; + /// + /// 满减是否可累进(每满xx减yy) + /// + public bool? isCanUp { get; set; } = false; // false-满xx减yy true-每满xx减yy + public discountConditionParam discountCondition { get; set; } = new discountConditionParam(); + } + + public class discountConditionParam + { + /// + /// 参加活动的商品ID列表 + /// + public List productIds { get; set; } = new List(); // [10000509758262], + public List excludeProductIds { get; set; } = new List(); + /// + /// 条件折扣件数 满xx件打yy折的xx 如果不是条件折扣,填0 + /// + public int? productCnt { get; set; } = 0; // 0, + /// + /// 满xx减yy的xx,如果是直减,填"0" + /// + public string productPrice { get; set; } = "0"; // "50", + public List productExtInfoList { get; set; } = new List(); + + } + + public class CouponValidInfoParam + { + /// + /// 使用时间 1-和领取时间一致 + /// + public string validType { get; set; } = "1"; + /// + /// 领取后有效天数 + /// + public string validDayNum { get; set; } = ""; + /// + /// 有效期开始 + /// + public long? startTime { get; set; } // 1770912000, + /// + /// 有效期结束 + /// + public long? endTime { get; set; } // 1774886400, + public extRstrInfoParam extRstrInfo { get; set; } = new extRstrInfoParam(); + public bool? isSameAsReceiveTime { get; set; } = true; + } + + public class extRstrInfoParam + { + public bool? needLiving { get; set; } = false; + } + + public class extInfoParam + { + public long? autoValidTime { get; set; } // 1770912000 + } + + public class receiveInfoParam + { + /// + /// 每人限领张数 + /// + public int? limitNumOnePerson { get; set; } = 1; + /// + /// 总发行张数 + /// + public string totalNum { get; set; } = "100"; + public long? startTime { get; set; } // 1770912000, + public long? endTime { get; set; } // 1774886400, + public string payOrderCnt { get; set; } = ""; // "", + public int? minVipLevel { get; set; } = 0; // 0, + public List repurchaseProductList { get; set; } = new List(); // [ ], + public int? repurchaseProductType { get; set; } = 0; + } + + public class promoteInfoParam + { + public int? promoteType { get; set; } = 1; + public int? promoteChannel { get; set; } = 0; // 0, + public List finderList { get; set; } = new List(); // [ ], + public List officialAccountList { get; set; } = new List(); // [ ], + public List promoterAgencyList { get; set; } = new List(); // [ ] + } + + public class WXCouponKeyParam + { + public int? couponId { get; set; } = 0; + public int? type { get; set; } // 1-条件折扣:满xx件打yy折 2-满减/每满减 3-统一折扣 4-直减 + } +} diff --git a/KJDService/KJD_WebService/KJD_WebService.csproj.user b/KJDService/KJD_WebService/KJD_WebService.csproj.user index 4bcdc04..a48a5b1 100644 --- a/KJDService/KJD_WebService/KJD_WebService.csproj.user +++ b/KJDService/KJD_WebService/KJD_WebService.csproj.user @@ -1,4 +1,4 @@ - + true @@ -8,7 +8,7 @@ - Release|Any CPU + Debug|Any CPU ShowAllFiles diff --git a/TEMUKJD/BLL/ShopBLL.cs b/TEMUKJD/BLL/ShopBLL.cs index 4779259..ed40bcb 100644 --- a/TEMUKJD/BLL/ShopBLL.cs +++ b/TEMUKJD/BLL/ShopBLL.cs @@ -132,10 +132,11 @@ namespace TemuKJD.BLL "&shop_ids='" + string.Join("','", shop_ids) + "'"; data += "&page_size=200"; var html = GetHtml.PostUtf8(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) - html = GetHtml.PostUtf8(url, data); - if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + for (int i = 0; i < 5 && (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")); i++) + { html = GetHtml.PostUtf8(url, data); + System.Threading.Thread.Sleep(200); + } if (string.IsNullOrEmpty(html) || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) { diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index 6025310..f9caf73 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -185,6 +185,12 @@ WXDBProdUploadCacheForm.cs + + Form + + + WXProdCouponOrderBoomForm.cs + Form @@ -1084,6 +1090,9 @@ WXDBProdUploadCacheForm.cs + + WXProdCouponOrderBoomForm.cs + WXProdPreSaleForm.cs diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 176fb07..2b33db4 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -187,8 +187,16 @@ namespace TemuKJD.WXForms.ProductForms this.lblWaitToUp.Text = "待上传 " + lstTemuDBProductSelect.Count + " 件"; int prodCount = 0; - var list = GetRandomProductList(out prodCount, 1, 1); - lblGoodsCount.Text = "产品库 " + prodCount + " 件"; + pbSelectProd.Visible = true; + Task.Run(() => + { + GetRandomProductList(out prodCount, 1, 1); + Invoke(new Action(() => + { + pbSelectProd.Visible = false; + lblGoodsCount.Text = "产品库 " + prodCount + " 件"; + })); + }); this.panel1.SendToBack(); chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false); @@ -379,17 +387,17 @@ namespace TemuKJD.WXForms.ProductForms private void btnRefreshShop_Click(object sender, EventArgs e) { pbLoadingShop.Visible = true; - RefreshDbProd(); - RefreshShopAuth(); + RefreshDbProdGroupAndCate(); + RefreshShopLogin(); } private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) { if (Visible == true) { - RefreshShopAuth(); + RefreshShopLogin(); updateAuthor(); - RefreshDbProd(); + RefreshDbProdGroupAndCate(); if (!isInit) { @@ -414,7 +422,7 @@ namespace TemuKJD.WXForms.ProductForms } } - private void RefreshDbProd() + private void RefreshDbProdGroupAndCate() { Task.Run(() => { @@ -488,7 +496,7 @@ namespace TemuKJD.WXForms.ProductForms } } - private void RefreshShopAuth() + private void RefreshShopLogin() { // 店铺Id var selectIds = dgvShop.Rows.Cast().Where(row @@ -629,7 +637,7 @@ namespace TemuKJD.WXForms.ProductForms { shopLoginForm.openType = EnumOpenType.login; shopLoginForm.ShowDialog(); - RefreshShopAuth(); + RefreshShopLogin(); } else { @@ -683,7 +691,7 @@ namespace TemuKJD.WXForms.ProductForms //shopLoginForm.prodUserSelectForm = this; shopLoginForm.openType = EnumOpenType.login; shopLoginForm.ShowDialog(); - RefreshShopAuth(); + RefreshShopLogin(); } break; case "进店": @@ -3617,9 +3625,18 @@ namespace TemuKJD.WXForms.ProductForms cmbCateFilter1.Text = ""; cmbWxSafe.Text = "安全+未校验"; cmbSourceType.Text = "厂商直采"; + int prodCount; - GetRandomProductList(out prodCount, 1, 1); - lblGoodsCount.Text = "产品库 " + prodCount + " 件"; + pbSelectProd.Visible = true; + Task.Run(() => + { + GetRandomProductList(out prodCount, 1, 1); + Invoke(new Action(() => + { + pbSelectProd.Visible = false; + lblGoodsCount.Text = "产品库 " + prodCount + " 件"; + })); + }); } private void 并发上传_Click(object sender, EventArgs e) diff --git a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.Designer.cs new file mode 100644 index 0000000..8bd80d3 --- /dev/null +++ b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.Designer.cs @@ -0,0 +1,2033 @@ + +using TemuKJD.PDDForms.ProductSelectForms; + +namespace TemuKJD.WXForms.ProductForms +{ + partial class WXProdCouponOrderBoomForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnClearCoupon = new DevComponents.DotNetBar.PanelEx(); + this.label15 = new System.Windows.Forms.Label(); + this.dtpEndTime = new System.Windows.Forms.DateTimePicker(); + this.dtpStartTime = new System.Windows.Forms.DateTimePicker(); + this.label14 = new System.Windows.Forms.Label(); + this.label10 = new System.Windows.Forms.Label(); + this.txtTotalCnt = new System.Windows.Forms.TextBox(); + this.label12 = new System.Windows.Forms.Label(); + this.txtLimitNumOnePerson = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label9 = new System.Windows.Forms.Label(); + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.lblProductPrice = new System.Windows.Forms.Label(); + this.txtProductPrice = new System.Windows.Forms.TextBox(); + this.lblDiscountFee = new System.Windows.Forms.Label(); + this.txtDiscountFee = new System.Windows.Forms.TextBox(); + this.txtProductCnt = new System.Windows.Forms.TextBox(); + this.lblProductCnt = new System.Windows.Forms.Label(); + this.txtDiscountNum = new System.Windows.Forms.TextBox(); + this.lblDiscountNum = new System.Windows.Forms.Label(); + this.cmbCouponType = new System.Windows.Forms.ComboBox(); + this.label18 = new System.Windows.Forms.Label(); + this.btnStop = new DevComponents.DotNetBar.PanelEx(); + this.btnSetPreSale = new DevComponents.DotNetBar.PanelEx(); + this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.cmbSaleSort = new System.Windows.Forms.ComboBox(); + this.label6 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.panelEx6 = new DevComponents.DotNetBar.PanelEx(); + this.btnClearDgv = new DevComponents.DotNetBar.PanelEx(); + this.txtPageEnd = new System.Windows.Forms.TextBox(); + this.txtFiltSaleNumLessThan = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.btnFiltSelectLessThan = new DevComponents.DotNetBar.PanelEx(); + this.txtFiltSaleNumMoreThan = new System.Windows.Forms.TextBox(); + this.btnSearchProd = new DevComponents.DotNetBar.PanelEx(); + this.cmbPreType = new System.Windows.Forms.ComboBox(); + this.btnFiltSelectMoreThan = new DevComponents.DotNetBar.PanelEx(); + this.btnClearFilter = new DevComponents.DotNetBar.PanelEx(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnPromotion = new DevComponents.DotNetBar.PanelEx(); + this.label8 = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.txtRatio = new System.Windows.Forms.TextBox(); + this.btnEndCoupon = new DevComponents.DotNetBar.PanelEx(); + this.panelEx2 = new DevComponents.DotNetBar.PanelEx(); + this.btnEndPromotion = new DevComponents.DotNetBar.PanelEx(); + this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx(); + this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx(); + this.btnSelectOnline = new DevComponents.DotNetBar.PanelEx(); + this.btnAddUnSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnReverse = new DevComponents.DotNetBar.PanelEx(); + this.cmbFilterShopNotes = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); + this.btnAddSelect = new DevComponents.DotNetBar.PanelEx(); + this.btnEmptyShop = new DevComponents.DotNetBar.PanelEx(); + this.btnFilterShop = new DevComponents.DotNetBar.PanelEx(); + this.label16 = new System.Windows.Forms.Label(); + this.txtFilterShopName = new System.Windows.Forms.TextBox(); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.label17 = new System.Windows.Forms.Label(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.pbLoadingShop = new System.Windows.Forms.PictureBox(); + this.txtPageBegin = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colApi = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUploadCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOnSaleNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.btnClear = new DevComponents.DotNetBar.PanelEx(); + this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); + this.colSkuFakeImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSkuFakeImg = new System.Windows.Forms.DataGridViewImageColumn(); + this.colProductName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductCat = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCouponNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx2.SuspendLayout(); + this.flowLayoutPanel1.SuspendLayout(); + this.ucGroupBoxEx3.SuspendLayout(); + this.ucGroupBoxEx4.SuspendLayout(); + this.ucGroupBoxEx1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); + this.splitContainer4.Panel1.SuspendLayout(); + this.splitContainer4.Panel2.SuspendLayout(); + this.splitContainer4.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx2); + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx3); + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx4); + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); + this.splitContainer1.Size = new System.Drawing.Size(1424, 641); + this.splitContainer1.SplitterDistance = 165; + this.splitContainer1.TabIndex = 11; + // + // ucGroupBoxEx2 + // + this.ucGroupBoxEx2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + 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.btnClearCoupon); + this.ucGroupBoxEx2.Controls.Add(this.label15); + this.ucGroupBoxEx2.Controls.Add(this.dtpEndTime); + this.ucGroupBoxEx2.Controls.Add(this.dtpStartTime); + this.ucGroupBoxEx2.Controls.Add(this.label14); + this.ucGroupBoxEx2.Controls.Add(this.label10); + this.ucGroupBoxEx2.Controls.Add(this.txtTotalCnt); + this.ucGroupBoxEx2.Controls.Add(this.label12); + this.ucGroupBoxEx2.Controls.Add(this.txtLimitNumOnePerson); + this.ucGroupBoxEx2.Controls.Add(this.label13); + this.ucGroupBoxEx2.Controls.Add(this.label9); + this.ucGroupBoxEx2.Controls.Add(this.flowLayoutPanel1); + this.ucGroupBoxEx2.Controls.Add(this.cmbCouponType); + this.ucGroupBoxEx2.Controls.Add(this.label18); + this.ucGroupBoxEx2.Controls.Add(this.btnStop); + this.ucGroupBoxEx2.Controls.Add(this.btnSetPreSale); + this.ucGroupBoxEx2.Location = new System.Drawing.Point(518, 2); + this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; + this.ucGroupBoxEx2.Size = new System.Drawing.Size(446, 165); + this.ucGroupBoxEx2.TabIndex = 667; + this.ucGroupBoxEx2.TabStop = false; + this.ucGroupBoxEx2.Text = "爆单神器一阶段"; + // + // btnClearCoupon + // + this.btnClearCoupon.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnClearCoupon.CanvasColor = System.Drawing.SystemColors.Control; + this.btnClearCoupon.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClearCoupon.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClearCoupon.Location = new System.Drawing.Point(312, 128); + this.btnClearCoupon.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnClearCoupon.Name = "btnClearCoupon"; + this.btnClearCoupon.Size = new System.Drawing.Size(58, 25); + this.btnClearCoupon.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearCoupon.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearCoupon.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearCoupon.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnClearCoupon.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearCoupon.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnClearCoupon.Style.GradientAngle = 90; + this.btnClearCoupon.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearCoupon.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearCoupon.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearCoupon.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearCoupon.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClearCoupon.TabIndex = 854; + this.btnClearCoupon.Text = "清空条件"; + this.btnClearCoupon.Click += new System.EventHandler(this.btnClearCoupon_Click); + // + // label15 + // + this.label15.AutoSize = true; + this.label15.Location = new System.Drawing.Point(189, 99); + this.label15.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label15.Name = "label15"; + this.label15.Size = new System.Drawing.Size(20, 17); + this.label15.TabIndex = 841; + this.label15.Text = "至"; + // + // dtpEndTime + // + this.dtpEndTime.Location = new System.Drawing.Point(209, 96); + this.dtpEndTime.Name = "dtpEndTime"; + this.dtpEndTime.Size = new System.Drawing.Size(118, 23); + this.dtpEndTime.TabIndex = 840; + this.dtpEndTime.ValueChanged += new System.EventHandler(this.dtpEndTime_ValueChanged); + // + // dtpStartTime + // + this.dtpStartTime.Location = new System.Drawing.Point(70, 96); + this.dtpStartTime.Name = "dtpStartTime"; + this.dtpStartTime.Size = new System.Drawing.Size(118, 23); + this.dtpStartTime.TabIndex = 839; + this.dtpStartTime.ValueChanged += new System.EventHandler(this.dtpStartTime_ValueChanged); + // + // label14 + // + this.label14.AutoSize = true; + this.label14.Location = new System.Drawing.Point(13, 99); + this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(56, 17); + this.label14.TabIndex = 838; + this.label14.Text = "领取时间"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(67, 64); + this.label10.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(32, 17); + this.label10.TabIndex = 833; + this.label10.Text = "发放"; + // + // txtTotalCnt + // + this.txtTotalCnt.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtTotalCnt.Location = new System.Drawing.Point(99, 60); + this.txtTotalCnt.Margin = new System.Windows.Forms.Padding(0); + this.txtTotalCnt.Name = "txtTotalCnt"; + this.txtTotalCnt.Size = new System.Drawing.Size(45, 25); + this.txtTotalCnt.TabIndex = 834; + this.txtTotalCnt.Text = "100"; + this.txtTotalCnt.TextChanged += new System.EventHandler(this.txtTotalCnt_TextChanged); + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(146, 64); + this.label12.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(80, 17); + this.label12.TabIndex = 835; + this.label12.Text = "张,每人限领"; + // + // txtLimitNumOnePerson + // + this.txtLimitNumOnePerson.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtLimitNumOnePerson.Location = new System.Drawing.Point(226, 60); + this.txtLimitNumOnePerson.Margin = new System.Windows.Forms.Padding(0); + this.txtLimitNumOnePerson.Name = "txtLimitNumOnePerson"; + this.txtLimitNumOnePerson.Size = new System.Drawing.Size(45, 25); + this.txtLimitNumOnePerson.TabIndex = 836; + this.txtLimitNumOnePerson.Text = "1"; + this.txtLimitNumOnePerson.TextChanged += new System.EventHandler(this.txtLimitNumOnePerson_TextChanged); + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(274, 64); + this.label13.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(20, 17); + this.label13.TabIndex = 837; + this.label13.Text = "张"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(25, 64); + this.label9.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(44, 17); + this.label9.TabIndex = 832; + this.label9.Text = "券数量"; + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.Controls.Add(this.lblProductPrice); + this.flowLayoutPanel1.Controls.Add(this.txtProductPrice); + this.flowLayoutPanel1.Controls.Add(this.lblDiscountFee); + this.flowLayoutPanel1.Controls.Add(this.txtDiscountFee); + this.flowLayoutPanel1.Controls.Add(this.txtProductCnt); + this.flowLayoutPanel1.Controls.Add(this.lblProductCnt); + this.flowLayoutPanel1.Controls.Add(this.txtDiscountNum); + this.flowLayoutPanel1.Controls.Add(this.lblDiscountNum); + this.flowLayoutPanel1.Location = new System.Drawing.Point(162, 26); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Size = new System.Drawing.Size(281, 25); + this.flowLayoutPanel1.TabIndex = 831; + // + // lblProductPrice + // + this.lblProductPrice.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lblProductPrice.AutoSize = true; + this.lblProductPrice.Location = new System.Drawing.Point(3, 4); + this.lblProductPrice.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblProductPrice.Name = "lblProductPrice"; + this.lblProductPrice.Size = new System.Drawing.Size(20, 17); + this.lblProductPrice.TabIndex = 801; + this.lblProductPrice.Text = "满"; + // + // txtProductPrice + // + this.txtProductPrice.Anchor = System.Windows.Forms.AnchorStyles.None; + this.txtProductPrice.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtProductPrice.Location = new System.Drawing.Point(23, 0); + this.txtProductPrice.Margin = new System.Windows.Forms.Padding(0); + this.txtProductPrice.Name = "txtProductPrice"; + this.txtProductPrice.Size = new System.Drawing.Size(45, 25); + this.txtProductPrice.TabIndex = 802; + this.txtProductPrice.TextChanged += new System.EventHandler(this.txtProductPrice_TextChanged); + // + // lblDiscountFee + // + this.lblDiscountFee.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lblDiscountFee.AutoSize = true; + this.lblDiscountFee.Location = new System.Drawing.Point(71, 4); + this.lblDiscountFee.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblDiscountFee.Name = "lblDiscountFee"; + this.lblDiscountFee.Size = new System.Drawing.Size(20, 17); + this.lblDiscountFee.TabIndex = 803; + this.lblDiscountFee.Text = "减"; + // + // txtDiscountFee + // + this.txtDiscountFee.Anchor = System.Windows.Forms.AnchorStyles.None; + this.txtDiscountFee.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtDiscountFee.Location = new System.Drawing.Point(91, 0); + this.txtDiscountFee.Margin = new System.Windows.Forms.Padding(0); + this.txtDiscountFee.Name = "txtDiscountFee"; + this.txtDiscountFee.Size = new System.Drawing.Size(45, 25); + this.txtDiscountFee.TabIndex = 804; + this.txtDiscountFee.TextChanged += new System.EventHandler(this.txtDiscountFee_TextChanged); + // + // txtProductCnt + // + this.txtProductCnt.Anchor = System.Windows.Forms.AnchorStyles.None; + this.txtProductCnt.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtProductCnt.Location = new System.Drawing.Point(136, 0); + this.txtProductCnt.Margin = new System.Windows.Forms.Padding(0); + this.txtProductCnt.Name = "txtProductCnt"; + this.txtProductCnt.Size = new System.Drawing.Size(45, 25); + this.txtProductCnt.TabIndex = 805; + this.txtProductCnt.Visible = false; + this.txtProductCnt.TextChanged += new System.EventHandler(this.txtProductCnt_TextChanged); + // + // lblProductCnt + // + this.lblProductCnt.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lblProductCnt.AutoSize = true; + this.lblProductCnt.Location = new System.Drawing.Point(184, 4); + this.lblProductCnt.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblProductCnt.Name = "lblProductCnt"; + this.lblProductCnt.Size = new System.Drawing.Size(20, 17); + this.lblProductCnt.TabIndex = 806; + this.lblProductCnt.Text = "件"; + this.lblProductCnt.Visible = false; + // + // txtDiscountNum + // + this.txtDiscountNum.Anchor = System.Windows.Forms.AnchorStyles.None; + this.txtDiscountNum.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtDiscountNum.Location = new System.Drawing.Point(204, 0); + this.txtDiscountNum.Margin = new System.Windows.Forms.Padding(0); + this.txtDiscountNum.Name = "txtDiscountNum"; + this.txtDiscountNum.Size = new System.Drawing.Size(45, 25); + this.txtDiscountNum.TabIndex = 807; + this.txtDiscountNum.Visible = false; + this.txtDiscountNum.TextChanged += new System.EventHandler(this.txtDiscountNum_TextChanged); + // + // lblDiscountNum + // + this.lblDiscountNum.Anchor = System.Windows.Forms.AnchorStyles.None; + this.lblDiscountNum.AutoSize = true; + this.lblDiscountNum.Location = new System.Drawing.Point(252, 4); + this.lblDiscountNum.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblDiscountNum.Name = "lblDiscountNum"; + this.lblDiscountNum.Size = new System.Drawing.Size(20, 17); + this.lblDiscountNum.TabIndex = 808; + this.lblDiscountNum.Text = "折"; + this.lblDiscountNum.Visible = false; + // + // cmbCouponType + // + this.cmbCouponType.FormattingEnabled = true; + this.cmbCouponType.Items.AddRange(new object[] { + "满减", + "每满", + "直减", + "统一折扣", + "条件折扣"}); + this.cmbCouponType.Location = new System.Drawing.Point(70, 26); + this.cmbCouponType.Name = "cmbCouponType"; + this.cmbCouponType.Size = new System.Drawing.Size(88, 25); + this.cmbCouponType.TabIndex = 830; + this.cmbCouponType.Text = "满减"; + this.cmbCouponType.TextChanged += new System.EventHandler(this.cmbCouponType_TextChanged); + // + // label18 + // + this.label18.AutoSize = true; + this.label18.Location = new System.Drawing.Point(13, 30); + this.label18.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label18.Name = "label18"; + this.label18.Size = new System.Drawing.Size(56, 17); + this.label18.TabIndex = 800; + this.label18.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(374, 128); + this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnStop.Name = "btnStop"; + this.btnStop.Size = new System.Drawing.Size(58, 25); + 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))))); + this.btnStop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnStop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnStop.Style.GradientAngle = 90; + this.btnStop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnStop.TabIndex = 546; + this.btnStop.Text = "停止设置"; + this.btnStop.Click += new System.EventHandler(this.btnStop_Click); + // + // btnSetPreSale + // + this.btnSetPreSale.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSetPreSale.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSetPreSale.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSetPreSale.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSetPreSale.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSetPreSale.Location = new System.Drawing.Point(250, 128); + this.btnSetPreSale.Name = "btnSetPreSale"; + this.btnSetPreSale.Size = new System.Drawing.Size(58, 25); + this.btnSetPreSale.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSetPreSale.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSetPreSale.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSetPreSale.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSetPreSale.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSetPreSale.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSetPreSale.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSetPreSale.Style.GradientAngle = 90; + this.btnSetPreSale.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSetPreSale.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSetPreSale.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSetPreSale.TabIndex = 517; + this.btnSetPreSale.Text = "批量设置"; + this.btnSetPreSale.Click += new System.EventHandler(this.btnSetPreSale_Click); + // + // ucGroupBoxEx3 + // + this.ucGroupBoxEx3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; + this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx3.Controls.Add(this.cmbSaleSort); + this.ucGroupBoxEx3.Controls.Add(this.label6); + this.ucGroupBoxEx3.Controls.Add(this.label5); + this.ucGroupBoxEx3.Controls.Add(this.panelEx6); + this.ucGroupBoxEx3.Controls.Add(this.btnClearDgv); + this.ucGroupBoxEx3.Controls.Add(this.txtPageEnd); + this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNumLessThan); + this.ucGroupBoxEx3.Controls.Add(this.label4); + this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelectLessThan); + this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNumMoreThan); + this.ucGroupBoxEx3.Controls.Add(this.btnSearchProd); + this.ucGroupBoxEx3.Controls.Add(this.cmbPreType); + this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelectMoreThan); + this.ucGroupBoxEx3.Controls.Add(this.btnClearFilter); + this.ucGroupBoxEx3.Controls.Add(this.label3); + this.ucGroupBoxEx3.Controls.Add(this.label2); + this.ucGroupBoxEx3.Location = new System.Drawing.Point(162, 2); + this.ucGroupBoxEx3.Name = "ucGroupBoxEx3"; + this.ucGroupBoxEx3.Size = new System.Drawing.Size(357, 165); + this.ucGroupBoxEx3.TabIndex = 668; + this.ucGroupBoxEx3.TabStop = false; + this.ucGroupBoxEx3.Text = "商品查询"; + // + // cmbSaleSort + // + this.cmbSaleSort.FormattingEnabled = true; + this.cmbSaleSort.Items.AddRange(new object[] { + "", + "降序", + "升序"}); + this.cmbSaleSort.Location = new System.Drawing.Point(64, 60); + this.cmbSaleSort.Name = "cmbSaleSort"; + this.cmbSaleSort.Size = new System.Drawing.Size(112, 25); + this.cmbSaleSort.TabIndex = 869; + this.cmbSaleSort.TextChanged += new System.EventHandler(this.cmbSaleSort_TextChanged); + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(9, 64); + this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label6.Name = "label6"; + this.label6.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.TabIndex = 868; + this.label6.Text = "销量排序"; + // + // label5 + // + this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(256, 28); + this.label5.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(56, 17); + this.label5.TabIndex = 844; + this.label5.Text = "销量小于"; + // + // panelEx6 + // + this.panelEx6.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx6.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx6.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx6.Location = new System.Drawing.Point(288, 127); + this.panelEx6.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.panelEx6.Name = "panelEx6"; + this.panelEx6.Size = new System.Drawing.Size(58, 25); + this.panelEx6.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx6.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx6.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx6.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx6.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx6.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx6.Style.GradientAngle = 90; + this.panelEx6.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx6.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx6.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx6.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx6.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx6.TabIndex = 848; + this.panelEx6.Text = "停止查询"; + this.panelEx6.Click += new System.EventHandler(this.btnStop_Click); + // + // btnClearDgv + // + this.btnClearDgv.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnClearDgv.CanvasColor = System.Drawing.SystemColors.Control; + this.btnClearDgv.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClearDgv.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClearDgv.Location = new System.Drawing.Point(12, 127); + this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnClearDgv.Name = "btnClearDgv"; + this.btnClearDgv.Size = new System.Drawing.Size(85, 25); + this.btnClearDgv.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearDgv.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearDgv.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearDgv.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnClearDgv.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearDgv.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnClearDgv.Style.GradientAngle = 90; + this.btnClearDgv.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearDgv.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearDgv.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearDgv.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearDgv.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClearDgv.TabIndex = 612; + this.btnClearDgv.Text = "清空列表选中"; + this.btnClearDgv.Click += new System.EventHandler(this.btnClearDgv_Click); + // + // txtPageEnd + // + this.txtPageEnd.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtPageEnd.Location = new System.Drawing.Point(64, 24); + this.txtPageEnd.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtPageEnd.Name = "txtPageEnd"; + this.txtPageEnd.Size = new System.Drawing.Size(112, 25); + this.txtPageEnd.TabIndex = 792; + this.txtPageEnd.Text = "999"; + this.txtPageEnd.TextChanged += new System.EventHandler(this.txtPageEnd_TextChanged); + // + // txtFiltSaleNumLessThan + // + this.txtFiltSaleNumLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.txtFiltSaleNumLessThan.Location = new System.Drawing.Point(312, 25); + this.txtFiltSaleNumLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtFiltSaleNumLessThan.Name = "txtFiltSaleNumLessThan"; + this.txtFiltSaleNumLessThan.Size = new System.Drawing.Size(33, 23); + this.txtFiltSaleNumLessThan.TabIndex = 843; + this.txtFiltSaleNumLessThan.Text = "1"; + // + // label4 + // + this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(256, 64); + this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 801; + this.label4.Text = "销量大于"; + // + // btnFiltSelectLessThan + // + this.btnFiltSelectLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnFiltSelectLessThan.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFiltSelectLessThan.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFiltSelectLessThan.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFiltSelectLessThan.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFiltSelectLessThan.Location = new System.Drawing.Point(192, 24); + this.btnFiltSelectLessThan.Name = "btnFiltSelectLessThan"; + this.btnFiltSelectLessThan.Size = new System.Drawing.Size(62, 25); + this.btnFiltSelectLessThan.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFiltSelectLessThan.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFiltSelectLessThan.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFiltSelectLessThan.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnFiltSelectLessThan.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnFiltSelectLessThan.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnFiltSelectLessThan.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnFiltSelectLessThan.Style.GradientAngle = 90; + this.btnFiltSelectLessThan.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFiltSelectLessThan.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFiltSelectLessThan.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFiltSelectLessThan.TabIndex = 842; + this.btnFiltSelectLessThan.Text = "批量选择"; + this.btnFiltSelectLessThan.Click += new System.EventHandler(this.btnFiltSelectLessThan_Click); + // + // txtFiltSaleNumMoreThan + // + this.txtFiltSaleNumMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.txtFiltSaleNumMoreThan.Location = new System.Drawing.Point(312, 61); + this.txtFiltSaleNumMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtFiltSaleNumMoreThan.Name = "txtFiltSaleNumMoreThan"; + this.txtFiltSaleNumMoreThan.Size = new System.Drawing.Size(33, 23); + this.txtFiltSaleNumMoreThan.TabIndex = 795; + this.txtFiltSaleNumMoreThan.Text = "0"; + // + // btnSearchProd + // + this.btnSearchProd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearchProd.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearchProd.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearchProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearchProd.Location = new System.Drawing.Point(164, 127); + this.btnSearchProd.Name = "btnSearchProd"; + this.btnSearchProd.Size = new System.Drawing.Size(58, 25); + this.btnSearchProd.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchProd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearchProd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearchProd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearchProd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearchProd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearchProd.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearchProd.Style.GradientAngle = 90; + this.btnSearchProd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearchProd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchProd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearchProd.TabIndex = 431; + this.btnSearchProd.Text = "商品查询"; + this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click); + // + // cmbPreType + // + this.cmbPreType.FormattingEnabled = true; + this.cmbPreType.Items.AddRange(new object[] { + "", + "预售", + "非预售"}); + this.cmbPreType.Location = new System.Drawing.Point(64, 95); + this.cmbPreType.Name = "cmbPreType"; + this.cmbPreType.Size = new System.Drawing.Size(112, 25); + this.cmbPreType.TabIndex = 807; + this.cmbPreType.Visible = false; + this.cmbPreType.SelectedIndexChanged += new System.EventHandler(this.cmbPreType_SelectedIndexChanged); + // + // btnFiltSelectMoreThan + // + this.btnFiltSelectMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnFiltSelectMoreThan.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFiltSelectMoreThan.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFiltSelectMoreThan.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFiltSelectMoreThan.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFiltSelectMoreThan.Location = new System.Drawing.Point(192, 60); + this.btnFiltSelectMoreThan.Name = "btnFiltSelectMoreThan"; + this.btnFiltSelectMoreThan.Size = new System.Drawing.Size(62, 25); + this.btnFiltSelectMoreThan.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFiltSelectMoreThan.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFiltSelectMoreThan.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFiltSelectMoreThan.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnFiltSelectMoreThan.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnFiltSelectMoreThan.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnFiltSelectMoreThan.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnFiltSelectMoreThan.Style.GradientAngle = 90; + this.btnFiltSelectMoreThan.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFiltSelectMoreThan.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFiltSelectMoreThan.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFiltSelectMoreThan.TabIndex = 794; + this.btnFiltSelectMoreThan.Text = "批量选择"; + this.btnFiltSelectMoreThan.Click += new System.EventHandler(this.btnFiltSelectMoreThan_Click); + // + // btnClearFilter + // + this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control; + this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClearFilter.Location = new System.Drawing.Point(226, 127); + this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnClearFilter.Name = "btnClearFilter"; + this.btnClearFilter.Size = new System.Drawing.Size(58, 25); + this.btnClearFilter.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnClearFilter.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnClearFilter.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearFilter.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnClearFilter.Style.GradientAngle = 90; + this.btnClearFilter.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearFilter.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClearFilter.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearFilter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClearFilter.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClearFilter.TabIndex = 548; + this.btnClearFilter.Text = "清空条件"; + this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click); + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(9, 99); + this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label3.Name = "label3"; + this.label3.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 806; + this.label3.Text = "预售状态"; + this.label3.Visible = false; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(9, 28); + this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label2.Name = "label2"; + this.label2.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 793; + this.label2.Text = "查询页数"; + // + // ucGroupBoxEx4 + // + this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx4.Controls.Add(this.btnPromotion); + this.ucGroupBoxEx4.Controls.Add(this.label8); + this.ucGroupBoxEx4.Controls.Add(this.label7); + this.ucGroupBoxEx4.Controls.Add(this.txtRatio); + this.ucGroupBoxEx4.Controls.Add(this.btnEndCoupon); + this.ucGroupBoxEx4.Controls.Add(this.panelEx2); + this.ucGroupBoxEx4.Controls.Add(this.btnEndPromotion); + this.ucGroupBoxEx4.Location = new System.Drawing.Point(963, 2); + this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; + this.ucGroupBoxEx4.Size = new System.Drawing.Size(459, 165); + this.ucGroupBoxEx4.TabIndex = 666; + this.ucGroupBoxEx4.TabStop = false; + this.ucGroupBoxEx4.Text = "爆单神器二阶段"; + // + // btnPromotion + // + this.btnPromotion.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnPromotion.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnPromotion.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnPromotion.DisabledBackColor = System.Drawing.Color.Empty; + this.btnPromotion.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnPromotion.Location = new System.Drawing.Point(298, 128); + this.btnPromotion.Name = "btnPromotion"; + this.btnPromotion.Size = new System.Drawing.Size(87, 25); + this.btnPromotion.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnPromotion.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnPromotion.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnPromotion.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnPromotion.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnPromotion.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnPromotion.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnPromotion.Style.GradientAngle = 90; + this.btnPromotion.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnPromotion.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnPromotion.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnPromotion.TabIndex = 521; + this.btnPromotion.Text = "批量设置推广"; + this.btnPromotion.Click += new System.EventHandler(this.btnPromotion_Click); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(151, 30); + this.label8.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(19, 17); + this.label8.TabIndex = 838; + this.label8.Text = "%"; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(12, 30); + this.label7.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(92, 17); + this.label7.TabIndex = 827; + this.label7.Text = "设置佣金比例为"; + // + // txtRatio + // + this.txtRatio.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtRatio.Location = new System.Drawing.Point(104, 26); + this.txtRatio.Margin = new System.Windows.Forms.Padding(0); + this.txtRatio.Name = "txtRatio"; + this.txtRatio.Size = new System.Drawing.Size(45, 25); + this.txtRatio.TabIndex = 828; + this.txtRatio.Text = "1"; + this.txtRatio.TextChanged += new System.EventHandler(this.txtRatio_TextChanged); + // + // btnEndCoupon + // + this.btnEndCoupon.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEndCoupon.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnEndCoupon.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEndCoupon.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnEndCoupon.Location = new System.Drawing.Point(10, 128); + this.btnEndCoupon.Name = "btnEndCoupon"; + this.btnEndCoupon.Size = new System.Drawing.Size(120, 25); + this.btnEndCoupon.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEndCoupon.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEndCoupon.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEndCoupon.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnEndCoupon.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnEndCoupon.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnEndCoupon.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnEndCoupon.Style.GradientAngle = 90; + this.btnEndCoupon.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEndCoupon.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnEndCoupon.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnEndCoupon.TabIndex = 820; + this.btnEndCoupon.Text = "作废选中商品优惠券"; + this.btnEndCoupon.Click += new System.EventHandler(this.btnEndCoupon_Click); + // + // panelEx2 + // + this.panelEx2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.panelEx2.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx2.Location = new System.Drawing.Point(390, 128); + this.panelEx2.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.panelEx2.Name = "panelEx2"; + this.panelEx2.Size = new System.Drawing.Size(58, 25); + this.panelEx2.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx2.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx2.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx2.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx2.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx2.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx2.Style.GradientAngle = 90; + this.panelEx2.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx2.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx2.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx2.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx2.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx2.TabIndex = 805; + this.panelEx2.Text = "停止操作"; + this.panelEx2.Click += new System.EventHandler(this.btnStop_Click); + // + // btnEndPromotion + // + this.btnEndPromotion.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEndPromotion.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnEndPromotion.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEndPromotion.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnEndPromotion.Location = new System.Drawing.Point(134, 128); + this.btnEndPromotion.Name = "btnEndPromotion"; + this.btnEndPromotion.Size = new System.Drawing.Size(120, 25); + this.btnEndPromotion.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEndPromotion.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEndPromotion.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEndPromotion.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnEndPromotion.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnEndPromotion.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnEndPromotion.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnEndPromotion.Style.GradientAngle = 90; + this.btnEndPromotion.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEndPromotion.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnEndPromotion.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnEndPromotion.TabIndex = 848; + this.btnEndPromotion.Text = "取消选中商品推广"; + this.btnEndPromotion.Click += new System.EventHandler(this.btnEndPromotion_Click); + // + // ucGroupBoxEx1 + // + this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshAuthor); + this.ucGroupBoxEx1.Controls.Add(this.btnSelectOffline); + this.ucGroupBoxEx1.Controls.Add(this.btnSelectOnline); + this.ucGroupBoxEx1.Controls.Add(this.btnAddUnSelect); + this.ucGroupBoxEx1.Controls.Add(this.btnReverse); + this.ucGroupBoxEx1.Controls.Add(this.cmbFilterShopNotes); + this.ucGroupBoxEx1.Controls.Add(this.btnAddSelect); + this.ucGroupBoxEx1.Controls.Add(this.btnEmptyShop); + this.ucGroupBoxEx1.Controls.Add(this.btnFilterShop); + this.ucGroupBoxEx1.Controls.Add(this.label16); + this.ucGroupBoxEx1.Controls.Add(this.txtFilterShopName); + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop); + this.ucGroupBoxEx1.Controls.Add(this.label17); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); + this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; + this.ucGroupBoxEx1.Size = new System.Drawing.Size(160, 165); + this.ucGroupBoxEx1.TabIndex = 399; + this.ucGroupBoxEx1.TabStop = false; + this.ucGroupBoxEx1.Text = "基础"; + // + // btnRefreshAuthor + // + this.btnRefreshAuthor.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshAuthor.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshAuthor.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshAuthor.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshAuthor.Location = new System.Drawing.Point(81, 17); + this.btnRefreshAuthor.Name = "btnRefreshAuthor"; + this.btnRefreshAuthor.Size = new System.Drawing.Size(70, 20); + this.btnRefreshAuthor.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAuthor.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshAuthor.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshAuthor.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshAuthor.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshAuthor.Style.GradientAngle = 90; + this.btnRefreshAuthor.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshAuthor.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshAuthor.TabIndex = 800; + this.btnRefreshAuthor.Text = "刷新授权"; + this.btnRefreshAuthor.Click += new System.EventHandler(this.btnRefreshAuthor_Click); + // + // btnSelectOffline + // + this.btnSelectOffline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelectOffline.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelectOffline.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelectOffline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelectOffline.Location = new System.Drawing.Point(61, 137); + this.btnSelectOffline.Name = "btnSelectOffline"; + this.btnSelectOffline.Size = new System.Drawing.Size(50, 20); + this.btnSelectOffline.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOffline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOffline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOffline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelectOffline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelectOffline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelectOffline.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelectOffline.Style.GradientAngle = 90; + this.btnSelectOffline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOffline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOffline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOffline.TabIndex = 772; + this.btnSelectOffline.Text = "选掉线"; + this.btnSelectOffline.Click += new System.EventHandler(this.btnSelectOffline_Click); + // + // btnSelectOnline + // + this.btnSelectOnline.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSelectOnline.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelectOnline.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSelectOnline.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelectOnline.Location = new System.Drawing.Point(9, 137); + this.btnSelectOnline.Name = "btnSelectOnline"; + this.btnSelectOnline.Size = new System.Drawing.Size(50, 20); + this.btnSelectOnline.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOnline.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOnline.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelectOnline.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSelectOnline.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSelectOnline.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSelectOnline.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSelectOnline.Style.GradientAngle = 90; + this.btnSelectOnline.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSelectOnline.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOnline.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSelectOnline.TabIndex = 768; + this.btnSelectOnline.Text = "选在线"; + this.btnSelectOnline.Click += new System.EventHandler(this.btnSelectOnline_Click); + // + // btnAddUnSelect + // + this.btnAddUnSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddUnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddUnSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddUnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddUnSelect.Location = new System.Drawing.Point(81, 115); + this.btnAddUnSelect.Name = "btnAddUnSelect"; + this.btnAddUnSelect.Size = new System.Drawing.Size(70, 20); + this.btnAddUnSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUnSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddUnSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddUnSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddUnSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddUnSelect.Style.GradientAngle = 90; + this.btnAddUnSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddUnSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddUnSelect.TabIndex = 746; + this.btnAddUnSelect.Text = "弃选条件"; + this.btnAddUnSelect.Click += new System.EventHandler(this.btnAddUnSelect_Click); + // + // btnReverse + // + this.btnReverse.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnReverse.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnReverse.DisabledBackColor = System.Drawing.Color.Empty; + this.btnReverse.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnReverse.Location = new System.Drawing.Point(113, 137); + this.btnReverse.Name = "btnReverse"; + this.btnReverse.Size = new System.Drawing.Size(38, 20); + this.btnReverse.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnReverse.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReverse.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnReverse.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnReverse.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnReverse.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnReverse.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnReverse.Style.GradientAngle = 90; + this.btnReverse.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnReverse.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReverse.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnReverse.TabIndex = 726; + this.btnReverse.Text = "反选"; + this.btnReverse.Click += new System.EventHandler(this.btnReverse_Click); + // + // cmbFilterShopNotes + // + this.cmbFilterShopNotes.DefaultText = "全部"; + this.cmbFilterShopNotes.DropDownHeight = 1; + this.cmbFilterShopNotes.DropDownWidth = 1; + this.cmbFilterShopNotes.FormattingEnabled = true; + this.cmbFilterShopNotes.IntegralHeight = false; + this.cmbFilterShopNotes.Location = new System.Drawing.Point(38, 66); + this.cmbFilterShopNotes.Name = "cmbFilterShopNotes"; + this.cmbFilterShopNotes.Size = new System.Drawing.Size(113, 25); + this.cmbFilterShopNotes.TabIndex = 442; + this.cmbFilterShopNotes.Text = "全部"; + // + // btnAddSelect + // + this.btnAddSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddSelect.Location = new System.Drawing.Point(9, 115); + this.btnAddSelect.Name = "btnAddSelect"; + this.btnAddSelect.Size = new System.Drawing.Size(70, 20); + this.btnAddSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddSelect.Style.GradientAngle = 90; + this.btnAddSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddSelect.TabIndex = 742; + this.btnAddSelect.Text = "选中条件"; + this.btnAddSelect.Click += new System.EventHandler(this.btnAddSelect_Click); + // + // btnEmptyShop + // + this.btnEmptyShop.CanvasColor = System.Drawing.SystemColors.Control; + this.btnEmptyShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnEmptyShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnEmptyShop.Location = new System.Drawing.Point(113, 93); + this.btnEmptyShop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnEmptyShop.Name = "btnEmptyShop"; + this.btnEmptyShop.Size = new System.Drawing.Size(38, 20); + this.btnEmptyShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnEmptyShop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnEmptyShop.Style.GradientAngle = 90; + this.btnEmptyShop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnEmptyShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnEmptyShop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnEmptyShop.TabIndex = 713; + this.btnEmptyShop.Text = "清空"; + this.btnEmptyShop.Click += new System.EventHandler(this.btnEmptyShop_Click); + // + // btnFilterShop + // + this.btnFilterShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnFilterShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnFilterShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnFilterShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnFilterShop.Location = new System.Drawing.Point(9, 93); + this.btnFilterShop.Name = "btnFilterShop"; + this.btnFilterShop.Size = new System.Drawing.Size(102, 20); + this.btnFilterShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnFilterShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnFilterShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnFilterShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnFilterShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnFilterShop.Style.GradientAngle = 90; + this.btnFilterShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnFilterShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFilterShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnFilterShop.TabIndex = 703; + this.btnFilterShop.Text = "过滤店铺"; + this.btnFilterShop.Click += new System.EventHandler(this.btnFilterShop_Click); + // + // label16 + // + this.label16.AutoSize = true; + this.label16.Location = new System.Drawing.Point(7, 70); + this.label16.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label16.Name = "label16"; + this.label16.Size = new System.Drawing.Size(32, 17); + this.label16.TabIndex = 697; + this.label16.Text = "备注"; + // + // txtFilterShopName + // + this.txtFilterShopName.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtFilterShopName.Location = new System.Drawing.Point(38, 39); + this.txtFilterShopName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtFilterShopName.Name = "txtFilterShopName"; + this.txtFilterShopName.Size = new System.Drawing.Size(113, 25); + this.txtFilterShopName.TabIndex = 653; + // + // btnRefreshShop + // + this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshShop.Location = new System.Drawing.Point(9, 17); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(70, 20); + this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshShop.Style.GradientAngle = 90; + this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshShop.TabIndex = 431; + this.btnRefreshShop.Text = "刷新店铺"; + this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshShop_Click); + // + // label17 + // + this.label17.AutoSize = true; + this.label17.Location = new System.Drawing.Point(7, 43); + this.label17.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label17.Name = "label17"; + this.label17.Size = new System.Drawing.Size(32, 17); + this.label17.TabIndex = 699; + this.label17.Text = "名称"; + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.splitContainer2); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); + this.splitContainer3.Size = new System.Drawing.Size(1424, 472); + this.splitContainer3.SplitterDistance = 442; + this.splitContainer3.TabIndex = 1; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.pbLoadingShop); + this.splitContainer2.Panel1.Controls.Add(this.txtPageBegin); + this.splitContainer2.Panel1.Controls.Add(this.label1); + this.splitContainer2.Panel1.Controls.Add(this.dgvShop); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.pbLoading); + this.splitContainer2.Panel2.Controls.Add(this.chkTestNoAuditUpload); + this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct); + this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.splitContainer2.Size = new System.Drawing.Size(1424, 442); + this.splitContainer2.SplitterDistance = 350; + this.splitContainer2.TabIndex = 0; + // + // pbLoadingShop + // + this.pbLoadingShop.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoadingShop.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoadingShop.Location = new System.Drawing.Point(150, 196); + this.pbLoadingShop.Name = "pbLoadingShop"; + this.pbLoadingShop.Size = new System.Drawing.Size(50, 50); + this.pbLoadingShop.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoadingShop.TabIndex = 189; + this.pbLoadingShop.TabStop = false; + this.pbLoadingShop.Visible = false; + // + // txtPageBegin + // + this.txtPageBegin.Font = new System.Drawing.Font("微软雅黑", 10F); + this.txtPageBegin.Location = new System.Drawing.Point(51, 35); + this.txtPageBegin.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtPageBegin.Name = "txtPageBegin"; + this.txtPageBegin.Size = new System.Drawing.Size(140, 25); + this.txtPageBegin.TabIndex = 795; + this.txtPageBegin.Text = "1"; + this.txtPageBegin.Visible = false; + this.txtPageBegin.TextChanged += new System.EventHandler(this.txtPageBegin_TextChanged); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(8, 39); + this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label1.Name = "label1"; + this.label1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; + this.label1.Size = new System.Drawing.Size(44, 17); + this.label1.TabIndex = 794; + this.label1.Text = "开始页"; + this.label1.Visible = false; + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9; + this.dgvShop.AutoRowNumber = true; + this.dgvShop.BackgroundColor = System.Drawing.Color.White; + this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10; + this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colShopLoginName, + this.colShopId, + this.colShopName, + this.colShopNotes, + this.colSelectProduct, + this.colLoginStatus, + this.colApi, + this.colCanUse, + this.colUploadCount, + this.colOnSaleNum, + this.colRemaining, + this.colMessage}); + this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShop.Location = new System.Drawing.Point(4, 0); + this.dgvShop.Name = "dgvShop"; + this.dgvShop.ReadOnly = true; + this.dgvShop.RowHeadersWidth = 25; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(346, 442); + this.dgvShop.TabIndex = 6; + this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); + // + // colSelect + // + this.colSelect.HeaderText = "全选"; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Width = 28; + // + // colShopLoginName + // + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.Visible = false; + // + // colShopId + // + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + this.colShopId.Visible = false; + this.colShopId.Width = 55; + // + // colShopName + // + this.colShopName.FillWeight = 150F; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 75; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 75; + // + // colSelectProduct + // + this.colSelectProduct.HeaderText = "选择商品"; + this.colSelectProduct.Name = "colSelectProduct"; + this.colSelectProduct.ReadOnly = true; + this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelectProduct.Visible = false; + this.colSelectProduct.Width = 62; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLoginStatus.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLoginStatus.Width = 38; + // + // colApi + // + this.colApi.HeaderText = "Api"; + this.colApi.Name = "colApi"; + this.colApi.ReadOnly = true; + this.colApi.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colApi.Visible = false; + this.colApi.Width = 38; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // colUploadCount + // + this.colUploadCount.HeaderText = "已传"; + this.colUploadCount.Name = "colUploadCount"; + this.colUploadCount.ReadOnly = true; + this.colUploadCount.Visible = false; + this.colUploadCount.Width = 38; + // + // colOnSaleNum + // + this.colOnSaleNum.HeaderText = "在售"; + this.colOnSaleNum.Name = "colOnSaleNum"; + this.colOnSaleNum.ReadOnly = true; + this.colOnSaleNum.Visible = false; + this.colOnSaleNum.Width = 38; + // + // colRemaining + // + this.colRemaining.HeaderText = "月限额"; + this.colRemaining.Name = "colRemaining"; + this.colRemaining.ReadOnly = true; + this.colRemaining.Visible = false; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; + // + // pbLoading + // + this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoading.Location = new System.Drawing.Point(510, 196); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 780; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // chkTestNoAuditUpload + // + this.chkTestNoAuditUpload.AutoSize = true; + this.chkTestNoAuditUpload.Location = new System.Drawing.Point(1094, 35); + this.chkTestNoAuditUpload.Name = "chkTestNoAuditUpload"; + this.chkTestNoAuditUpload.Size = new System.Drawing.Size(123, 21); + this.chkTestNoAuditUpload.TabIndex = 779; + this.chkTestNoAuditUpload.Text = "测试免审提交商品"; + this.chkTestNoAuditUpload.UseVisualStyleBackColor = true; + this.chkTestNoAuditUpload.Visible = false; + // + // dgvSelectProduct + // + this.dgvSelectProduct.AllowUserToAddRows = false; + this.dgvSelectProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11; + this.dgvSelectProduct.AutoRowNumber = true; + this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12; + this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colCheck, + this.colSelectId, + this.colSupplierId, + this.colSupplierName, + this.colLogin, + this.colInShop, + this.colSpuId, + this.colSkcId, + this.colDraftId, + this.colImgUrl, + this.colProductSkcPic, + this.colSkuFakeImgUrl, + this.colSkuFakeImg, + this.colProductName, + this.colProductCat, + this.colExtCode, + this.colPrice, + this.colSoldNum, + this.colMsg, + this.colNotes, + this.colUserNotes, + this.ColDelete, + this.colAddTime, + this.colCouponNum, + this.colOpResult}); + this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0); + this.dgvSelectProduct.Name = "dgvSelectProduct"; + this.dgvSelectProduct.ReadOnly = true; + this.dgvSelectProduct.RowTemplate.Height = 23; + this.dgvSelectProduct.Size = new System.Drawing.Size(1066, 442); + this.dgvSelectProduct.TabIndex = 187; + this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); + // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.statusBar); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.btnClear); + this.splitContainer4.Panel2.Controls.Add(this.panelEx1); + this.splitContainer4.Size = new System.Drawing.Size(1424, 26); + this.splitContainer4.SplitterDistance = 733; + this.splitContainer4.TabIndex = 3; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.statusBar.Location = new System.Drawing.Point(0, 0); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(733, 26); + this.statusBar.TabIndex = 2; + // + // btnClear + // + this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnClear.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnClear.Location = new System.Drawing.Point(475, 2); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(90, 21); + this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.Style.GradientAngle = 90; + this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.TabIndex = 440; + this.btnClear.Text = "清空结果"; + this.btnClear.Visible = false; + // + // panelEx1 + // + this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx1.Location = new System.Drawing.Point(568, 2); + this.panelEx1.Name = "panelEx1"; + this.panelEx1.Size = new System.Drawing.Size(115, 21); + this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx1.Style.GradientAngle = 90; + this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx1.TabIndex = 668; + this.panelEx1.Text = "停止当前操作"; + this.panelEx1.Visible = false; + // + // colCheck + // + this.colCheck.Frozen = true; + this.colCheck.HeaderText = "选择"; + this.colCheck.Name = "colCheck"; + this.colCheck.ReadOnly = true; + this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCheck.Width = 30; + // + // colSelectId + // + this.colSelectId.HeaderText = "认领Id"; + this.colSelectId.Name = "colSelectId"; + this.colSelectId.ReadOnly = true; + this.colSelectId.Visible = false; + // + // colSupplierId + // + this.colSupplierId.Frozen = true; + this.colSupplierId.HeaderText = "店铺Id"; + this.colSupplierId.Name = "colSupplierId"; + this.colSupplierId.ReadOnly = true; + // + // colSupplierName + // + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13; + this.colSupplierName.Frozen = true; + this.colSupplierName.HeaderText = "店铺名称"; + this.colSupplierName.Name = "colSupplierName"; + this.colSupplierName.ReadOnly = true; + // + // colLogin + // + this.colLogin.HeaderText = "登录"; + this.colLogin.Name = "colLogin"; + this.colLogin.ReadOnly = true; + this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLogin.Width = 40; + // + // colInShop + // + this.colInShop.HeaderText = "进店"; + this.colInShop.Name = "colInShop"; + this.colInShop.ReadOnly = true; + this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colInShop.Width = 40; + // + // colSpuId + // + this.colSpuId.HeaderText = "源商品ID"; + this.colSpuId.Name = "colSpuId"; + this.colSpuId.ReadOnly = true; + this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSpuId.Visible = false; + // + // colSkcId + // + this.colSkcId.FillWeight = 150F; + this.colSkcId.HeaderText = "商品SKC"; + this.colSkcId.Name = "colSkcId"; + this.colSkcId.ReadOnly = true; + this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkcId.Visible = false; + this.colSkcId.Width = 80; + // + // colDraftId + // + this.colDraftId.HeaderText = "商品Id"; + this.colDraftId.Name = "colDraftId"; + this.colDraftId.ReadOnly = true; + this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.colDraftId.Width = 120; + // + // colImgUrl + // + this.colImgUrl.HeaderText = "图片地址"; + this.colImgUrl.Name = "colImgUrl"; + this.colImgUrl.ReadOnly = true; + this.colImgUrl.Visible = false; + // + // colProductSkcPic + // + this.colProductSkcPic.HeaderText = "图片"; + this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colProductSkcPic.Name = "colProductSkcPic"; + this.colProductSkcPic.ReadOnly = true; + this.colProductSkcPic.Width = 60; + // + // colSkuFakeImgUrl + // + this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址"; + this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl"; + this.colSkuFakeImgUrl.ReadOnly = true; + this.colSkuFakeImgUrl.Visible = false; + // + // colSkuFakeImg + // + this.colSkuFakeImg.HeaderText = "SKU替换图"; + this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colSkuFakeImg.Name = "colSkuFakeImg"; + this.colSkuFakeImg.ReadOnly = true; + this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkuFakeImg.Visible = false; + this.colSkuFakeImg.Width = 60; + // + // colProductName + // + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle14; + this.colProductName.HeaderText = "商品标题"; + this.colProductName.Name = "colProductName"; + this.colProductName.ReadOnly = true; + this.colProductName.Width = 150; + // + // colProductCat + // + dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15; + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 90; + // + // colExtCode + // + this.colExtCode.HeaderText = "商品货号"; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + this.colExtCode.Width = 145; + // + // colPrice + // + this.colPrice.HeaderText = "价格"; + this.colPrice.Name = "colPrice"; + this.colPrice.ReadOnly = true; + this.colPrice.Width = 60; + // + // colSoldNum + // + this.colSoldNum.HeaderText = "销量"; + this.colSoldNum.Name = "colSoldNum"; + this.colSoldNum.ReadOnly = true; + this.colSoldNum.Width = 60; + // + // colMsg + // + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // + // colNotes + // + this.colNotes.HeaderText = "上传备注"; + this.colNotes.Name = "colNotes"; + this.colNotes.ReadOnly = true; + this.colNotes.Visible = false; + // + // colUserNotes + // + this.colUserNotes.HeaderText = "重上/已买"; + this.colUserNotes.Name = "colUserNotes"; + this.colUserNotes.ReadOnly = true; + this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUserNotes.Visible = false; + this.colUserNotes.Width = 75; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + this.ColDelete.Visible = false; + this.ColDelete.Width = 75; + // + // colAddTime + // + dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16; + this.colAddTime.HeaderText = "上架时间"; + this.colAddTime.Name = "colAddTime"; + this.colAddTime.ReadOnly = true; + this.colAddTime.Width = 80; + // + // colCouponNum + // + this.colCouponNum.HeaderText = "生效券数量"; + this.colCouponNum.Name = "colCouponNum"; + this.colCouponNum.ReadOnly = true; + this.colCouponNum.Visible = false; + this.colCouponNum.Width = 90; + // + // colOpResult + // + this.colOpResult.HeaderText = "操作结果"; + this.colOpResult.Name = "colOpResult"; + this.colOpResult.ReadOnly = true; + this.colOpResult.Width = 260; + // + // WXProdCouponOrderBoomForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1424, 641); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Name = "WXProdCouponOrderBoomForm"; + this.Text = "爆单神器"; + this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); + this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx2.ResumeLayout(false); + this.ucGroupBoxEx2.PerformLayout(); + this.flowLayoutPanel1.ResumeLayout(false); + this.flowLayoutPanel1.PerformLayout(); + this.ucGroupBoxEx3.ResumeLayout(false); + this.ucGroupBoxEx3.PerformLayout(); + this.ucGroupBoxEx4.ResumeLayout(false); + this.ucGroupBoxEx4.PerformLayout(); + this.ucGroupBoxEx1.ResumeLayout(false); + this.ucGroupBoxEx1.PerformLayout(); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel1.PerformLayout(); + this.splitContainer2.Panel2.ResumeLayout(false); + this.splitContainer2.Panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbLoadingShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit(); + this.splitContainer4.Panel1.ResumeLayout(false); + this.splitContainer4.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit(); + this.splitContainer4.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private UserComponent.UcGroupBoxEx ucGroupBoxEx4; + private UserComponent.UcGroupBoxEx ucGroupBoxEx1; + private DevComponents.DotNetBar.PanelEx btnRefreshShop; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.SplitContainer splitContainer2; + private UserComponent.DataGridViewEx dgvShop; + private UserComponent.DataGridViewEx dgvSelectProduct; + private System.Windows.Forms.SplitContainer splitContainer4; + private UserControls.StatusBarUserControl statusBar; + private DevComponents.DotNetBar.PanelEx btnSetPreSale; + private UserComponent.UcGroupBoxEx ucGroupBoxEx2; + private DevComponents.DotNetBar.PanelEx btnStop; + private DevComponents.DotNetBar.PanelEx btnSearchProd; + private DevComponents.DotNetBar.PanelEx btnClearFilter; + private DevComponents.DotNetBar.PanelEx btnClearDgv; + private DevComponents.DotNetBar.PanelEx btnClear; + private DevComponents.DotNetBar.PanelEx panelEx1; + private UserComponent.UcCheckBox chkTestNoAuditUpload; + private System.Windows.Forms.PictureBox pbLoadingShop; + private System.Windows.Forms.PictureBox pbLoading; + private System.Windows.Forms.TextBox txtFilterShopName; + private DevComponents.DotNetBar.PanelEx btnFilterShop; + private System.Windows.Forms.Label label17; + private System.Windows.Forms.Label label16; + private DevComponents.DotNetBar.PanelEx btnEmptyShop; + private UserComponent.UcComboBoxMutiSelect cmbFilterShopNotes; + private DevComponents.DotNetBar.PanelEx btnReverse; + private DevComponents.DotNetBar.PanelEx btnAddUnSelect; + private DevComponents.DotNetBar.PanelEx btnAddSelect; + private DevComponents.DotNetBar.PanelEx btnSelectOffline; + private DevComponents.DotNetBar.PanelEx btnSelectOnline; + private DevComponents.DotNetBar.PanelEx btnRefreshAuthor; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct; + private System.Windows.Forms.DataGridViewLinkColumn colLoginStatus; + private System.Windows.Forms.DataGridViewLinkColumn colApi; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colUploadCount; + private System.Windows.Forms.DataGridViewTextBoxColumn colOnSaleNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + private System.Windows.Forms.TextBox txtPageBegin; + private System.Windows.Forms.TextBox txtPageEnd; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private DevComponents.DotNetBar.PanelEx panelEx2; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.ComboBox cmbPreType; + private UserComponent.UcGroupBoxEx ucGroupBoxEx3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtFiltSaleNumMoreThan; + private DevComponents.DotNetBar.PanelEx btnFiltSelectMoreThan; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.Label lblProductPrice; + private System.Windows.Forms.TextBox txtProductPrice; + private System.Windows.Forms.Label lblDiscountFee; + private System.Windows.Forms.TextBox txtDiscountFee; + private System.Windows.Forms.ComboBox cmbCouponType; + private System.Windows.Forms.Label label18; + private System.Windows.Forms.TextBox txtProductCnt; + private System.Windows.Forms.Label lblProductCnt; + private System.Windows.Forms.TextBox txtDiscountNum; + private System.Windows.Forms.Label lblDiscountNum; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox txtTotalCnt; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.TextBox txtLimitNumOnePerson; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.Label label15; + private System.Windows.Forms.DateTimePicker dtpEndTime; + private System.Windows.Forms.DateTimePicker dtpStartTime; + private System.Windows.Forms.Label label14; + private DevComponents.DotNetBar.PanelEx btnEndCoupon; + private DevComponents.DotNetBar.PanelEx btnClearCoupon; + private DevComponents.DotNetBar.PanelEx panelEx6; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtFiltSaleNumLessThan; + private DevComponents.DotNetBar.PanelEx btnFiltSelectLessThan; + private System.Windows.Forms.ComboBox cmbSaleSort; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtRatio; + private DevComponents.DotNetBar.PanelEx btnPromotion; + private DevComponents.DotNetBar.PanelEx btnEndPromotion; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; + private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; + private System.Windows.Forms.DataGridViewLinkColumn colLogin; + private System.Windows.Forms.DataGridViewLinkColumn colInShop; + private System.Windows.Forms.DataGridViewLinkColumn colSpuId; + private System.Windows.Forms.DataGridViewLinkColumn colSkcId; + private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; + private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuFakeImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colSkuFakeImg; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductName; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; + private System.Windows.Forms.DataGridViewLinkColumn colUserNotes; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; + private System.Windows.Forms.DataGridViewTextBoxColumn colCouponNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; + } +} \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs new file mode 100644 index 0000000..60ae482 --- /dev/null +++ b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.cs @@ -0,0 +1,1887 @@ +using AllBase; +using AllBase.Helper; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.Extension; +using TemuKJD.BaseForms; +using TemuKJD.ToolForms; +using Work; +using TemuKJD.BLL; +using System.Text.RegularExpressions; +using TemuKJD.PDDForms.ProductSelectForms; +using TemuKJD.WXForms.ShopForms; +using AllBase.Model.Result.PDDResult; +using AllBase.Model.Param.WXParam; +using AllBase.Model.Result.WXResult; +using Newtonsoft.Json; +using NaiBa.Util; +using AllBase.Model.Config; + +namespace TemuKJD.WXForms.ProductForms +{ + public partial class WXProdCouponOrderBoomForm : BaseForm + { + int PageBegin = 1; + int PageEnd = 999; + string PreType = ""; + public CancellationTokenSource cancellationTokenSource { get; set; } = null; + public bool IsLoadComplate { get; set; } = false; + + bool isInit = false; + CheckBox chkSelectAll = null; + ConcurrentList lstShopAuthInfo = new ConcurrentList(); + ConcurrentList lstWXShopTokenInfo = new ConcurrentList(); + public NaiBa.Util.ConcurrentList lstTemuDBProductSelect = new NaiBa.Util.ConcurrentList(); + NaiBa.Util.ConcurrentList lstAddPriceRule = new NaiBa.Util.ConcurrentList(); + //public Dictionary> dicCheckedShopIdList = new Dictionary>(); + public Dictionary dicCheckedShopId = new Dictionary(); + public Dictionary dicShopUpload = new Dictionary(); + public string pdd_product_cates = ""; + public WXProdCouponOrderBoomForm() + { + InitializeComponent(); + } + + private void UserSelectDbProductForm_Load(object sender, EventArgs e) + { + this.splitContainer1.Dock = DockStyle.Fill; + + btnClearCoupon_Click(null, null); + + lstShopAuthInfo = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_auth_list"); + if (lstShopAuthInfo == null) + lstShopAuthInfo = new ConcurrentList(); + + lstWXShopTokenInfo = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_token_list"); + if (lstWXShopTokenInfo == null) + lstWXShopTokenInfo = new ConcurrentList(); + + lstTemuDBProductSelect = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_db_prod_upload_list"); + if (lstTemuDBProductSelect == null) + lstTemuDBProductSelect = new NaiBa.Util.ConcurrentList(); + + lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_add_price_rules"); + if (lstAddPriceRule == null) + { + lstAddPriceRule = new NaiBa.Util.ConcurrentList(); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 20, LessThanPrice = 999, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 }); + } + + dicCheckedShopId = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_checked_shop_dic"); + if (dicCheckedShopId == null) + dicCheckedShopId = new Dictionary(); + dicShopUpload = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_shop_upload_info"); + if (dicShopUpload == null) + dicShopUpload = new Dictionary(); + + + + chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false); + dgvShop.Columns["colSelect"].HeaderText = ""; + //chkSelectAll.Width = chkSelectAll.Height = 13; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + //chkSelectAll.Checked = true; + + this.dgvSelectProduct.AddSelectorColumn("colCheck"); + + dgvSelectProduct.AddImgColumn("colProductSkcPic", "colImgUrl"); + dgvSelectProduct.AddImgColumn("colSkuFakeImg", "colSkuFakeImgUrl"); + + dgvSelectProduct.Columns["colSkuFakeImg"].Visible = false; + +//#if DEBUG + if (BaseClass.SaLevel == 1) + { + //txtIdFilter.Visible = true; + //txtExtCodeFilter.Visible = true; + //lblIdFilter.Visible = true; + //lblExtCodeFilter.Visible = true; + } +//#endif + IsLoadComplate = true; + } + + private void btnRefreshAuthor_Click(object sender, EventArgs e) + { + updateAuthor(true); + } + + /// + /// 升级授权 + /// + /// 今日取过的也取 + private void updateAuthor(bool idRefreshTodayHasGet = false) + { + this.pbLoadingShop.Visible = true; + Task.Run(() => + { + // 店铺Id + var updateIds = dgvShop.Rows.Cast().Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (idRefreshTodayHasGet == true) + updateIds = selectIds; + + List tList = new List(); + if (idRefreshTodayHasGet) + lstShopAuthInfo.RemoveAll(s => updateIds.Contains(s.ShopId)); + foreach (var shop in GlobalConfig.ShopLoginList.Where(s => updateIds.Contains(s.ShopId))) + { + Invoke(new Action(() => { BindShop(shop, selectIds, ""); })); + var t = Task.Run(() => + { + try + { + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); })); + return; + } + + var authInfo = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + if (idRefreshTodayHasGet || authInfo == null || authInfo?.AddTime.Date != DateTime.Now.Date) + { + lstShopAuthInfo.RemoveAll(sa => sa.ShopId == shop.ShopId); + var rst = WXUpload.GetApiServiceList(shop); + if (!rst.Contains("\"code\":0")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { BindShop(shop, selectIds, "店铺掉线"); })); + return; + } + + lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = DateTime.Now }); + Invoke(new Action(() => { BindShop(shop, selectIds, "授权查询失败"); })); + return; + } + + foreach (var itemObj in JsonHelper.JObjectParse(rst)["itemList"]) + { + // 找到了指定服务 + if (itemObj["serviceName"].ParseToString() == "店统领供应链-商品管理") + { + var expiresTick = itemObj["expireTime"].ParseToLong(); + lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = BaseClass.StampToDateTime(expiresTick.ParseToInt()) }); + Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); })); + return; + } + } + // 没找到指定服务 + lstShopAuthInfo.Add(new AuthInfo() { ShopId = shop.ShopId, AddTime = DateTime.Now, ExpiresTime = DateTime.Now }); + Invoke(new Action(() => { BindShop(shop, selectIds, "已查询"); })); + } + } + catch (Exception ex) + { + } + }); + tList.Add(t); + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 20) { Thread.Sleep(100); } + } + while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); } + NaiBa.Util.Helper.ConfigHelper.SaveConfig( "wx_shop_auth_list", lstShopAuthInfo); + Invoke(new Action(() => { pbLoadingShop.Visible = false; })); + }); + } + + private void chkSelectAll_CheckedChanged(object sender, EventArgs e) + { + if (!chkSelectAll.Checked) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + row.Cells["colSelect"].Value = false; + } + } + else + { + //var list = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId); + foreach (DataGridViewRow row in dgvShop.Rows) + { + //if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString())) + if(row.Visible == true) + row.Cells["colSelect"].Value = true; + } + } + + foreach (var r in dgvShop.Rows.Cast()) + { + dicCheckedShopId[r.Cells["colShopId"].Value.ParseToString()] = r.Cells["colSelect"].Value.ParseToBool(); + } + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId); + } + + private void btnRefreshShop_Click(object sender, EventArgs e) + { + pbLoadingShop.Visible = true; + RefreshShopLogin(); + } + + private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) + { + if (Visible == true) + { + RefreshShopLogin(); + updateAuthor(); + + if (!isInit) + { + Task.Run(() => + { + foreach (var shop in GlobalConfig.ShopLoginList) + { + //if (shop.LoginStatus == "登录成功") + //{ + // var rst = WXUpload.scanProductPreview(shop); + // if (!rst.Contains("\"code\":0") && !rst.Contains("\"success\":true")) + // { + // WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + // } + //} + } + + }); + } + + isInit = true; + } + } + + private void RefreshShopLogin() + { + // 店铺Id + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + // 获取被删除的店铺 + List dgvRowList = dgvShop.Rows.Cast().Where(row + => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList(); + // 更新被删除的店铺列表 + foreach (var row in dgvRowList) + { + dgvShop.Rows.Remove(row); + } + // 绑定其他店铺(含新导入的店铺) + foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList) + { + if (!string.IsNullOrEmpty(shopEntity.ShopId)) + BindShop(shopEntity, selectIds); + } + cmbFilterShopNotes.Items.Clear(); + //cmbFilterShopNotes.Items.Add(""); + foreach (var note in GlobalConfig.ShopLoginList.Select(s => s.Notes).Where(s => !s.IsNullOrEmpty()).Distinct()) + { + cmbFilterShopNotes.Items.Add(note); + } + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null, string msg = "") + { + if (shopEntity == null) + return; + if (selectShopId == null) + selectShopId = new List(); + + bool canUse = shopEntity.LoginStatus == "登录成功"; + //canUse = true; // 内部库不需要校验登录状态 + var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + var day = DateTime.Now.ToString("yyyyMMdd").ParseToInt(); + if (row == null) + { + this.dgvShop.Rows.Add( + //!isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse), + dicCheckedShopId.Keys.Contains(shopEntity.ShopId) && dicCheckedShopId[shopEntity.ShopId] == true, + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.Notes, + "选择商品", + canUse ? "在线" : "掉线", + lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期", + canUse, + dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ? + dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0, + dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ? + dicShopUpload[shopEntity.ShopId].OnSaleCount : 0, + shopEntity.AddProductRemaining, + "", + msg + ); + } + else + { + row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse); + row.Cells["colShopLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopName"].Value = shopEntity.ShopAccount; + row.Cells["colShopNotes"].Value = shopEntity.Notes; + row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线"; + row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red; + row.Cells["colCanUse"].Value = canUse; + row.Cells["colApi"].Value = lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期"; + row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining; + row.Cells["colUploadCount"].Value = dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ? + dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0; + row.Cells["colOnSaleNum"].Value = dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ? + dicShopUpload[shopEntity.ShopId].OnSaleCount : 0; + row.Cells["colMessage"].Value = msg; + } + + displayAuthStatus(shopEntity); + } + + void displayAuthStatus(ShopLoginInfo shop) + { + var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colShopId"].Value.ParseToString() == shop?.ShopId); + foreach (var row in rows) + { + bool canUse = row.Cells["colLoginStatus"].Value.ParseToString() == "在线"; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + canUse = row.Cells["colApi"].Value.ParseToString() == "可用"; + (row.Cells["colApi"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colApi"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Blue : Color.Red; + (row.Cells["colApi"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightBlue : Color.OrangeRed; + (row.Cells["colApi"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkBlue : Color.DarkRed; + } + } + + private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText; + string columnName = dgvShop.Columns[e.ColumnIndex].Name; + string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString(); + string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString()); + var row = dgvShop.Rows[e.RowIndex]; + switch (columnName) + { + case "colSelect": + //if (row.Cells["colCanUse"].Value.ParseToBool()) + { + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + + chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged; + if (dgvShop.Rows.Cast().All(r => r.Cells["colSelect"].Value.ParseToBool())) + chkSelectAll.Checked = true; + else + chkSelectAll.Checked = false; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + } + //else + { + //BaseMsgForm.ShowInfo("店铺未登录!"); + } + + dicCheckedShopId[row.Cells["colShopId"].Value.ParseToString()] = row.Cells["colSelect"].Value.ParseToBool(); + NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_checked_shop_dic", dicCheckedShopId); + break; + case "colLoginStatus": + { + if (WXShopListForm.Instance == null) + WXShopListForm.Instance = new WXShopListForm(); + WXShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + //shopLoginForm.prodUserSelectForm = this; + if (shop.LoginStatus != "登录成功") + { + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + else + { + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.Show(); + } + } + break; + case "colApi": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/servicemarket/detail?serviceId=3984039898079707139"; + shopLoginForm.Show(); + } + break; + } + } + + private void btnSearch_Click(object sender, EventArgs e) + { + var lstShopId = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (lstShopId.Count == 0) + { + BaseMsgForm.ShowInfo("请选择店铺!"); + return; + } + } + + private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString(); + var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == dbId); + var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + + switch (headerText) + { + case "删除": + break; + case "登录": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + //shopLoginForm.prodUserSelectForm = this; + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + break; + case "进店": + { + WXShopLoginForm shopLoginForm = new WXShopLoginForm(shop); + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus == "登录成功") + { + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home"; + shopLoginForm.Show(); + } + else + { + shopLoginForm.openType = EnumOpenType.login; + shopLoginForm.ShowDialog(); + RefreshShopLogin(); + } + } + break; + case "上传商品Id": + //if (!string.IsNullOrEmpty(draftId) && shop != null) + //{ + // ShopLoginForm shopLoginForm = new ShopLoginForm(shop); + // shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + + // draftId + "&from=productDraftList"; + // shopLoginForm.openType = EnumOpenType.manage; + // shopLoginForm.WindowState = FormWindowState.Maximized; + // shopLoginForm.ShowDialog(); + //} + break; + case "图片": + { + ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + } + case "SKU替换图": + { + ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colSkuFakeImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + } + case "": + dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value; + break; + default: + break; + } + } + + + private void btnSetPreSale_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + + if (cmbCouponType.Text != "满减" && cmbCouponType.Text != "每满" && cmbCouponType.Text != "直减" && cmbCouponType.Text != "统一折扣" && cmbCouponType.Text != "条件折扣") + { + BaseMsgForm.ShowError("请填写正确的优惠方式参数!"); + return; + } + if (cmbCouponType.Text == "满减" && (txtProductPrice.Text.Trim().ParseToDecimal() == 0 || txtDiscountFee.Text.Trim().ParseToDecimal() == 0)) + { + BaseMsgForm.ShowError("请填写正确的优惠方式参数!"); + return; + } + else if (cmbCouponType.Text == "每满" && (txtProductPrice.Text.Trim().ParseToDecimal() == 0 || txtDiscountFee.Text.Trim().ParseToDecimal() == 0)) + { + BaseMsgForm.ShowError("请填写正确的优惠方式参数!"); + return; + } + else if (cmbCouponType.Text == "直减" && (txtDiscountFee.Text.Trim().ParseToDecimal() == 0)) + { + BaseMsgForm.ShowError("请填写正确的优惠方式参数!"); + return; + } + else if (cmbCouponType.Text == "统一折扣" && (txtDiscountNum.Text.Trim().ParseToDecimal() == 0)) + { + BaseMsgForm.ShowError("请填写正确的优惠方式参数!"); + return; + } + else if (cmbCouponType.Text == "条件折扣" && (txtProductCnt.Text.Trim().ParseToDecimal() == 0 || txtDiscountNum.Text.Trim().ParseToDecimal() == 0)) + { + BaseMsgForm.ShowError("请填写正确的优惠方式参数!"); + return; + } + else if (cmbCouponType.Text == "统一折扣" && (txtDiscountNum.Text.Trim().ParseToDecimal() > 9.9m || txtDiscountNum.Text.Trim().ParseToDecimal() < 2)) + { + BaseMsgForm.ShowError("折扣必须在2-9.9之间,最多一位小数"); + return; + } + else if (cmbCouponType.Text == "条件折扣" && (txtDiscountNum.Text.Trim().ParseToDecimal() > 9.9m || txtDiscountNum.Text.Trim().ParseToDecimal() < 2)) + { + BaseMsgForm.ShowError("折扣必须在2-9.9之间,最多一位小数"); + return; + } + if (txtLimitNumOnePerson.Text.Trim().ParseToInt() == 0) + { + BaseMsgForm.ShowError("请填写正确的限领参数!"); + return; + } + if (txtTotalCnt.Text.Trim().ParseToInt() == 0) + { + BaseMsgForm.ShowError("请填写正确的发放数量参数!"); + return; + } + + + this.pbLoading.Visible = true; + this.btnSetPreSale.Enabled = false; + cancellationTokenSource = new CancellationTokenSource(); + dgvSelectProduct.Columns["colCouponNum"].Visible = false; + Task.Run(() => + { + SetProdCoupon(rowLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "商品设置完毕"; + BaseMsgForm.ShowInfo("商品设置完毕"); + this.pbLoading.Visible = false; + this.btnSetPreSale.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + + void SetProdCoupon(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在设置" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = rowLst.Count; + this.statusBar.UpdateProgressBar(0); + })); + + foreach (var row in rowLst) + { + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在设置" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + row.Cells["colOpResult"].Value = ""; + })); + + if (cancellationTokenSource.IsCancellationRequested) + break; + + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + var shopId = row.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺不存在"; + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺掉线"; + })); + continue; + } + WXCouponParamBase wxCouponParam = new WXCouponParamBase(); + Thread.Sleep(Randomx.GetId(300, 800)); + //wxCouponParam.check = true; + wxCouponParam.coupon.couponInfo.name = prodId; + wxCouponParam.coupon.couponInfo.discountInfo.discountCondition.productIds.Add(prodId.ParseToLong()); + wxCouponParam.coupon.couponInfo.extInfo.autoValidTime = BaseClass.DateTimeToTimestampSeconds(startTime); + wxCouponParam.coupon.couponInfo.receiveInfo.startTime = BaseClass.DateTimeToTimestampSeconds(startTime); + wxCouponParam.coupon.couponInfo.receiveInfo.endTime = BaseClass.DateTimeToTimestampSeconds(endTime); + wxCouponParam.coupon.couponInfo.validInfo.startTime = BaseClass.DateTimeToTimestampSeconds(startTime); + wxCouponParam.coupon.couponInfo.validInfo.endTime = BaseClass.DateTimeToTimestampSeconds(endTime); + wxCouponParam.coupon.couponInfo.receiveInfo.limitNumOnePerson = limitNumOnePerson; + wxCouponParam.coupon.couponInfo.receiveInfo.totalNum = totalCnt.ParseToString(); + if (couponType == "满减") + { + wxCouponParam.coupon.couponKey.type = 2; + wxCouponParam.coupon.couponInfo.discountInfo.discountCondition.productPrice = productPriceValue.ParseToString(); + wxCouponParam.coupon.couponInfo.discountInfo.discountFee = discountFeeValue.ParseToString(); + } + else if (couponType == "每满") + { + wxCouponParam.coupon.couponKey.type = 2; + wxCouponParam.coupon.couponInfo.discountInfo.isCanUp = true; + wxCouponParam.coupon.couponInfo.discountInfo.discountCondition.productPrice = productPriceValue.ParseToString(); + wxCouponParam.coupon.couponInfo.discountInfo.discountFee = discountFeeValue.ParseToString(); + } + else if (couponType == "直减") + { + wxCouponParam.coupon.couponKey.type = 4; + wxCouponParam.coupon.couponInfo.discountInfo.discountFee = discountFeeValue.ParseToString(); + } + else if (couponType == "统一折扣") + { + wxCouponParam.coupon.couponKey.type = 3; + wxCouponParam.coupon.couponInfo.discountInfo.discountNum = discountNum.ToString("0.##"); + } + else if (couponType == "条件折扣") + { + wxCouponParam.coupon.couponKey.type = 1; + wxCouponParam.coupon.couponInfo.discountInfo.discountCondition.productCnt = productCnt; + wxCouponParam.coupon.couponInfo.discountInfo.discountNum = discountNum.ToString("0.##"); + } + + + var addCouponRst = WxCoupon.WxSetCoupon(shop, wxCouponParam); + Thread.Sleep(Randomx.GetId(50, 100)); + if(addCouponRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + if (!addCouponRst.Contains("\"success\":true") && !addCouponRst.Contains("\"code\":0")) + { + var errmsg = BaseRegex.GetStringJson(ref addCouponRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = addCouponRst; + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = errmsg; + })); + continue; + } + + if (addCouponRst.Contains("\"code\":0")) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "设置成功"; + })); + } + } + } + + private void btnStop_Click(object sender, EventArgs e) + { + if (this.cancellationTokenSource != null) + this.cancellationTokenSource.Cancel(); + } + + private void btnSearchProd_Click(object sender, EventArgs e) + { + var shopIdLst = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (shopIdLst.Count <= 0) + { + BaseMsgForm.ShowError("未勾选上传店铺!"); + return; + } + btnSearchProd.Enabled = false; + pbLoading.Visible = true; + cancellationTokenSource = new CancellationTokenSource(); + dgvSelectProduct.Rows.Clear(); + dgvSelectProduct.Columns["colCouponNum"].Visible = false; + Task.Run(() => + { + GetProduct(shopIdLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "商品查询完毕"; + BaseMsgForm.ShowInfo("商品查询完毕"); + pbLoading.Visible = false; + btnSearchProd.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + + void GetProduct(List shopIdLst) + { + List shopLst = GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId)).ToList(); + foreach(var shop in shopLst) + { + if(cancellationTokenSource.IsCancellationRequested) + break; + + if (shop.LoginStatus != "登录成功") + { + continue; + } + + int page = PageBegin - 1; + int totalPage = 1; + int pageSize = 50; + string nextKey = ""; + while (page < totalPage && page < PageEnd) + { + page++; + + if (cancellationTokenSource.IsCancellationRequested) + break; + + string getProdOnSaleRst = ""; + + if (string.IsNullOrEmpty(PreType) && sortType == null) + getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize); + else + getProdOnSaleRst = WXPreSale.searchProduct(shop, page, null, pageSize, sortType); + Thread.Sleep(Randomx.GetId(50, 100)); + if (!getProdOnSaleRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref getProdOnSaleRst, "msg"); + if (string.IsNullOrEmpty(error)) + error = getProdOnSaleRst; + + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => { BindShop(shop, shopIdLst, "店铺掉线"); })); + } + + var shopRow = dgvShop.Rows.Cast().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId); + Invoke(new Action(() => { + if (shopRow != null) + { + shopRow.Cells["colMsg"].Value = error; + } + })); + break; + } + + try + { + var prodObjs = JsonHelper.JObjectParse(getProdOnSaleRst); + if (page == 1) + { + var totalNum = prodObjs["totalNum"].ParseToInt(); + totalPage = Math.Ceiling(1m * totalNum / pageSize).ParseToInt(); + nextKey = prodObjs["nextKey"].ParseToString(); + } + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在查询店铺:" + shop.ShopAccount + " " + page + "/" + Math.Min(PageEnd, totalPage); + //this.statusBar.pgbTaskProgress.Maximum = lstTemuDBProductSelect.Count; + //this.statusBar.UpdateProgressBar(0); + })); + foreach (JObject prod in prodObjs["productList"]) + { + var pStr = JsonHelper.SerializeObject(prod); + Invoke(new Action(() => + { + decimal? price = null; + try { price = prod["skuList"][0]["price"].ParseToDecimal() / 100; } catch { } + var prodId = prod["productId"].ParseToString(); + if (dgvSelectProduct.Rows.Cast().Any(r => r.Cells["colDraftId"].ParseToString() == prodId)) + { + + } + + var rowIndex = this.dgvSelectProduct.Rows.Add( + false, + "", + shop.ShopId, + shop.ShopAccount, + "登录", + "进店", + "", + "", + prod["productId"].ParseToString(), + prod["headImg"].ParseToString(), + DataGridViewExtension.defaultBitmap, + "", // 替换图地址 + null, // 替换图 + prod["title"].ParseToString(), // 用户端显示商品原名 + (prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ? + "" : string.Join(" >> ", prod["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称 + prod["spuCode"].ParseToString(), + //price, + prod["price"].ParseToDecimal() * 0.01m, + prod["soldNum"].ParseToInt(), + "在售" + (prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : ""), + "", // 备注 + "", + "删除", + BaseClass.StampToDateTime(prod["lastEditDraftTime"].ParseToInt()).ToString("yy-MM-dd HH:mm"), + ""); + + dgvSelectProduct.Rows[rowIndex].Height = 60; + dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString().Contains("预售") ? Color.Orange : Color.Blue; + })); + } + } + catch (Exception ex) + { + + } + } + } + } + + private void btnClearDgv_Click(object sender, EventArgs e) + { + var rows = this.dgvSelectProduct.Rows.Cast().ToList(); //Cast后Rows做foreach循环时仍会夹花跳过,所以要ToList转一个新的数组。 + foreach (var row in rows) + { + if (row.Cells["colCheck"].Value.ParseToBool() == true) + { + //var draft_id = row.Cells["colDraftId"].Value.ParseToString(); + //upload_draft_product_lst.RemoveAll(p => p.draft_id == draft_id); + + this.dgvSelectProduct.Rows.Remove(row); + } + } + //NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_select_upload_draft_products", upload_draft_product_lst); + } + + private void btnClearFilter_Click(object sender, EventArgs e) + { + txtFiltSaleNumMoreThan.Text = "0"; + txtFiltSaleNumLessThan.Text = "1"; + } + + private void txtPreDays_TextChanged(object sender, EventArgs e) + { + } + + private void chkPreSale_CheckedChanged(object sender, EventArgs e) + { + } + + private void btnFilterShop_Click(object sender, EventArgs e) + { + foreach(DataGridViewRow row in dgvShop.Rows) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + if (!row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim())) + { + row.Visible = false; + row.Cells["colSelect"].Value = false; + continue; + } + if (!row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) && !notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString())) + { + row.Visible = false; + row.Cells["colSelect"].Value = false; + continue; + } + row.Visible = true; + } + } + + private void btnEmptyShop_Click(object sender, EventArgs e) + { + txtFilterShopName.Text = ""; + cmbFilterShopNotes.Text = "全部"; + btnFilterShop_Click(null, null); + } + + private void btnReverse_Click(object sender, EventArgs e) + { + foreach(DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + } + } + + private void btnAddSelect_Click(object sender, EventArgs e) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) && + (row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))) + { + row.Cells["colSelect"].Value = true; + } + } + } + } + + private void btnAddUnSelect_Click(object sender, EventArgs e) + { + string notes = cmbFilterShopNotes.Text.Trim().Trim(';'); + if (notes == "全部") + notes = ""; + List notesLst = notes.Split(new string[] { ";", ",", ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList(); + + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colShopName"].Value.ParseToString().Contains(txtFilterShopName.Text.Trim()) && + (row.Cells["colShopNotes"].Value.ParseToString().Contains(notes) || notesLst.Contains(row.Cells["colShopNotes"].Value.ParseToString()))) + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSelectOnline_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colLoginStatus"].Value.ParseToString() == "在线") + { + row.Cells["colSelect"].Value = true; + } + else + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void btnSelectOffline_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + if (row.Visible == true) + { + if (row.Cells["colLoginStatus"].Value.ParseToString() != "在线") + { + row.Cells["colSelect"].Value = true; + } + else + { + row.Cells["colSelect"].Value = false; + } + } + } + } + + private void txtPageBegin_TextChanged(object sender, EventArgs e) + { + PageEnd = txtPageBegin.Text.ParseToInt(); + } + + private void txtPageEnd_TextChanged(object sender, EventArgs e) + { + PageEnd = txtPageEnd.Text.ParseToInt(); + } + + private void cmbPreType_SelectedIndexChanged(object sender, EventArgs e) + { + PreType = cmbPreType.Text.Trim(); + } + + private void btnDown_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + + this.pbLoading.Visible = true; + this.btnSetPreSale.Enabled = false; + cancellationTokenSource = new CancellationTokenSource(); + Task.Run(() => + { + SetProdDown(rowLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "商品下架完毕"; + BaseMsgForm.ShowInfo("商品下架完毕"); + this.pbLoading.Visible = false; + this.btnSetPreSale.Enabled = true; + })); + }, cancellationTokenSource.Token); + + } + + void SetProdDown(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count; + this.statusBar.UpdateProgressBar(0); + })); + + foreach (var row in rowLst) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = ""; + })); + + if (cancellationTokenSource.IsCancellationRequested) + break; + + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + var shopId = row.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺不存在"; + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺掉线"; + })); + continue; + } + + var downProdRst = WXPreSale.DownProd(shop, prodId.ParseToLong()); + System.Threading.Thread.Sleep(Randomx.GetId(200, 500)); + if (!downProdRst.Contains("\"code\":0")) + { + if (downProdRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺掉线"; + })); + continue; + } + } + + var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = downProdRst; + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = errmsg; + })); + } + + if (downProdRst.Contains("\"code\":0")) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "下架成功"; + })); + } + } + } + + private void btnFiltSelectMoreThan_Click(object sender, EventArgs e) + { + foreach(DataGridViewRow row in dgvSelectProduct.Rows) + { + if (row.Cells["colSoldNum"].Value.ParseToInt() > txtFiltSaleNumMoreThan.Text.Trim().ParseToInt()) + row.Cells["colCheck"].Value = true; + else + row.Cells["colCheck"].Value = false; + } + } + + private void btnFiltSelectLessThan_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in dgvSelectProduct.Rows) + { + if (row.Cells["colSoldNum"].Value.ParseToInt() >= txtFiltSaleNumLessThan.Text.Trim().ParseToInt()) + row.Cells["colCheck"].Value = false; + else + row.Cells["colCheck"].Value = true; + } + } + + string couponType = "满减"; + private void cmbCouponType_TextChanged(object sender, EventArgs e) + { + couponType = cmbCouponType.Text; + + //满减 //每满 //直减 //统一折扣 //条件折扣 + foreach (Control c in flowLayoutPanel1.Controls) + { + c.Visible = false; + lblProductPrice.Text = "满"; + lblDiscountFee.Text = "减"; + } + + if (cmbCouponType.Text == "满减") + { + lblProductPrice.Text = "满"; + lblProductPrice.Visible = true; + txtProductPrice.Visible = true; + lblDiscountFee.Visible = true; + txtDiscountFee.Visible = true; + } + else if (cmbCouponType.Text == "每满") + { + lblProductPrice.Text = "每满"; + lblProductPrice.Visible = true; + txtProductPrice.Visible = true; + lblDiscountFee.Visible = true; + txtDiscountFee.Visible = true; + } + else if (cmbCouponType.Text == "直减") + { + lblDiscountFee.Text = "直减"; + lblDiscountFee.Visible = true; + txtDiscountFee.Visible = true; + } + else if (cmbCouponType.Text == "统一折扣") + { + lblDiscountNum.Visible = true; + txtDiscountNum.Visible = true; + } + else if (cmbCouponType.Text == "条件折扣") + { + lblProductPrice.Visible = true; + lblProductCnt.Visible = true; + txtProductCnt.Visible = true; + lblDiscountNum.Visible = true; + txtDiscountNum.Visible = true; + } + } + + private void btnClearCoupon_Click(object sender, EventArgs e) + { + txtProductPrice.Text = ""; + txtDiscountFee.Text = ""; + txtProductCnt.Text = ""; + txtDiscountNum.Text = ""; + txtTotalCnt.Text = "100"; + txtLimitNumOnePerson.Text = "1"; + dtpStartTime.Value = DateTime.Now.Date; + dtpEndTime.Value = DateTime.Now.Date.AddDays(30); + } + + decimal productPriceValue = 0; + private void txtProductPrice_TextChanged(object sender, EventArgs e) + { + productPriceValue = txtProductPrice.Text.Trim().ParseToDecimal(); + } + decimal discountFeeValue = 0; + private void txtDiscountFee_TextChanged(object sender, EventArgs e) + { + discountFeeValue = txtDiscountFee.Text.Trim().ParseToDecimal(); + } + int productCnt = 0; + private void txtProductCnt_TextChanged(object sender, EventArgs e) + { + productCnt = txtProductCnt.Text.Trim().ParseToInt(); + } + decimal discountNum = 0; + private void txtDiscountNum_TextChanged(object sender, EventArgs e) + { + discountNum = txtDiscountNum.Text.Trim().ParseToDecimal(); + } + int totalCnt = 100; + private void txtTotalCnt_TextChanged(object sender, EventArgs e) + { + totalCnt = txtTotalCnt.Text.Trim().ParseToInt(); + } + int limitNumOnePerson = 1; + private void txtLimitNumOnePerson_TextChanged(object sender, EventArgs e) + { + limitNumOnePerson = txtLimitNumOnePerson.Text.Trim().ParseToInt(); + } + DateTime startTime = DateTime.Now.Date; + private void dtpStartTime_ValueChanged(object sender, EventArgs e) + { + startTime = dtpStartTime.Value; + } + DateTime endTime = DateTime.Now.Date.AddDays(30); + private void dtpEndTime_ValueChanged(object sender, EventArgs e) + { + endTime = dtpEndTime.Value; + } + + private void btnEndCoupon_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + + this.pbLoading.Visible = true; + this.btnSetPreSale.Enabled = false; + cancellationTokenSource = new CancellationTokenSource(); + dgvSelectProduct.Columns["colCouponNum"].HeaderText = "生效券数量"; + dgvSelectProduct.Columns["colCouponNum"].Visible = true; + Task.Run(() => + { + EndProdCoupon(rowLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "优惠券作废删除完毕"; + BaseMsgForm.ShowInfo("优惠券作废删除完毕"); + this.pbLoading.Visible = false; + this.btnSetPreSale.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + void EndProdCoupon(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在作废删除" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = rowLst.Count; + this.statusBar.UpdateProgressBar(0); + })); + + foreach (var row in rowLst) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在作废删除" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + row.Cells["colOpResult"].Value = ""; + row.Cells["colCouponNum"].Value = ""; + })); + + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + var shopId = row.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺不存在"; + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺掉线"; + })); + continue; + } + + var searchCouponRst = WxCoupon.WxSearchCoupon(shop, prodId); + Thread.Sleep(Randomx.GetId(500, 1000)); + if (searchCouponRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + if (!searchCouponRst.Contains("\"success\":true") && !searchCouponRst.Contains("\"code\":0")) + { + var errmsg = BaseRegex.GetStringJson(ref searchCouponRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = searchCouponRst; + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = errmsg; + })); + continue; + } + + if (searchCouponRst.Contains("\"code\":0")) + { + var totalNum = BaseRegex.GetStringJson(ref searchCouponRst, "totalNum"); + Invoke(new Action(() => + { + row.Cells["colCouponNum"].Value = totalNum; + })); + if (totalNum == "0") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "商品无优惠券,跳过"; + })); + continue; + } + try + { + var couponLst = JsonHelper.DeserializeJsonToList(JsonHelper.JObjectParse(searchCouponRst)["coupons"].ToString()); + string errMsg = ""; + foreach (var coupon in couponLst) + { + var endRst = WxCoupon.WxEndCoupon(shop, coupon.couponKey.couponId.ParseToString()); + Thread.Sleep(Randomx.GetId(100, 300)); + if (!endRst.Contains("\"code\":0")) + { + var err = BaseRegex.GetStringJson(ref endRst, "msg"); + if (string.IsNullOrWhiteSpace(err)) + err = endRst; + errMsg += coupon.couponKey.couponId + " " + err + " \r\n"; + continue; + } + var delRst = WxCoupon.WxDelCoupon(shop, coupon.couponKey.couponId.ParseToString()); + Thread.Sleep(Randomx.GetId(100, 300)); + if (!delRst.Contains("\"code\":0")) + { + var err = BaseRegex.GetStringJson(ref delRst, "msg"); + if (string.IsNullOrWhiteSpace(err)) + err = delRst; + errMsg += coupon.couponKey.couponId + " " + err + " \r\n"; + continue; + } + } + if (!errMsg.IsNullOrEmpty()) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "作废删除失败 " + errMsg; + })); + } + else + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "作废删除成功"; + })); + } + } + catch (Exception ex) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "作废删除失败 优惠券格式转换失败"; + })); + } + } + } + } + + int? sortType = null; + private void cmbSaleSort_TextChanged(object sender, EventArgs e) + { + sortType = null; + if (cmbSaleSort.Text == "降序") + sortType = 6; + if (cmbSaleSort.Text == "升序") + sortType = 5; + } + + private void btnPromotion_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + if (ratioValue < 1 || ratioValue > 50) + { + BaseMsgForm.ShowError("佣金范围为1到50!"); + return; + } + + this.pbLoading.Visible = true; + this.btnSetPreSale.Enabled = false; + cancellationTokenSource = new CancellationTokenSource(); + dgvSelectProduct.Columns["colCouponNum"].Visible = false; + Task.Run(() => + { + SetPromotion(rowLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "商品设置推广完毕"; + BaseMsgForm.ShowInfo("商品设置推广完毕"); + this.pbLoading.Visible = false; + this.btnSetPreSale.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + + void SetPromotion(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在设置" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = rowLst.Count; + this.statusBar.UpdateProgressBar(0); + })); + + while(rowLst.Count > 0) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + var r0 = rowLst.FirstOrDefault(); + var shopId = r0.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(30).ToList(); + foreach(var r in rowLstTmp) + { + rowLst.Remove(r); + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在设置" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + r.Cells["colOpResult"].Value = ""; + })); + } + if (shop == null) + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺不存在"; + } + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + r.Cells["colOpResult"].Value = "店铺掉线"; + } + })); + continue; + } + + List prodIdLst = new List(); + List prodIdTmpLst = new List(); + foreach (var row in rowLstTmp) + { + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + prodIdTmpLst.Add(prodId); + } + + var prodCanPromotionRst = WxCoupon.WxGetCanPromotion(shop, prodIdTmpLst); + Thread.Sleep(Randomx.GetId(300, 800)); + if (prodCanPromotionRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + if (!prodCanPromotionRst.Contains("\"success\":true") && !prodCanPromotionRst.Contains("\"code\":0")) + { + var errmsg = BaseRegex.GetStringJson(ref prodCanPromotionRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = prodCanPromotionRst; + + Invoke(new Action(() => + { + foreach (var row in rowLstTmp) + row.Cells["colOpResult"].Value = errmsg; + })); + continue; + } + + if (prodCanPromotionRst.Contains("\"code\":0")) + { + try + { + var itemLst = JsonHelper.JObjectParse(prodCanPromotionRst)["itemList"]; + foreach(JObject itemObj in itemLst) + { + var spuId = itemObj["spuId"].ParseToLong(); + var status = itemObj["status"].ParseToInt(); + if (status == 4) + { + prodIdLst.Add(spuId.ParseToString()); + } + else + { + var row = rowLstTmp.FirstOrDefault(r => r.Cells["colDraftId"].Value.ParseToString() == spuId.ParseToString()); + if (row != null) + { + Invoke(new Action(() => + { + if (status == 1) + row.Cells["colOpResult"].Value = "已存在普通推广,跳过"; + else + row.Cells["colOpResult"].Value = "商品不符合推广条件,跳过"; + })); + } + } + } + if (prodIdLst.Count > 0) + { + var addPromotionRst = WxCoupon.WxAddPromotion(shop, prodIdLst, (ratioValue * 10000).ParseToInt()); + Thread.Sleep(Randomx.GetId(500, 1500)); + //{"code":0,"errCodeList":[0,0,15978008]} + if (!addPromotionRst.Contains("\"code\":0")) + { + var errmsg = BaseRegex.GetStringJson(ref addPromotionRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = addPromotionRst; + + foreach (var prodId in prodIdLst) + { + var row = rowLstTmp.FirstOrDefault(r => r.Cells["colDraftId"].Value.ParseToString() == prodId.ParseToString()); + if (row != null) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "推广失败," + errmsg; + })); + } + } + } + else + { + var errCodeLst = (JsonHelper.JObjectParse(addPromotionRst)["errCodeList"] as JArray).Select(code => code.ParseToLong()).ToList(); + for (int i = 0; i < errCodeLst.Count; i++) + { + var prodId = prodIdLst[i]; + var errCode = errCodeLst[i]; + var row = rowLstTmp.FirstOrDefault(r => r.Cells["colDraftId"].Value.ParseToString() == prodId.ParseToString()); + if (row != null) + { + Invoke(new Action(() => + { + if (errCode == 15978008) + row.Cells["colOpResult"].Value = "推广设置失败,佣金比例错误,错误码 " + errCode; + else if (errCode > 0) + row.Cells["colOpResult"].Value = "推广设置失败,错误码 " + errCode; + else + row.Cells["colOpResult"].Value = "推广设置成功"; + })); + } + } + } + } + } + catch (Exception ex) + { + Invoke(new Action(() => + { + foreach (var r in rowLstTmp) + { + if (r.Cells["colOpResult"].Value.ParseToString().IsNullOrEmpty()) + r.Cells["colOpResult"].Value = "推广失败" + ex.Message; + } + })); + } + //Invoke(new Action(() => + //{ + // row.Cells["colOpResult"].Value = "设置成功"; + //})); + } + } + } + + decimal ratioValue = 1; + private void txtRatio_TextChanged(object sender, EventArgs e) + { + ratioValue = txtRatio.Text.Trim().ParseToDecimal(); + } + + private void btnEndPromotion_Click(object sender, EventArgs e) + { + var rowLst = dgvSelectProduct.Rows.Cast().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList(); + if (rowLst.Count <= 0) + { + BaseMsgForm.ShowError("请勾选需要操作的商品!"); + return; + } + + this.pbLoading.Visible = true; + this.btnSetPreSale.Enabled = false; + cancellationTokenSource = new CancellationTokenSource(); + dgvSelectProduct.Columns["colCouponNum"].HeaderText = "生效推广数量"; + dgvSelectProduct.Columns["colCouponNum"].Visible = true; + Task.Run(() => + { + EndProdPromotion(rowLst); + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "推广取消完毕"; + BaseMsgForm.ShowInfo("推广取消完毕"); + this.pbLoading.Visible = false; + this.btnSetPreSale.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + void EndProdPromotion(List rowLst) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在取消推广" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.pgbTaskProgress.Maximum = rowLst.Count; + this.statusBar.UpdateProgressBar(0); + })); + + foreach (var row in rowLst) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + Invoke(new Action(() => + { + this.statusBar.lblTaskStatus.Text = "正在取消推广" + "...".Substring(0, DateTime.Now.Second % 4); + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + row.Cells["colOpResult"].Value = ""; + row.Cells["colCouponNum"].Value = ""; + })); + + var prodId = row.Cells["colDraftId"].Value.ParseToString(); + var shopId = row.Cells["colSupplierId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + if (shop == null) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺不存在"; + })); + continue; + } + if (shop.LoginStatus != "登录成功") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "店铺掉线"; + })); + continue; + } + + var searchPromotionRst = WxCoupon.WxSearchPromotion(shop, prodId); + Thread.Sleep(Randomx.GetId(500, 1000)); + if (searchPromotionRst.Contains("biz magic invalid")) + { + WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + } + if (!searchPromotionRst.Contains("\"success\":true") && !searchPromotionRst.Contains("\"code\":0")) + { + var errmsg = BaseRegex.GetStringJson(ref searchPromotionRst, "msg"); + if (string.IsNullOrWhiteSpace(errmsg)) + errmsg = searchPromotionRst; + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = errmsg; + })); + continue; + } + + if (searchPromotionRst.Contains("\"code\":0")) + { + var totalNum = BaseRegex.GetStringJson(ref searchPromotionRst, "totalNum"); + Invoke(new Action(() => + { + row.Cells["colCouponNum"].Value = totalNum; + })); + if (totalNum == "0") + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "商品无推广,跳过"; + })); + continue; + } + try + { + var promArr = JsonHelper.JObjectParse(searchPromotionRst)["itemList"] as JArray; + string errMsg = ""; + foreach (JObject promObj in promArr) + { + var endRst = WxCoupon.WxEndPromotion(shop, promObj["spuId"].ParseToString()); + Thread.Sleep(Randomx.GetId(100, 300)); + if (!endRst.Contains("\"code\":0")) + { + var err = BaseRegex.GetStringJson(ref endRst, "msg"); + if (string.IsNullOrWhiteSpace(err)) + err = endRst; + errMsg += promObj["spuId"].ParseToString() + " " + err + " \r\n"; + continue; + } + var delRst = WxCoupon.WxDelPromotion(shop, promObj["spuId"].ParseToString()); + Thread.Sleep(Randomx.GetId(100, 300)); + if (!delRst.Contains("\"code\":0")) + { + var err = BaseRegex.GetStringJson(ref delRst, "msg"); + if (string.IsNullOrWhiteSpace(err)) + err = delRst; + errMsg += promObj["spuId"].ParseToString() + " " + err + " \r\n"; + continue; + } + } + if (!errMsg.IsNullOrEmpty()) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "取消推广失败 " + errMsg; + })); + } + else + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "取消推广成功"; + })); + } + } + catch (Exception ex) + { + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "取消推广失败 推广格式转换失败"; + })); + } + } + } + } + } + + public class WxCoupon + { + public static string WxSetCoupon(ShopLoginInfo shop, WXCouponParamBase couponParam) + { + string url = "https://store.weixin.qq.com/shop-faas/market/coupon/cgi/makeQp?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/marketing/coupon/make?type=990"; + JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; + var prodStr = JsonConvert.SerializeObject(couponParam, jsonSetting); + string body = prodStr; //JsonHelper.SerializeObject(jObj); + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + //{"pageSize":20,"page":0,"couponName":"10000509758262","couponCustomizeChannel":"","couponTypeList":[],"promoteTypeList":[],"couponStatusList":[]} + + public static string WxSearchCoupon(ShopLoginInfo shop, string couponName) + { + string url = "https://store.weixin.qq.com/shop-faas/market/coupon/cgi/searchCoupon?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/marketing/coupon"; + //所有券 + //string body = "{\"pageSize\":20,\"page\":0,\"couponName\":\"10000509758262\",\"couponCustomizeChannel\":\"\",\"couponTypeList\":[],\"promoteTypeList\":[],\"couponStatusList\":[]}"; + //生效中的券 + string body = "{\"pageSize\":20,\"page\":0,\"couponName\":\"" + couponName + "\",\"couponCustomizeChannel\":\"\",\"couponTypeList\":[],\"promoteTypeList\":[],\"couponStatusList\":[\"2\"]}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + public static string WxEndCoupon(ShopLoginInfo shop, string couponId) + { + string url = "https://store.weixin.qq.com/shop-faas/market/coupon/cgi/upCouponStatus?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/marketing/coupon"; + string body = @"{""couponId"":""" + couponId + @""",""status"":4}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + public static string WxDelCoupon(ShopLoginInfo shop, string couponId) + { + string url = "https://store.weixin.qq.com/shop-faas/market/coupon/cgi/upCouponStatus?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/marketing/coupon"; + string body = @"{""couponId"":""" + couponId + @""",""status"":5}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + public static string WxGetCanPromotion(ShopLoginInfo shop, List prodIdLst) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeleague/plan/getItemList?token=&lang=zh_CN"; + foreach (var prodId in prodIdLst) + { + url += "&spuIdList[]=" + prodId; + } + url += "&offset=0&list_type=1"; + string referer = "https://store.weixin.qq.com/shop/shopleague/home/normal-add"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); + return result; + } + public static string WxAddPromotion(ShopLoginInfo shop, List prodIdLst, int ratio) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeleague/plan/batchAddItem?token=&lang=zh_CN"; + + string body = @"{""list"":["; + foreach (var prodId in prodIdLst) + body += @"{""spuId"":""" + prodId + @""",""ratio"":" + ratio + @",""finderCoupon"":0},"; + body = body.TrimEnd(','); + body += @"]}"; + string referer = "https://store.weixin.qq.com/shop/shopleague/home/normal-add"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + public static string WxSearchPromotion(ShopLoginInfo shop, string prodId) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeleague/plan/getItemListBySearch?" + + "token=&lang=zh_CN&offset=0&size=10&product_title=" + prodId + "&status=1&list_type=2&needWarning=true&needStockNum=true"; + string referer = "https://store.weixin.qq.com/shop/shopleague/home"; + var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); + return result; + } + + public static string WxEndPromotion(ShopLoginInfo shop, string prodId) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeleague/plan/updateItem?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/shopleague/home"; + string body = @"{""spu_id"":""" + prodId + @""",""operate_type"":2}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + + public static string WxDelPromotion(ShopLoginInfo shop, string prodId) + { + string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeleague/plan/updateItem?token=&lang=zh_CN"; + string referer = "https://store.weixin.qq.com/shop/shopleague/home"; + string body = @"{""spu_id"":""" + prodId + @""",""operate_type"":3}"; + var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); + return result; + } + } +} diff --git a/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.resx b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.resx new file mode 100644 index 0000000..df46883 --- /dev/null +++ b/TEMUKJD/WXForms/ProductForms/WXProdCouponOrderBoomForm.resx @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs index 83834c6..d39549e 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdPreSaleForm.cs @@ -297,17 +297,15 @@ namespace TemuKJD.WXForms.ProductForms private void btnRefreshShop_Click(object sender, EventArgs e) { pbLoadingShop.Visible = true; - RefreshDbProd(); - RefreshShopAuth(); + RefreshShopLogin(); } private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) { if (Visible == true) { - RefreshShopAuth(); + RefreshShopLogin(); updateAuthor(); - RefreshDbProd(); if (!isInit) { @@ -332,18 +330,7 @@ namespace TemuKJD.WXForms.ProductForms } } - private void RefreshDbProd() - { - Task.Run(() => - { - Invoke(new Action(() => - { - pbLoadingShop.Visible = false; - })); - }); - } - - private void RefreshShopAuth() + private void RefreshShopLogin() { // 店铺Id var selectIds = dgvShop.Rows.Cast().Where(row @@ -484,7 +471,7 @@ namespace TemuKJD.WXForms.ProductForms { shopLoginForm.openType = EnumOpenType.login; shopLoginForm.ShowDialog(); - RefreshShopAuth(); + RefreshShopLogin(); } else { @@ -538,7 +525,7 @@ namespace TemuKJD.WXForms.ProductForms //shopLoginForm.prodUserSelectForm = this; shopLoginForm.openType = EnumOpenType.login; shopLoginForm.ShowDialog(); - RefreshShopAuth(); + RefreshShopLogin(); } break; case "进店": @@ -556,7 +543,7 @@ namespace TemuKJD.WXForms.ProductForms { shopLoginForm.openType = EnumOpenType.login; shopLoginForm.ShowDialog(); - RefreshShopAuth(); + RefreshShopLogin(); } } break; @@ -811,7 +798,7 @@ namespace TemuKJD.WXForms.ProductForms if (string.IsNullOrEmpty(PreType)) getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize); else - getProdOnSaleRst = WXPreSale.searchPreProduct(shop, page, PreType == "预售" ? 1 : 0, pageSize); + getProdOnSaleRst = WXPreSale.searchProduct(shop, page, PreType == "预售" ? 1 : 0, pageSize); Thread.Sleep(Randomx.GetId(50, 100)); if (!getProdOnSaleRst.Contains("\"success\":true")) { @@ -1207,11 +1194,15 @@ namespace TemuKJD.WXForms.ProductForms public class WXPreSale { - public static string searchPreProduct(ShopLoginInfo shop, int pageNum, int presaleType = 1, int pageSize = 50) + public static string searchProduct(ShopLoginInfo shop, int pageNum, int? presaleType = null, int pageSize = 50, int? sortType = null) { //https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=44&status[]=5&presaleType[]=1 string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&" + - "pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=5&presaleType[]=" + presaleType; + "pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=5"; + if (presaleType != null) + url += "&presaleType[]=" + presaleType; + if (sortType != null) + url += "&sortType=" + sortType; string refere = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_STATUS_ON"; var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, refere); @@ -1232,6 +1223,12 @@ namespace TemuKJD.WXForms.ProductForms return result; } + /// + /// 下架商品 + /// + /// + /// + /// public static string DownProd(ShopLoginInfo shop, long prodId) { string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/BatchUnListing?token=&lang=zh_CN"; @@ -1240,322 +1237,6 @@ namespace TemuKJD.WXForms.ProductForms var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); return result; } - - public static string getUploadTempImgAuth(ShopLoginInfo shop, int uploadScene = 3) - { - string url = "https://store.weixin.qq.com/shop-faas/mmecchannelspicture/cgi/getUploadTempImgAuth?token=&lang=zh_CN&uploadScene=" + uploadScene; - string refere = "https://store.weixin.qq.com/shop/goods/entry"; - //{"code":0,"disK":"538c14e950da7b678ce9f5a12658c8acddd09e4b","disT":1767870926,"ext":"23aa0ecfb792a","url":"https://westore.video.qq.com/adtimageupload"} - var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, refere); - return result; - } - - public static string adtimageupload(ShopLoginInfo shop, string imgBase64, string dis_k, long dis_t, string ext) - { - string url = "https://westorealpha.video.qq.com/adtimageupload"; - string referer = "https://store.weixin.qq.com/"; - string body = imgBase64; - var result = WXHttpResponseBLL.WeiXinImgPostResponse(shop, url, body, dis_k, dis_t, ext, referer); - return result; - } - - public static string getProductClassify(ShopLoginInfo shop, string goodsName, List goodImgUrlsLst) - { - string boundaryLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; - string boundaryStr = "----WebKitFormBoundary"; - for (int i = 0; i < 16; i++) - { - boundaryStr += boundaryLetters[Randomx.GetId(boundaryLetters.Length)]; - } - - string url = "https://store.weixin.qq.com/shop-faas/cgi/common/productClassify?from=B&title=" + GetHtml.UrlEncodeUtf8(goodsName) + "&token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - - string body = @"--" + boundaryStr + @" -"; - foreach (var imgFullPath in goodImgUrlsLst) - { - string fileName = imgFullPath.Split('\\').LastOrDefault(); - body += @"Content-Disposition: form-data; name=""file""; filename=""" + fileName + @""" -Content-Type: image/jpeg - -" + imgFullPath + @" ---" + boundaryStr; - } - body += @"-- -"; - var result = WXHttpResponseBLL.WeiXinUploadResponse(shop, url, body, boundaryStr, referer); - return result; - } - - public static string getCategoryOnShelf(ShopLoginInfo shop, List catIdLst) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradecategory/cgi/product/getCategoryOnShelfV2?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - string body = @"{""catIdList"":[" + string.Join(",", catIdLst) + @"],""brandId"":2100000000}"; - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string batchCheckCategoryRelation(ShopLoginInfo shop, long catId) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradecategory/cgi/product/batchCheckCategoryRelation?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - string body = @"{""categoryIdList"":[" + catId + "]}"; - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string addFinderCategoryV2(ShopLoginInfo shop, long catId) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradecategory/cgi/addFinderCategoryV2?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - string body = @"{""categoryInfo"":{""categories"":[{""id"":""" + catId + @"""}]},""brandIdList"":[],""leafCategoryId"":""" + catId + @""",""reuse"":0,""applyType"":1}"; - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - //{"categoryInfo":{"categories":[{"id":10000257},{"id":10000245},{"id":112888}],"categoryDeposit":"10000.00","isNewApplyCat":true,"licenseGroupList":[{"licenseGroupId":"17","license":{"licenseId":"5","cosIdList":["1768635607165-orc0V2WjFHdNvjNnk967_g14awFw-7487"],"licenseFieldList":[{"key":"audit_license_no","value":"新出发皖字第1027号"},{"key":"audit_license_validty_period","value":"2029-04-30"}],"isReuse":true}}],"ruleVersion":5234,"certificate":[]},"brandIdList":[],"leafCategoryId":112888,"reuse":0,"applyType":"normalApply"} - //{"code":0,"baseResp":{"errcode":0,"errmsg":"ok"},"auditId":"8362856529"} - //string body = @"{""categoryInfo"":{""categories"":[{""id"":10000257},{""id"":10000245},{""id"":112888}],""categoryDeposit"":""10000.00"",""isNewApplyCat"":true,""licenseGroupList"":[{""licenseGroupId"":""17"",""license"":{""licenseId"":""5"",""cosIdList"":[""1768635607165-orc0V2WjFHdNvjNnk967_g14awFw-7487""],""licenseFieldList"":[{""key"":""audit_license_no"",""value"":""新出发皖字第1027号""},{""key"":""audit_license_validty_period"",""value"":""2029-04-30""}],""isReuse"":true}}],""ruleVersion"":5234,""certificate"":[]},""brandIdList"":[],""leafCategoryId"":112888,""reuse"":0,""applyType"":""normalApply""}"; - // request.Referer = "https://store.weixin.qq.com/shop/brandAndCat/category/apply?defaultCategoryIds=%5B%2210000257%22%2C%2210000245%22%2C%22112888%22%5D&source=goods&type=apply"; - - return result; - } - - public static string genProductShortTitle(ShopLoginInfo shop, WXGetShortTitleParam getShortTitleParam) - { - string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductupload/common/cgi/goods/genProductShortTitle?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - string body = JsonHelper.SerializeObject(getShortTitleParam); - //{"productTitle":"妈妈老年中年阔脚裤冬季秋季时尚牛仔裤","headImgUrls":["https://wst.wxapp.tc.qq.com/160/20304/snscosdownload/SH/reserved/6xykWLEnztKEVU0iahAM7HQ28puCia87zPkvSbFT8Fcia99g2ZNWRdy8licxD6qwsqV4bCicoxwQF9e6jh3qwibgzxuA?token=x5Y29zUxcibCe0pFyoSA8zb1aYVKnIBLkQ8ZUXMcwEq3qYHsko3TDzv2rsL2AfJPd&idx=1&expire=1768211170","https://wst.wxapp.tc.qq.com/160/20304/snscosdownload/SH/reserved/6xykWLEnztKEVU0iahAM7Hbwaw1AboTKxjGsLhJgVreuYNxwyQxrk9RtvCv3XsXSnic9WfBFMAIZYpNgYkWd7VDQ?token=x5Y29zUxcibCe0pFyoSA8zb1aYVKnIBLk4qWUsS2WZiaCjXhZLj0D6PYyddX71qNiat&idx=1&expire=1768211170","https://wst.wxapp.tc.qq.com/160/20304/snscosdownload/SH/reserved/6xykWLEnztKEVU0iahAM7HTa1Ej2xJpy6Ej84arVO7A3vxIDD1XP6ZRVw43OficKLXPcXPUvDNmc8A4lMHCgbic3A?token=x5Y29zUxcibCe0pFyoSA8zb1aYVKnIBLkhejArCiaiaLIEKtvOicA5chibIj1tfELV0Mm&idx=1&expire=1768211170"],"categories":[{"catId":"10000111","catName":"服饰内衣"},{"catId":"10000113","catName":"女装"},{"catId":"10000672","catName":"裤子"},{"catId":"547705","catName":"牛仔裤"}]} - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string getFreightTemplate(ShopLoginInfo shop) - { - string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductupload/express/cgi/goods/getFreightTemplate?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); - return result; - } - - /// - /// 取售后地址 - /// - /// - /// - public static string getAddress(ShopLoginInfo shop, string searchText="") - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeexpress/cgi/getAddress?token=&lang=zh_CN"; - if (!string.IsNullOrEmpty(searchText)) - url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeexpress/cgi/getAddress?searchStr=" + GetHtml.UrlEncodeUtf8(searchText) + "&token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); - return result; - } - - public static string uploadProductDraft(ShopLoginInfo shop, WXUploadProductParam prodParam) - { - string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductupload/common/cgi/goods/uploadProductDraft?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; - var prodStr = JsonConvert.SerializeObject(prodParam, jsonSetting); - JObject jObj = new JObject(); - jObj.Add("data", prodStr); - string body = JsonHelper.SerializeObject(jObj); - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string upProductV2(ShopLoginInfo shop, WXUploadProductParam prodParam) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/upProductV2?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; - var prodStr = JsonConvert.SerializeObject(prodParam, jsonSetting); - JObject jObj = new JObject(); - jObj.Add("data", prodStr); - string body = JsonHelper.SerializeObject(jObj); - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - - public static string upProductJObjectV2(ShopLoginInfo shop, string prodStr) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/upProductV2?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry"; - //JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; - //var prodStr = JsonConvert.SerializeObject(prodParam, jsonSetting); - JObject jObj = new JObject(); - jObj.Add("data", prodStr); - string body = JsonHelper.SerializeObject(jObj); - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - /// - /// 尝试免审 失败 - /// - /// - /// - /// - public static string getEditProductV2(ShopLoginInfo shop, string productId) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/getEditProductV2?token=&lang=zh_CN&productKey=%7B%22productId%22:" + - productId + "%7D&needRealStock=true&preview=false&release=false"; - //url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/getEditProductV2?token=&lang=zh_CN&productKey=%7B%22productId%22:" + - // productId + "%7D&needRealStock=true&preview=false&release=true"; - string referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + productId + "&isUpdateAuditFree=0&source=list_edit&continueEditInfo={%22isEditingContinued%22:false,%22lastEditDraftTime%22:0,%22listingTime%22:0}"; - //referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + productId + "&isUpdateAuditFree=1&source=list_audit_free&continueEditInfo={%22isEditingContinued%22:true,%22lastEditDraftTime%22:0,%22listingTime%22:0}"; - var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); - return result; - } - - public static string initUploadPart(ShopLoginInfo shop, string submitJson, string prodId, int time1, int time2) - { - string url = "https://store.weixin.qq.com/shop-faas/mmecnodefiletransfer/filecos/initUploadPart?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + prodId + - "&isUpdateAuditFree=1&source=list_audit_free&continueEditInfo=" + - "{%22isEditingContinued%22:true,%22lastEditDraftTime%22:" + time1 + "," + - "%22listingTime%22:" + time2 + "}"; - string body = submitJson; //@"{""name"":""goods/10000456038253/2026-01-20/1768887306422/submit.json""}"; - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string listingAuditFree(ShopLoginInfo shop, WXUploadProductParam prodParam, string prodId, int time1, int time2) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/listingAuditFree?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + prodId + - "&isUpdateAuditFree=1&source=list_audit_free&continueEditInfo=" + - "{%22isEditingContinued%22:true,%22lastEditDraftTime%22:" + time1 + "," + - "%22listingTime%22:" + time2 + "}"; - JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; - var prodStr = JsonConvert.SerializeObject(prodParam, jsonSetting); - JObject jObj = new JObject(); - jObj.Add("data", prodStr); - string body = JsonHelper.SerializeObject(jObj); - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string listingAuditFree(ShopLoginInfo shop, string prodStr, string prodId, int time1, int time2) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/listingAuditFree?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + prodId + - "&isUpdateAuditFree=1&source=list_audit_free&continueEditInfo=" + - "{%22isEditingContinued%22:true,%22lastEditDraftTime%22:" + time1 + "," + - "%22listingTime%22:" + time2 + "}"; - JsonSerializerSettings jsonSetting = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; - JObject jObj = new JObject(); - jObj.Add("data", prodStr); - string body = JsonHelper.SerializeObject(jObj); - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - public static string uploadPartBinary(ShopLoginInfo shop, string initFileName, string blobPath, string uploadId, string prodId, int time1, int time2) - { - string boundaryLetters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; - string boundaryStr = "----WebKitFormBoundary"; - for (int i = 0; i < 16; i++) - { - boundaryStr += boundaryLetters[Randomx.GetId(boundaryLetters.Length)]; - } - - string url = "https://store.weixin.qq.com/shop-faas/mmecnodefiletransfer/filecos/uploadPartBinary?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + prodId + - "&isUpdateAuditFree=1&source=list_audit_free&continueEditInfo=" + - "{%22isEditingContinued%22:true,%22lastEditDraftTime%22:" + time1 + "," + - "%22listingTime%22:" + time2 + "}"; - string body = @"--" + boundaryStr + @" -Content-Disposition: form-data; name=""name"" - -" + initFileName + @" ---" + boundaryStr + @" -Content-Disposition: form-data; name=""uploadId"" - -" + uploadId + @" ---" + boundaryStr + @" -Content-Disposition: form-data; name=""partSeq"" - -1 ---" + boundaryStr + @" -Content-Disposition: form-data; name=""file""; filename=""blob"" -Content-Type: application/octet-stream - -" + blobPath + @" ---" + boundaryStr + @"-- -"; - var result = WXHttpResponseBLL.WeiXinUploadResponse(shop, url, body, boundaryStr, referer); - return result; - } - - - - public static string completeUploadPart(ShopLoginInfo shop, string completeJson, string prodId, int time1, int time2) - { - string url = "https://store.weixin.qq.com/shop-faas/mmecnodefiletransfer/filecos/completeUploadPart?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/entry?productId=" + prodId + - "&isUpdateAuditFree=1&source=list_audit_free&continueEditInfo=" + - "{%22isEditingContinued%22:true,%22lastEditDraftTime%22:" + time1 + "," + - "%22listingTime%22:" + time2 + "}"; - string body = completeJson; //{"name":"goods/10000466857488/2026-01-20/1768907711117/submit.json","uploadId":"176890774759894589c6096cab2210e0793688fb68b482b766a0387c8667d3280a36385109","etagList":["ade9671ce546efb4cb209f5aa7e5d597"],"partSeqList":[1]} - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - /// - /// 商品列表 - /// - /// - /// - /// - /// - /// - public static string scanProductPreview(ShopLoginInfo shop, string status = "5", int pageNum = 1, int pageSize = 20) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/scanProductPreview?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_STATUS_ALL"; - string body = @"{""pageSize"":" + pageSize + @",""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":" + pageNum + - @",""status"":[" + status + @"]}"; - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - /// - /// 添加售后地址 - /// - public static string addAddress(ShopLoginInfo shop, string provinceName, string cityName, string countyName, - string detailInfo, string userName, string telNumber) - { - string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeexpress/address/addAddress?token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/address/expressAddressMgmt"; - string address = "{\"addressInfo\":{\"provinceName\":\"" + provinceName + - "\",\"cityName\":\"" + cityName + "\",\"countyName\":\"" + countyName + - "\",\"detailInfo\":\"" + detailInfo + "\",\"userName\":\"" + userName + - "\",\"telNumber\":\"" + telNumber + "\",\"location\":{}},\"defaultSend\":0,\"defaultRecv\":0}"; - - JObject obj = new JObject(); - obj["data"] = address; - string body = JsonHelper.SerializeObject(obj); - var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer); - return result; - } - - /// - /// 获取服务接口到期时间 - /// - /// - /// - public static string GetApiServiceList(ShopLoginInfo shop) - { - - string url = "https://store.weixin.qq.com/shop-faas/mmecnodeservicemarket/service/GetMyServiceList?offset=0&limit=20&status=2&token=&lang=zh_CN"; - string referer = "https://store.weixin.qq.com/shop/servicemarket/myServices?status=2"; - var result = WXHttpResponseBLL.WeiXinGetResponse(shop, url, referer); - return result; - } } public class AddPriceRule2 diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs index a8f4885..82e994b 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.Designer.cs @@ -30,7 +30,7 @@ { System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("选品上传"); System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("商品预售/下架"); - System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("营销工具"); + System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("爆单神器"); System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { treeNode1, treeNode2, @@ -129,8 +129,8 @@ treeNode1.Text = "选品上传"; treeNode2.Name = "商品预售/下架"; treeNode2.Text = "商品预售/下架"; - treeNode3.Name = "营销工具"; - treeNode3.Text = "营销工具"; + treeNode3.Name = "爆单神器"; + treeNode3.Text = "爆单神器"; treeNode4.Name = "商品管理"; treeNode4.Text = "商品管理"; this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { diff --git a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs index c2958a0..ef78cc4 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProductForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProductForm.cs @@ -18,7 +18,7 @@ namespace TemuKJD.WXForms.ProductForms public static WXProductForm instance; public Lazy userSelectDbProductForm = new Lazy(); public Lazy wxProdPreSaleForm = new Lazy(); - //public Lazy prodCouponForm = new Lazy(); + public Lazy wxProdCouponForm = new Lazy(); public WXProductForm() { @@ -28,7 +28,7 @@ namespace TemuKJD.WXForms.ProductForms { tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "商品列表", "营销工具" }; + List hideName = new List() { "商品列表", "爆单神器1" }; if (BaseClass.GroupId == 3) { @@ -73,9 +73,9 @@ namespace TemuKJD.WXForms.ProductForms case "商品预售/下架": SetForm(wxProdPreSaleForm.Value); break; - //case "营销工具": - // SetForm(prodCouponForm.Value); - // break; + case "爆单神器": + SetForm(wxProdCouponForm.Value); + break; } })); }).Start(); diff --git a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs index e8ce63b..4ab69a9 100644 --- a/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs +++ b/TEMUKJD/WXForms/ShopForms/WXShopListForm.cs @@ -371,7 +371,7 @@ namespace TemuKJD.WXForms.ShopForms this.btnImport.Enabled = true; } - private void RefreshDataGridView(bool updateStatus=true) + private void RefreshDataGridView(bool updateStatus=true, List shopUpdateLst = null) { if (isLoading) { @@ -404,8 +404,8 @@ namespace TemuKJD.WXForms.ShopForms })); var shopList = GlobalConfig.ShopLoginList.Where(s => !string.IsNullOrEmpty(s.ShopId) - || GlobalConfig.ShopLoginList.Where(ss=>ss.LoginName == s.LoginName).Count() == 1) - /*.OrderBy(s=>s.LoginName)*/.ToList(); + || GlobalConfig.ShopLoginList.Where(ss=>ss.LoginName == s.LoginName).Count() == 1) + /*.OrderBy(s=>s.LoginName)*/.ToList(); Invoke(new Action(() => { @@ -440,7 +440,11 @@ namespace TemuKJD.WXForms.ShopForms List shopIdList = GetCheckedShopIdList(); this.Invoke(new Action(() => { - this.dgvShop.Rows.Clear(); + foreach(DataGridViewRow row in dgvShop.Rows.Cast()) + { + if (!shopList.Any(s => s.ShopId == row.Cells["colShopId"].Value.ParseToString())) + this.dgvShop.Rows.Remove(row); + } if (updateStatus) this.statusBar.pgbTaskProgress.Maximum = shopList.Count; // 显示总数 })); @@ -456,6 +460,10 @@ namespace TemuKJD.WXForms.ShopForms this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopList.Count; })); } + + if (shopUpdateLst != null && !shopUpdateLst.Contains(shopList[i])) + continue; + AddDataGridViewRow(shopList[i], true, shopIdList.Contains(shopList[i].ShopId)); } if (this.Created) @@ -545,7 +553,7 @@ namespace TemuKJD.WXForms.ShopForms } /// - /// 检测店铺授权状态 + /// 检测店铺登录状态 /// /// /// @@ -627,6 +635,7 @@ namespace TemuKJD.WXForms.ShopForms UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie StartUp.SaveLocalShopLoginInfo(); } + if (this.Created && isShowProgress) { this.Invoke(new Action(() => @@ -784,7 +793,8 @@ namespace TemuKJD.WXForms.ShopForms shopLoginForm.openType = EnumOpenType.login; shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; shopLoginForm.ShowDialog(); - btnRefreshCookie_Click(null, null); + //btnRefreshCookie_Click(null, null); + RefreshDataGridView(true, new List() { shop }); } IsOperate = false; break; @@ -846,7 +856,7 @@ namespace TemuKJD.WXForms.ShopForms this.btnCheck.Enabled = false; var t = Task.Run(() => { - UpdateShop(); + //UpdateShop(); CheckShopListLogin(shopNameList.Distinct().ToArray()); RefreshDataGridView(false); }); diff --git a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs index e92644c..0497dc7 100644 --- a/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs +++ b/TEMUKJD/WXForms/TalkForms/WxTalkForm.cs @@ -141,11 +141,25 @@ namespace TemuKJD.WXForms.TalkForms Thread.Sleep(1000); if (DateTime.Now > nextRefreshTime) { + Invoke(new Action(() => { pbLoading.Visible = true; })); nextRefreshTime = DateTime.Now.AddMinutes(30); - RefreshCookie(true); - RefreshMsgCount(); - RefreshAfterSale(true); + try + { + RefreshCookie(true); + } + catch (Exception ex) { BaseMsgForm.ShowError("刷新Cookie出错 " + ex.Message); } + try + { + RefreshMsgCount(); + } + catch (Exception ex) { BaseMsgForm.ShowError("刷新客服统计出错 " + ex.Message); } + try + { + RefreshAfterSale(true); + } + catch (Exception ex) { BaseMsgForm.ShowError("刷新售后出错 " + ex.Message); } + Invoke(new Action(() => { pbLoading.Visible = false; })); } var deltaTime = nextRefreshTime - DateTime.Now; @@ -434,11 +448,15 @@ namespace TemuKJD.WXForms.TalkForms try { var summary = JsonHelper.SerializeObject(summaryObj); + if (summary.Contains("更新房间游标")) + continue; // 会话结束,返回 if (summary.Contains("会话已结束")) continue; if (summary.Contains("用户已结束会话") || summary.Contains("客服已结束会话")) continue; + if (summary.Contains("用户超时未回")) + continue; // 最后一条是自己回复的,返回 var send_open_account = summaryObj["send_open_account"].ParseToString(); if (send_open_account == shop.ShopId) @@ -470,8 +488,18 @@ namespace TemuKJD.WXForms.TalkForms //{"finder_live_id":"","finder_username":"","finder_object_id":"","finder_nonce_id":"","app_id":"wxca8d4b8e8feedc2a","page_path":"main/pages/productDetail/productDetail.html?productId=10000444468035&realappid=wx2664a142d76831dd&cacheKey=4f69a37c98838eb27e484b6def86d0ca&cacheType=backup&businessId=1&requestId=4348991209208823817&subScene=1208","product_id":"10000444468035","cover_url":"https://wst.wxapp.tc.qq.com/161/20304/snscosdownload/SH/reserved/69677007000d0f3329fc594d77ef1b15000000a000004f50?imageView2/1/w/400/h/400/q/50","product_title":"保暖加绒中老年妈妈装棉服","market_price":"6980","selling_price":"6180","platform_head_img":"http://mmbiz.qpic.cn/mmbiz_jpg/cpXibyAIsexe8vObd8jWMktZk6sg1kKJgicdnzFiaxR1XvU0Kchlfdewsu7JETDF3lLp5cyULNNee94UPGeU1r9Rw/0?wx_fmt=jpeg/0","platform_name":"夜笙供应链","shop_window_id":"","live_status":"","flash_sale_price":0,"flash_sale_end_time":0,"ec_source":"","selling_price_wording":"","ext_conv":{"ext_conv_type":1,"ec_product_url":"https://channels.weixin.qq.com/shop?login_appid=wx2664a142d76831dd&redirect_url=%2Fgoods%2Fentry%3FproductId%3D10000444468035","context":""}} try { - if (responseData.Contains("更新房间游标")) + if (responseData.Contains("\"total_num\":0")) return; + // 只有一条消息且是更新房间游标的直接退出 + if (responseData.Contains("\"total_num\":1") && responseData.Contains("更新房间游标")) + return; + if (responseData.Contains("鉴权失败")) + { + return; + //WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); + //LoadShop(new List() { shop }); + } + //{"base_resp":{"ret":30000,"err_msg":"鉴权失败"}} var jObj = JsonHelper.JObjectParse(responseData); if (jObj["total_num"].ParseToInt() <= 0) @@ -479,18 +507,18 @@ namespace TemuKJD.WXForms.TalkForms // 自己发的消息或者客服自动回复消息不闪烁提示且将表格颜色还原 ----------------------------------------------------------------------------------------------- // 您好!人工客服目前无法及时回复,您可以留言详细问题,我们会尽快为您服务! //"send_open_account": "wxad4163db54e87b44", - var send_open_account = jObj["list"].LastOrDefault()?["send_open_account"].ParseToString(); + var send_open_account = (jObj["list"].LastOrDefault(l => !JsonHelper.SerializeObject(l).Contains("更新房间游标"))?["send_open_account"]).ParseToString(); if (send_open_account == shop.ShopId) { row.DefaultCellStyle.BackColor = row.Tag is Color ? (Color)row.Tag : Color.White; row.Cells["colMessage"].Value = ""; return; } - var msg_kf_content = jObj["list"].LastOrDefault()?["msg_kf_content"].ParseToString(); + var msg_kf_content = jObj["list"].LastOrDefault(l => !JsonHelper.SerializeObject(l).Contains("更新房间游标"))?["msg_kf_content"].ParseToString(); var contentObj = JsonHelper.JObjectParse(msg_kf_content); var content = contentObj["content"].ParseToString(); - if (content.Contains("更新房间游标")) - return; + //if (content.Contains("更新房间游标")) + // return; // 处理 msg_type=5 的情况 (应该是系统提示消息,有些提示比如关闭会话的无需闪烁) ------------------------------------------------------ // 以下 "msg_type":5 @@ -501,6 +529,12 @@ namespace TemuKJD.WXForms.TalkForms // {"base_resp":{"err_msg":"ok","ret":0},"kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","list":[{"accept_by_robot":0,"async_check_spam_stage":0,"client_ms":"1768806150100","create_time":"1768806150","create_time_ms":"1768806150100","encrypt_msg_kf_content":"","extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/Q3auHgzwzM6vehibAAib9ia4ejxH7ibula7RuH4rTO7H7equgOZPVZl5Ew\\/64\",\"nickname\":\"Vader\",\"list\":[],\"qa_info_list\":[]}","id":"31","imunion_msg_id":"mmec-commkf-v2-4348898496719831040","insert_create_time_ms":"1768806150148","is_anonymous_msg":0,"is_delete":0,"is_expired":0,"is_fail":0,"is_hit_spam":0,"is_revoked":0,"is_sys_msg":1,"msg_direction":3,"msg_id":"4348898496719831040","msg_kf_content":"{\"type\":\"EndRoom\",\"content\":\"用户超时未回,会话已结束,两天内仍可再次联系\",\"room_id\":\"4348684483414425612\",\"msg_id\":\"4348898496719831040\",\"is_anonymous_msg\":0,\"need_update_summary\":1}","msg_type":5,"properties":"0","recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","reply_type":0,"room_id":"4348684483414425612","room_useruin":"0","scene":6,"send_open_account":"","send_openid":"o9cq802Ue5pCVRmzuzkFUcnoHjcM","send_scene":6,"session_id":"0","update_time":"1768806150"}],"total_num":1} if (content.Contains("用户超时未回,会话已结束,两天内仍可再次联系")) return; + + if (content.Contains("会话已结束")) + return; + if (content.Contains("用户已结束会话") || content.Contains("客服已结束会话")) + return; + // {"base_resp":{"err_msg":"ok","ret":0},"kf_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","list":[{"accept_by_robot":0,"async_check_spam_stage":0,"client_ms":"1768808777632","create_time":"1768808777","create_time_ms":"1768808777632","encrypt_msg_kf_content":"","extra_info":"{\"head_img\":\"http:\\/\\/wx.qlogo.cn\\/mmhead\\/Q3auHgzwzM6vehibAAib9ia4ejxH7ibula7RuH4rTO7H7equgOZPVZl5Ew\\/64\",\"nickname\":\"Vader\",\"list\":[],\"qa_info_list\":[]}","id":"46","imunion_msg_id":"mmec-commkf-v2-4348942579357122569","insert_create_time_ms":"1768808777711","is_anonymous_msg":1,"is_delete":0,"is_expired":0,"is_fail":0,"is_hit_spam":0,"is_revoked":0,"is_sys_msg":1,"msg_direction":3,"msg_id":"4348942579357122569","msg_kf_content":"{\"type\":\"AcceptRoom\",\"content\":\"用户已接入\",\"room_id\":\"4348684483414425612\",\"msg_id\":\"4348942569912549377\",\"is_anonymous_msg\":1,\"need_update_summary\":0,\"summary_content\":\"{\\\"id\\\":\\\"2\\\",\\\"room_id\\\":\\\"4348684483414425612\\\",\\\"scene\\\":6,\\\"account\\\":\\\"3641079964\\\",\\\"send_scene\\\":6,\\\"send_account\\\":\\\"user_acct_2044334303_6\\\",\\\"send_uin\\\":2044334303,\\\"lastest_msg_id\\\":\\\"4348942543756476432\\\",\\\"lastest_msg_content\\\":\\\"\\\",\\\"unread_msg_num\\\":\\\"1\\\",\\\"update_time\\\":\\\"1768808774\\\",\\\"kf_uin\\\":1525084715,\\\"extra_info\\\":\\\"{\\\\\\\"head_img\\\\\\\":\\\\\\\"http:\\\\\\\\\\\\\\/\\\\\\\\\\\\\\/wx.qlogo.cn\\\\\\\\\\\\\\/mmhead\\\\\\\\\\\\\\/Q3auHgzwzM6vehibAAib9ia4ejxH7ibula7RuH4rTO7H7equgOZPVZl5Ew\\\\\\\\\\\\\\/64\\\\\\\",\\\\\\\"nickname\\\\\\\":\\\\\\\"Vader\\\\\\\",\\\\\\\"list\\\\\\\":[],\\\\\\\"qa_info_list\\\\\\\":[]}\\\",\\\"lastest_msg_kf_content\\\":\\\"{\\\\\\\"content\\\\\\\":\\\\\\\"测试\\\\\\\"}\\\",\\\"lastest_user_msg_time\\\":\\\"1768808774\\\",\\\"msg_type\\\":1,\\\"send_open_account\\\":\\\"\\\",\\\"recv_open_account\\\":\\\"wxad4163db54e87b44\\\",\\\"send_openid\\\":\\\"o9cq802Ue5pCVRmzuzkFUcnoHjcM\\\",\\\"recv_openid\\\":\\\"o9cq801T0m1dIivQzMyUwBvW5Znk\\\",\\\"is_delete\\\":0,\\\"star_label\\\":0,\\\"star_label_update_time\\\":\\\"0\\\",\\\"unreplied_msg_time\\\":\\\"1768808777\\\",\\\"kf_reply_status\\\":0,\\\"sync_id\\\":\\\"45\\\",\\\"is_pin\\\":0,\\\"is_pin_update_time\\\":\\\"0\\\",\\\"ext_info\\\":{},\\\"complaint_info\\\":{\\\"complaint_expire_time\\\":0,\\\"complaint_id\\\":\\\"\\\",\\\"complaint_status\\\":0},\\\"user_uin\\\":2044334303,\\\"is_expired\\\":0}\"}","msg_type":5,"properties":"0","recv_open_account":"wxad4163db54e87b44","recv_openid":"o9cq801T0m1dIivQzMyUwBvW5Znk","reply_type":0,"room_id":"4348684483414425612","room_useruin":"0","scene":6,"send_open_account":"","send_openid":"o9cq802Ue5pCVRmzuzkFUcnoHjcM","send_scene":6,"session_id":"0","update_time":"1768808777"}],"total_num":1} //if (content.Contains("用户已接入")) // return; @@ -905,6 +939,7 @@ namespace TemuKJD.WXForms.TalkForms { // 登录小店 WXShopLoginForm lf = new WXShopLoginForm(shop); + lf.openType = EnumOpenType.login; lf.ShowDialog(); }));