diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 939645f..03c436c 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -31,7 +31,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 1273; + public static int VersionCount = 1278; public static string MainPath = "29wx"; //public static string MainPath = "29wx"; //public static string MainPath = "29pdd"; diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs index 8c5eda2..6105181 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs @@ -2722,6 +2722,9 @@ namespace KJD_Web.BLL.BXX { if (!string.IsNullOrEmpty(inputData)) { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + //var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); //string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); //if (time1 != EncrypUtil.Encryption(time)) @@ -2732,6 +2735,71 @@ namespace KJD_Web.BLL.BXX return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + public string WxApiDropshipSearch(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + string token = RegexUtils.GetStringQuery(ref inputData, "token", true)?.Replace("'", "\\'"); + string order_id = RegexUtils.GetStringQuery(ref inputData, "order_id", true)?.Replace("'", "\\'"); + string status = RegexUtils.GetStringQuery(ref inputData, "status", true)?.Replace("'", "\\'"); + //string data = "{\"search_condition\":{\"order_id\":\"37000204335323251\" },\"page_info\":{\"offset\": 0,\"limit\":10}}"; + string data = "{\"search_condition\":{\"order_id\":\"" + order_id + "\",\"status\":" + status + "}}"; + return HttpUtils.WxApiPostResponse("https://api.weixin.qq.com/channels/ec/order/dropship/search?access_token=" + token, data, ""); + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + + /// + /// 微信小店分配订单代发 + /// + /// + /// + public string WxApiDropshipAssign(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + var token = RegexUtils.GetStringQuery(ref inputData, "token")?.Replace("'", "\\'"); + var order_id = RegexUtils.GetStringQuery(ref inputData, "order_id")?.Replace("'", "\\'"); + //var supplier_appid = RegexUtils.GetStringQuery(ref inputData, "supplier_appid")?.Replace("'", "\\'"); + var dropship_product_list = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "dropship_product_list"))?.Replace("'", "\\'"); + //{ + // "order_id": "37012940902395351", + // "supplier_appid": "wxabc", + // "dropship_product_list": [ + // { + // "spu_id": "1253129080", + // "sku_id": "2983950535", + // "product_cnt": 3 + // } + // ] + //} + + //{ "code":0,"data":{ "list":[{ "name":"29供货商","appid":"wxfc630d60a1af6c6f","status":1,"bindAuditStatus":1,"unbindAuditStatus":0,"bindTime":1782903213,"unbindTime":0,"updateTime":1782903213,"actionSource":0,"remark":"","headImg":""}],"totalCount":1} } + + try + { + + JObject obj = new JObject(); + obj["order_id"] = order_id; + obj["supplier_appid"] = "wxfc630d60a1af6c6f"; + JArray array = (JArray.Parse(dropship_product_list)); + obj["dropship_product_list"] = array; + + return HttpUtils.WxApiPostResponse("https://api.weixin.qq.com/channels/ec/order/dropship/assign?access_token=" + token, JsonUtils.SerializeObject(obj), ""); + } + catch + { + + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + public string WxApiCategoryClassify(string inputData) { if (!string.IsNullOrEmpty(inputData)) diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs index aab1ef1..dce8523 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs @@ -1,5 +1,6 @@ using KJD_Web.Model; using KJD_Web.Model.ShopModel; +using KJD_Web.Model.WxModel; using KJD_Web.Utils; using MySql.Data.MySqlClient; using Mysqlx.Crud; @@ -1206,6 +1207,7 @@ namespace KJD_Web.BLL.WXXD int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(1); int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(200); string img_md5 = RegexUtils.GetStringQuery(ref inputData, "img_md5")?.Replace("'", "\\'"); + string cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "cat_name"))?.Replace("'", "\\'"); string is_detail = RegexUtils.GetStringQuery(ref inputData, "is_detail")?.Replace("'", "\\'"); string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; @@ -1216,6 +1218,8 @@ namespace KJD_Web.BLL.WXXD string where = ""; if (!string.IsNullOrEmpty(img_md5)) where += " and img_md5 in ('" + img_md5.Replace(",", "','") + "')"; + if (!string.IsNullOrEmpty(cat_name)) + where += " and cat_name in ('" + cat_name.Replace(",", "','") + "')"; sql += where; sql += " ORDER BY id DESC"; sql += " LIMIT " + (page - 1) * page_size + "," + page_size + ";"; @@ -1226,22 +1230,26 @@ namespace KJD_Web.BLL.WXXD if (dt != null) { JArray jArr = new JArray(); + List wxQualificationImageInfos = new List(); try { foreach (DataRow row in dt.Rows) { - JObject jObj = new JObject(); - jObj["id"] = row["id"].ToString(); - jObj["img_md5"] = row["img_md5"].ToString(); + var img = new wx_qualification_image_info() + { + id = row["id"].ParseToInt(), + cat_name = row["cat_name"].ParseToString(), + img_md5 = row["img_md5"].ParseToString(), + img_thumb_base64 = row["img_thumb_base64"].ParseToNullableString(), + txt_margin = row["txt_margin"].ParseToNullableString(), + add_time = row["add_time"].ParseToString().ParseToDateTime(), + mdy_time = row["mdy_time"].ParseToString().ParseToDateTime(), + }; if (is_detail == "true") - jObj["img_base64"] = row["img_base64"].ParseToNullableString(); - jObj["img_thumb_base64"] = row["img_thumb_base64"].ParseToNullableString(); - jObj["txt_margin"] = row["txt_margin"].ParseToNullableString(); - jObj["add_time"] = Convert.ToDateTime(row["add_time"]); - jObj["mdy_time"] = Convert.ToDateTime(row["mdy_time"]); - jArr.Add(jObj); + img.img_base64 = row["img_base64"].ParseToNullableString(); + wxQualificationImageInfos.Add(img); } - return "{\"code\":200,\"msg\":\"success\",\"data\":" + JsonUtils.SerializeObject(jArr) + "}"; + return "{\"code\":200,\"msg\":\"success\",\"data\":" + JsonUtils.SerializeObject(wxQualificationImageInfos) + "}"; } catch (Exception ex) { @@ -1256,6 +1264,44 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + public string WXDelQualificationImage(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + if (!WXUserManage.GetSign(inputData)) + return "{\"code\":999,\"msg\":\"校验失败\"}"; + + string img_md5 = RegexUtils.GetStringQuery(ref inputData, "img_md5")?.Replace("'", "\\'"); + string id = RegexUtils.GetStringQuery(ref inputData, "id")?.Replace("'", "\\'"); + if (id.IsNullOrZero() && img_md5.IsNullOrEmpty()) + { + return "{\"code\":50001,\"msg\":\"图片id不能为空\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "delete FROM wxxd.wx_qualification_image where 1=1"; + + string where = ""; + if (!string.IsNullOrEmpty(img_md5)) + where += " and img_md5 in ('" + img_md5.Replace(",", "','") + "')"; + if (!id.IsNullOrZero()) + where += " and id in (" + id + ")"; + sql += where + ";"; + + var rows = mySql.ExecuteAffectedRows(sql); + mySql.Close(); + + if(!string.IsNullOrEmpty(mySql.Message)) + { + return "{\"code\":50002,\"msg\":\"" + mySql.Message + "\"}"; + } + return "{\"code\":200,\"msg\":\"success\",\"affected_rows\":" + rows + "}"; + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + public string E57GetFreightTemplate(string inputData) { diff --git a/KJDService/KJD_WebService/Model/WxModel/wx_qualification_image_info.cs b/KJDService/KJD_WebService/Model/WxModel/wx_qualification_image_info.cs index c6faed6..3f36832 100644 --- a/KJDService/KJD_WebService/Model/WxModel/wx_qualification_image_info.cs +++ b/KJDService/KJD_WebService/Model/WxModel/wx_qualification_image_info.cs @@ -8,6 +8,7 @@ namespace KJD_Web.Model.WxModel public class wx_qualification_image_info { public int id { get; set; } + public string cat_name { get; set; } public string img_md5 { get; set; } public string img_base64 { get; set; } public string img_thumb_base64 { get; set; } diff --git a/KJDService/KJD_WebService/WXProductService.asmx.cs b/KJDService/KJD_WebService/WXProductService.asmx.cs index e3db5f7..8831b26 100644 --- a/KJDService/KJD_WebService/WXProductService.asmx.cs +++ b/KJDService/KJD_WebService/WXProductService.asmx.cs @@ -335,6 +335,18 @@ namespace KJD_Web Context.Response.End(); } + [WebMethod] + public void wx_del_qualification_image() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXProductManage().WXDelQualificationImage(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] public void e57_get_freight_template() { @@ -371,6 +383,32 @@ namespace KJD_Web Context.Response.End(); } + /// + /// 搜索代发 + /// + [WebMethod] + public void wx_api_dropship_search() + { + string jsontext = GetRequestJsonString(); + var result = new BXXProductManage().WxApiDropshipSearch(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + + /// + /// 添加代发 + /// + [WebMethod] + public void wx_api_dropship_assign() + { + string jsontext = GetRequestJsonString(); + var result = new BXXProductManage().WxApiDropshipAssign(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] public void wx_api_category_classify() { diff --git a/TEMUKJD/BLL/PDDProdFormConverter.cs b/TEMUKJD/BLL/PDDProdFormConverter.cs index c700871..0f5bfd9 100644 --- a/TEMUKJD/BLL/PDDProdFormConverter.cs +++ b/TEMUKJD/BLL/PDDProdFormConverter.cs @@ -1513,7 +1513,7 @@ namespace TemuKJD.BLL maxPrice = Math.Max(maxPrice, skuInfo.price.Value); minPrice = Math.Min(minPrice, skuInfo.price.Value); - var specList = frontSku.Value.SpecValue.Split(',').ToList(); + var specList = frontSku.Value.SpecValue.Split(';').ToList(); foreach (var specItem in specList) { string parentName = ""; diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs index 67709e9..b51a179 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -1416,7 +1416,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms token = new WXShopTokenInfo(); if (token.isExpire || string.IsNullOrEmpty(token.accessToken)) { - AuthInfo auth = GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shop.ShopId); + //AuthInfo auth = GlobalConfig.lstWxShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shop.ShopId); //if (auth != null && auth.ExpiresTime > DateTime.Now.AddMinutes(5)) { token = new WxApiBLL().GetShopWxToken(shop); diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.Designer.cs b/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.Designer.cs index 6a93d1c..ec72b87 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.Designer.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.Designer.cs @@ -41,6 +41,14 @@ namespace TemuKJD.WXForms.AdminForms this.btnEmpty = new DevComponents.DotNetBar.PanelEx(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colCat1Name = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImgMd5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImg = new System.Windows.Forms.DataGridViewImageColumn(); + this.colTextMargin = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colChangeImage = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.splitContainer3 = new System.Windows.Forms.SplitContainer(); this.txtBottom = new System.Windows.Forms.TextBox(); @@ -60,13 +68,6 @@ namespace TemuKJD.WXForms.AdminForms this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.panel3 = new System.Windows.Forms.Panel(); - this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); - this.colCat1Name = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colImgMd5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.colImg = new System.Windows.Forms.DataGridViewImageColumn(); - this.colChangeImage = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -140,7 +141,7 @@ namespace TemuKJD.WXForms.AdminForms this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSearch.Location = new System.Drawing.Point(181, 12); + this.btnSearch.Location = new System.Drawing.Point(362, 12); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(56, 23); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -162,7 +163,7 @@ namespace TemuKJD.WXForms.AdminForms // this.txtCatName.Location = new System.Drawing.Point(83, 12); this.txtCatName.Name = "txtCatName"; - this.txtCatName.Size = new System.Drawing.Size(90, 23); + this.txtCatName.Size = new System.Drawing.Size(273, 23); this.txtCatName.TabIndex = 419; // // label5 @@ -179,7 +180,7 @@ namespace TemuKJD.WXForms.AdminForms this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control; this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty; - this.btnEmpty.Location = new System.Drawing.Point(242, 12); + this.btnEmpty.Location = new System.Drawing.Point(423, 12); this.btnEmpty.Name = "btnEmpty"; this.btnEmpty.Size = new System.Drawing.Size(56, 23); this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -233,6 +234,7 @@ namespace TemuKJD.WXForms.AdminForms this.colCat1Name, this.colImgMd5, this.colImg, + this.colTextMargin, this.colChangeImage, this.colDelete, this.colMsg}); @@ -248,6 +250,67 @@ namespace TemuKJD.WXForms.AdminForms this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); this.dgvShop.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvShop_CellMouseDown); // + // colSelect + // + this.colSelect.FillWeight = 16F; + 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; + // + // colCat1Name + // + this.colCat1Name.FillWeight = 70F; + this.colCat1Name.HeaderText = "类目名称"; + this.colCat1Name.Name = "colCat1Name"; + this.colCat1Name.ReadOnly = true; + // + // colImgMd5 + // + this.colImgMd5.FillWeight = 50F; + this.colImgMd5.HeaderText = "图片码"; + this.colImgMd5.Name = "colImgMd5"; + this.colImgMd5.ReadOnly = true; + // + // colImg + // + this.colImg.FillWeight = 40F; + this.colImg.HeaderText = "图片"; + this.colImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colImg.Name = "colImg"; + this.colImg.ReadOnly = true; + this.colImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // colTextMargin + // + this.colTextMargin.HeaderText = "文字边距"; + this.colTextMargin.Name = "colTextMargin"; + this.colTextMargin.ReadOnly = true; + // + // colChangeImage + // + this.colChangeImage.FillWeight = 46F; + this.colChangeImage.HeaderText = "编辑图片"; + this.colChangeImage.Name = "colChangeImage"; + this.colChangeImage.ReadOnly = true; + this.colChangeImage.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colChangeImage.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // colDelete + // + this.colDelete.FillWeight = 46F; + this.colDelete.HeaderText = "删除"; + this.colDelete.Name = "colDelete"; + this.colDelete.ReadOnly = true; + // + // colMsg + // + this.colMsg.HeaderText = "操作结果"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // // splitContainer2 // this.splitContainer2.BackColor = System.Drawing.Color.White; @@ -305,17 +368,18 @@ namespace TemuKJD.WXForms.AdminForms // txtBottom // this.txtBottom.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.txtBottom.Location = new System.Drawing.Point(557, 442); + this.txtBottom.Location = new System.Drawing.Point(557, 438); this.txtBottom.Name = "txtBottom"; this.txtBottom.Size = new System.Drawing.Size(56, 23); this.txtBottom.TabIndex = 471; this.txtBottom.Text = "270"; + this.txtBottom.TextChanged += new System.EventHandler(this.txt_TextChanged); // // label7 // this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(531, 445); + this.label7.Location = new System.Drawing.Point(531, 441); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(32, 17); this.label7.TabIndex = 472; @@ -324,17 +388,18 @@ namespace TemuKJD.WXForms.AdminForms // txtRight // this.txtRight.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.txtRight.Location = new System.Drawing.Point(557, 413); + this.txtRight.Location = new System.Drawing.Point(557, 409); this.txtRight.Name = "txtRight"; this.txtRight.Size = new System.Drawing.Size(56, 23); this.txtRight.TabIndex = 469; this.txtRight.Text = "240"; + this.txtRight.TextChanged += new System.EventHandler(this.txt_TextChanged); // // label6 // this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(531, 416); + this.label6.Location = new System.Drawing.Point(531, 412); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(32, 17); this.label6.TabIndex = 470; @@ -343,17 +408,18 @@ namespace TemuKJD.WXForms.AdminForms // txtTop // this.txtTop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.txtTop.Location = new System.Drawing.Point(557, 384); + this.txtTop.Location = new System.Drawing.Point(557, 380); this.txtTop.Name = "txtTop"; this.txtTop.Size = new System.Drawing.Size(56, 23); this.txtTop.TabIndex = 467; this.txtTop.Text = "270"; + this.txtTop.TextChanged += new System.EventHandler(this.txt_TextChanged); // // label4 // this.label4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(531, 387); + this.label4.Location = new System.Drawing.Point(531, 383); this.label4.Name = "label4"; this.label4.Size = new System.Drawing.Size(32, 17); this.label4.TabIndex = 468; @@ -362,7 +428,7 @@ namespace TemuKJD.WXForms.AdminForms // txtLeft // this.txtLeft.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.txtLeft.Location = new System.Drawing.Point(557, 355); + this.txtLeft.Location = new System.Drawing.Point(557, 351); this.txtLeft.Name = "txtLeft"; this.txtLeft.Size = new System.Drawing.Size(56, 23); this.txtLeft.TabIndex = 465; @@ -373,7 +439,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(531, 358); + this.label3.Location = new System.Drawing.Point(531, 354); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(32, 17); this.label3.TabIndex = 466; @@ -383,7 +449,7 @@ namespace TemuKJD.WXForms.AdminForms // this.label2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(531, 325); + this.label2.Location = new System.Drawing.Point(531, 329); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(68, 17); this.label2.TabIndex = 464; @@ -506,62 +572,6 @@ namespace TemuKJD.WXForms.AdminForms this.panel3.Size = new System.Drawing.Size(1271, 576); this.panel3.TabIndex = 35; // - // colSelect - // - this.colSelect.FillWeight = 16F; - 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; - // - // colCat1Name - // - this.colCat1Name.FillWeight = 70F; - this.colCat1Name.HeaderText = "类目名称"; - this.colCat1Name.Name = "colCat1Name"; - this.colCat1Name.ReadOnly = true; - // - // colImgMd5 - // - this.colImgMd5.FillWeight = 50F; - this.colImgMd5.HeaderText = "图片码"; - this.colImgMd5.Name = "colImgMd5"; - this.colImgMd5.ReadOnly = true; - // - // colImg - // - this.colImg.FillWeight = 40F; - this.colImg.HeaderText = "图片"; - this.colImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; - this.colImg.Name = "colImg"; - this.colImg.ReadOnly = true; - this.colImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - // - // colChangeImage - // - this.colChangeImage.FillWeight = 46F; - this.colChangeImage.HeaderText = "编辑图片"; - this.colChangeImage.Name = "colChangeImage"; - this.colChangeImage.ReadOnly = true; - this.colChangeImage.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colChangeImage.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - // - // colDelete - // - this.colDelete.FillWeight = 46F; - this.colDelete.HeaderText = "删除"; - this.colDelete.Name = "colDelete"; - this.colDelete.ReadOnly = true; - this.colDelete.Visible = false; - // - // colMsg - // - this.colMsg.HeaderText = "操作结果"; - this.colMsg.Name = "colMsg"; - this.colMsg.ReadOnly = true; - // // WXAdminQualificationImageForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -634,6 +644,7 @@ namespace TemuKJD.WXForms.AdminForms private System.Windows.Forms.DataGridViewTextBoxColumn colCat1Name; private System.Windows.Forms.DataGridViewTextBoxColumn colImgMd5; private System.Windows.Forms.DataGridViewImageColumn colImg; + private System.Windows.Forms.DataGridViewTextBoxColumn colTextMargin; private System.Windows.Forms.DataGridViewLinkColumn colChangeImage; private System.Windows.Forms.DataGridViewLinkColumn colDelete; private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.cs b/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.cs index 272dd21..f5a6034 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.cs +++ b/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.cs @@ -10,6 +10,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; +using System.Drawing.Printing; using System.Globalization; using System.IO; using System.Linq; @@ -88,7 +89,9 @@ namespace TemuKJD.WXForms.AdminForms { int pageCount; decimal seconds = 0; - var list = AdminGetServerQualificationImageLst(out pageCount, out seconds, page, ucSplitPage1.PageSize); + var catName = ""; + Invoke(new Action(() => { catName = txtCatName.Text.Trim(); })); + var list = AdminGetServerQualificationImageLst(out pageCount, out seconds, "", "", page, ucSplitPage1.PageSize); lstWxQualificationImageInfo.AddRange(list); this.ucSplitPage1.TotalPage = pageCount; @@ -101,6 +104,7 @@ namespace TemuKJD.WXForms.AdminForms image.cat_name, image.img_md5, Base64ChangeImgUrl.Base64ToImage(image.img_thumb_base64), + image.txt_margin, "编辑", "删除"); @@ -149,28 +153,43 @@ namespace TemuKJD.WXForms.AdminForms switch (headerText) { - case "进入店铺": - //IsOperate = true; - //{ - // WXAdminShopLoginForm adminLoginForm = new WXAdminShopLoginForm(shop); - // adminLoginForm.openType = EnumOpenType.manage; - // adminLoginForm.WindowState = FormWindowState.Maximized; - // adminLoginForm.InitUrl = "https://store.weixin.qq.com/shop/home"; - // adminLoginForm.Show(); - //} - //IsOperate = false; - break; case "删除": if (BaseMsgForm.ShowConfirm("确定删除吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) return; - //if (ShopBLL.AdminDelServerShop(shop)) - // SearchImg(this.ucSplitPage1.CurrentPage); + var url = BaseClass.BuildObjString("product/wx_del_qualification_image"); + var data = UserLogin.GetSignaturex(); + data += "&img_md5=" + row.Cells["colImgMd5"].Value.ParseToString(); + var html = GetHtml.PostUtf8(url, data); + if (!html.Contains("\"code\":200")) + BaseMsgForm.ShowError(BaseRegex.GetStringJsonByRegs(ref html, html, "msg")); + SearchImg(ucSplitPage1.CurrentPage); break; case "编辑图片": var image = lstWxQualificationImageInfo.FirstOrDefault(i => i.img_md5 == row.Cells["colImgMd5"].Value.ParseToString()); if (image != null) { - image.img_base64.IsNullOrEmpty(); + if (image.img_base64.IsNullOrEmpty()) + { + int pageCount; + decimal seconds = 0; + image.img_base64 = AdminGetServerQualificationImageLst(out pageCount, out seconds, "", image.img_md5).FirstOrDefault()?.img_base64; + } + try + { + if (image.txt_margin.ParseToString().Split(',').Select(m => m.ParseToInt()).ToList() is List marginValueList && marginValueList.Count == 4) + { + txtLeft.Text = marginValueList[0].ToString(); + txtTop.Text = marginValueList[1].ToString(); + txtRight.Text = marginValueList[2].ToString(); + txtBottom.Text = marginValueList[3].ToString(); + } + var imageSource = Base64ChangeImgUrl.Base64ToImage(image.img_base64); + LoadImg(imageSource); + } + catch (Exception ex) + { + BaseMsgForm.ShowError("加载图片失败" + ex.Message); + } } break; @@ -197,7 +216,7 @@ namespace TemuKJD.WXForms.AdminForms return shopNameList; } - public List AdminGetServerQualificationImageLst(out int pageCount, out decimal seconds, int page = 1, int pageSize = 50) + public static List AdminGetServerQualificationImageLst(out int pageCount, out decimal seconds, string cat_name="", string img_md5 = "", int page = 1, int pageSize = 200) { List list = new List(); pageCount = 1; @@ -207,7 +226,15 @@ namespace TemuKJD.WXForms.AdminForms var data = UserLogin.GetSignaturex() + "&page=" + page + "&page_size=" + pageSize; - data += "&is_detail=true"; + if (!string.IsNullOrEmpty(img_md5)) + { + data += "&img_md5=" + img_md5; + data += "&is_detail=true"; + } + if (!cat_name.IsNullOrEmpty()) + { + data += "&cat_name=" + cat_name; + } var html = GetHtml.PostUtf8(url, data); if (!html.Contains("\"code\":200")) return list; @@ -240,33 +267,7 @@ namespace TemuKJD.WXForms.AdminForms { string filePath = openFileDialog.FileName; Image imageSource = Image.FromFile(filePath); - EmptyImage = new Bitmap(900, 1200); - using (Graphics g = Graphics.FromImage(EmptyImage)) - { - g.DrawImage(imageSource, new Rectangle(0, 0, EmptyImage.Width, EmptyImage.Height), 0, 0, imageSource.Width, imageSource.Height, GraphicsUnit.Pixel); - } - - string imgBase64 = ""; - using (MemoryStream memoryStream = new MemoryStream()) - { - EmptyImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); - byte[] imageBytes = memoryStream.ToArray(); - imgBase64 = Convert.ToBase64String(imageBytes); - } - - if (this.pictureBox1.Tag.ParseToString() != imgBase64) - { - this.pictureBox1.Tag = imgBase64; - this.pictureBox1.ImageLocation = ""; - - Image image = new Bitmap(900, 1200); - using (Graphics g = Graphics.FromImage(image)) - { - g.DrawImage(EmptyImage, new Rectangle(0, 0, image.Width, image.Height), 0, 0, EmptyImage.Width, EmptyImage.Height, GraphicsUnit.Pixel); - } - DrawText(image, txtLeft.Text.ParseToInt(), txtTop.Text.ParseToInt(), txtRight.Text.ParseToInt(), txtBottom.Text.ParseToInt()); - this.pictureBox1.Image = image; - } + LoadImg(imageSource); } catch (Exception ex) { @@ -276,6 +277,32 @@ namespace TemuKJD.WXForms.AdminForms } } + + string imgBase64 = ""; + public void LoadImg(Image imageSource) + { + EmptyImage = new Bitmap(900, 1200); + using (Graphics g = Graphics.FromImage(EmptyImage)) + { + g.DrawImage(imageSource, new Rectangle(0, 0, EmptyImage.Width, EmptyImage.Height), 0, 0, imageSource.Width, imageSource.Height, GraphicsUnit.Pixel); + } + using (MemoryStream memoryStream = new MemoryStream()) + { + EmptyImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); + byte[] imageBytes = memoryStream.ToArray(); + imgBase64 = Convert.ToBase64String(imageBytes); + } + this.pictureBox1.ImageLocation = ""; + + Image image = new Bitmap(900, 1200); + using (Graphics g = Graphics.FromImage(image)) + { + g.DrawImage(EmptyImage, new Rectangle(0, 0, image.Width, image.Height), 0, 0, EmptyImage.Width, EmptyImage.Height, GraphicsUnit.Pixel); + } + DrawText(image, txtLeft.Text.ParseToInt(), txtTop.Text.ParseToInt(), txtRight.Text.ParseToInt(), txtBottom.Text.ParseToInt()); + this.pictureBox1.Image = image; + } + public static void DrawText(Image img, int _txtLeft, int _txtTop, int _txtRight, int _txtBottom) { if (img == null) @@ -385,6 +412,9 @@ namespace TemuKJD.WXForms.AdminForms private void txt_TextChanged(object sender, EventArgs e) { + if (EmptyImage == null) + return; + Image image = new Bitmap(900, 1200); using (Graphics g = Graphics.FromImage(image)) { @@ -396,7 +426,7 @@ namespace TemuKJD.WXForms.AdminForms private void btnSave_Click(object sender, EventArgs e) { - if (pictureBox1.Tag.ParseToString().IsNullOrEmpty()) + if (imgBase64.IsNullOrEmpty()) return; var thumbImage = new Bitmap(90, 120); @@ -418,8 +448,8 @@ namespace TemuKJD.WXForms.AdminForms Invoke(new Action(() => { data = UserLogin.GetSignaturex(); - data += "&img_md5=" + BaseClass.GetMd5(pictureBox1.Tag.ParseToString()); - data += "&img_base64=" + pictureBox1.Tag.ParseToString(); + data += "&img_md5=" + BaseClass.GetMd5(imgBase64); + data += "&img_base64=" + imgBase64; data += "&txt_margin=" + txtLeft.Text.ParseToInt() + "," + txtTop.Text.ParseToInt() + "," + txtRight.Text.ParseToInt() + "," + txtBottom.Text.ParseToInt(); data += "&img_thumb_base64=" + thumbBase64; })); @@ -428,6 +458,8 @@ namespace TemuKJD.WXForms.AdminForms html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); + + SearchImg(ucSplitPage1.CurrentPage); } } } diff --git a/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.resx b/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.resx index dd7e498..99f7b8c 100644 --- a/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.resx +++ b/TEMUKJD/WXForms/AdminForms/WXAdminQualificationImageForm.resx @@ -129,6 +129,9 @@ True + + True + True diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs index 1d45ccb..1253df4 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.Designer.cs @@ -32,14 +32,14 @@ namespace TemuKJD.WXForms.ProductForms private void InitializeComponent() { this.components = new System.ComponentModel.Container(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.txtWaitSeconds = new System.Windows.Forms.TextBox(); @@ -70,7 +70,7 @@ namespace TemuKJD.WXForms.ProductForms this.label9 = new System.Windows.Forms.Label(); this.chkStepAddPrice = new TemuKJD.UserComponent.UcCheckBox(this.components); this.ucTabControlMetro1 = new TemuKJD.UserControls.UcTabControlMetro(); - this.上传参数 = new System.Windows.Forms.TabPage(); + this.上传参数1 = new System.Windows.Forms.TabPage(); this.chkSameSpecPriceDown = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkLowestPriceSku = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkUseWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -103,6 +103,9 @@ namespace TemuKJD.WXForms.ProductForms this.label3 = new System.Windows.Forms.Label(); this.label39 = new System.Windows.Forms.Label(); this.chkSkipReplaceText = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.上传参数2 = new System.Windows.Forms.TabPage(); + this.label40 = new System.Windows.Forms.Label(); + this.cmbSpBrandName = new System.Windows.Forms.ComboBox(); this.佣金上货 = new System.Windows.Forms.TabPage(); this.label31 = new System.Windows.Forms.Label(); this.txtCommissionChangeValue = new System.Windows.Forms.TextBox(); @@ -257,7 +260,8 @@ namespace TemuKJD.WXForms.ProductForms this.panel3.SuspendLayout(); this.fPnlPriceRule.SuspendLayout(); this.ucTabControlMetro1.SuspendLayout(); - this.上传参数.SuspendLayout(); + this.上传参数1.SuspendLayout(); + this.上传参数2.SuspendLayout(); this.佣金上货.SuspendLayout(); this.裂变调试.SuspendLayout(); this.ucGroupBoxEx4.SuspendLayout(); @@ -757,7 +761,8 @@ namespace TemuKJD.WXForms.ProductForms | System.Windows.Forms.AnchorStyles.Right))); this.ucTabControlMetro1.BackgroundColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251))))); this.ucTabControlMetro1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(174)))), ((int)(((byte)(157))))); - this.ucTabControlMetro1.Controls.Add(this.上传参数); + this.ucTabControlMetro1.Controls.Add(this.上传参数1); + this.ucTabControlMetro1.Controls.Add(this.上传参数2); this.ucTabControlMetro1.Controls.Add(this.佣金上货); this.ucTabControlMetro1.Controls.Add(this.裂变调试); this.ucTabControlMetro1.ItemSize = new System.Drawing.Size(72, 24); @@ -771,47 +776,47 @@ namespace TemuKJD.WXForms.ProductForms this.ucTabControlMetro1.TabSelectTextColor = System.Drawing.Color.Gray; this.ucTabControlMetro1.TabUnSelectTextColor = System.Drawing.Color.White; // - // 上传参数 + // 上传参数1 // - this.上传参数.Controls.Add(this.chkSameSpecPriceDown); - this.上传参数.Controls.Add(this.chkLowestPriceSku); - this.上传参数.Controls.Add(this.chkUseWXComplateProd); - this.上传参数.Controls.Add(this.txtMaxPrice); - this.上传参数.Controls.Add(this.chkUseRecommand); - this.上传参数.Controls.Add(this.chkPreSale); - this.上传参数.Controls.Add(this.txtDefaultBestBefore); - this.上传参数.Controls.Add(this.chkDefaultBestBefore); - this.上传参数.Controls.Add(this.txtMinPrice); - this.上传参数.Controls.Add(this.btnFilterBound); - this.上传参数.Controls.Add(this.txtFilterBoundMin); - this.上传参数.Controls.Add(this.chkUpDraft); - this.上传参数.Controls.Add(this.label25); - this.上传参数.Controls.Add(this.chkSkipUploaded); - this.上传参数.Controls.Add(this.chkSameSpecPriceUp); - this.上传参数.Controls.Add(this.txtPreDays); - this.上传参数.Controls.Add(this.txtReplaceText); - this.上传参数.Controls.Add(this.label8); - this.上传参数.Controls.Add(this.chkSaveBound); - this.上传参数.Controls.Add(this.chkAiShortTitle); - this.上传参数.Controls.Add(this.label5); - this.上传参数.Controls.Add(this.chkHighestPriceSku); - this.上传参数.Controls.Add(this.txtFilterBoundMax); - this.上传参数.Controls.Add(this.label18); - this.上传参数.Controls.Add(this.label23); - this.上传参数.Controls.Add(this.label1); - this.上传参数.Controls.Add(this.label12); - this.上传参数.Controls.Add(this.txtTitleHeadWord); - this.上传参数.Controls.Add(this.label22); - this.上传参数.Controls.Add(this.label3); - this.上传参数.Controls.Add(this.label39); - this.上传参数.Controls.Add(this.chkSkipReplaceText); - this.上传参数.Location = new System.Drawing.Point(4, 28); - this.上传参数.Name = "上传参数"; - this.上传参数.Padding = new System.Windows.Forms.Padding(3); - this.上传参数.Size = new System.Drawing.Size(611, 118); - this.上传参数.TabIndex = 1; - this.上传参数.Text = "上传参数"; - this.上传参数.UseVisualStyleBackColor = true; + this.上传参数1.Controls.Add(this.chkSameSpecPriceDown); + this.上传参数1.Controls.Add(this.chkLowestPriceSku); + this.上传参数1.Controls.Add(this.chkUseWXComplateProd); + this.上传参数1.Controls.Add(this.txtMaxPrice); + this.上传参数1.Controls.Add(this.chkUseRecommand); + this.上传参数1.Controls.Add(this.chkPreSale); + this.上传参数1.Controls.Add(this.txtDefaultBestBefore); + this.上传参数1.Controls.Add(this.chkDefaultBestBefore); + this.上传参数1.Controls.Add(this.txtMinPrice); + this.上传参数1.Controls.Add(this.btnFilterBound); + this.上传参数1.Controls.Add(this.txtFilterBoundMin); + this.上传参数1.Controls.Add(this.chkUpDraft); + this.上传参数1.Controls.Add(this.label25); + this.上传参数1.Controls.Add(this.chkSkipUploaded); + this.上传参数1.Controls.Add(this.chkSameSpecPriceUp); + this.上传参数1.Controls.Add(this.txtPreDays); + this.上传参数1.Controls.Add(this.txtReplaceText); + this.上传参数1.Controls.Add(this.label8); + this.上传参数1.Controls.Add(this.chkSaveBound); + this.上传参数1.Controls.Add(this.chkAiShortTitle); + this.上传参数1.Controls.Add(this.label5); + this.上传参数1.Controls.Add(this.chkHighestPriceSku); + this.上传参数1.Controls.Add(this.txtFilterBoundMax); + this.上传参数1.Controls.Add(this.label18); + this.上传参数1.Controls.Add(this.label23); + this.上传参数1.Controls.Add(this.label1); + this.上传参数1.Controls.Add(this.label12); + this.上传参数1.Controls.Add(this.txtTitleHeadWord); + this.上传参数1.Controls.Add(this.label22); + this.上传参数1.Controls.Add(this.label3); + this.上传参数1.Controls.Add(this.label39); + this.上传参数1.Controls.Add(this.chkSkipReplaceText); + this.上传参数1.Location = new System.Drawing.Point(4, 28); + this.上传参数1.Name = "上传参数1"; + this.上传参数1.Padding = new System.Windows.Forms.Padding(3); + this.上传参数1.Size = new System.Drawing.Size(611, 118); + this.上传参数1.TabIndex = 1; + this.上传参数1.Text = "上传参数"; + this.上传参数1.UseVisualStyleBackColor = true; // // chkSameSpecPriceDown // @@ -1177,6 +1182,41 @@ namespace TemuKJD.WXForms.ProductForms this.chkSkipReplaceText.UseVisualStyleBackColor = true; this.chkSkipReplaceText.CheckedChanged += new System.EventHandler(this.chkSkipReplaceText_CheckedChanged); // + // 上传参数2 + // + this.上传参数2.Controls.Add(this.label40); + this.上传参数2.Controls.Add(this.cmbSpBrandName); + this.上传参数2.Location = new System.Drawing.Point(4, 28); + this.上传参数2.Name = "上传参数2"; + this.上传参数2.Padding = new System.Windows.Forms.Padding(3); + this.上传参数2.Size = new System.Drawing.Size(611, 118); + this.上传参数2.TabIndex = 4; + this.上传参数2.Text = "特殊参数"; + this.上传参数2.UseVisualStyleBackColor = true; + // + // label40 + // + this.label40.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.label40.AutoSize = true; + this.label40.Location = new System.Drawing.Point(7, 15); + this.label40.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label40.Name = "label40"; + this.label40.Size = new System.Drawing.Size(80, 17); + this.label40.TabIndex = 825; + this.label40.Text = "国表品类品牌"; + // + // cmbSpBrandName + // + this.cmbSpBrandName.FormattingEnabled = true; + this.cmbSpBrandName.Items.AddRange(new object[] { + "", + "名圣"}); + this.cmbSpBrandName.Location = new System.Drawing.Point(87, 11); + this.cmbSpBrandName.Name = "cmbSpBrandName"; + this.cmbSpBrandName.Size = new System.Drawing.Size(92, 25); + this.cmbSpBrandName.TabIndex = 824; + this.cmbSpBrandName.Text = "名圣"; + // // 佣金上货 // this.佣金上货.Controls.Add(this.label31); @@ -2609,19 +2649,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToDeleteRows = false; - dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9; this.dgvShop.AutoRowNumber = true; this.dgvShop.BackgroundColor = System.Drawing.Color.White; this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10; this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSelect, @@ -2853,19 +2893,19 @@ namespace TemuKJD.WXForms.ProductForms // this.dgvSelectProduct.AllowUserToAddRows = false; this.dgvSelectProduct.AllowUserToDeleteRows = false; - dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11; this.dgvSelectProduct.AutoRowNumber = true; this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12; this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colCheck, @@ -2927,8 +2967,8 @@ namespace TemuKJD.WXForms.ProductForms // // colSupplierName // - dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5; + dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13; this.colSupplierName.Frozen = true; this.colSupplierName.HeaderText = "店铺名称"; this.colSupplierName.Name = "colSupplierName"; @@ -3008,8 +3048,8 @@ namespace TemuKJD.WXForms.ProductForms // // colProductName // - dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colProductName.DefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle14; this.colProductName.HeaderText = "商品标题"; this.colProductName.Name = "colProductName"; this.colProductName.ReadOnly = true; @@ -3017,8 +3057,8 @@ namespace TemuKJD.WXForms.ProductForms // // colProductCat // - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15; this.colProductCat.HeaderText = "商品类目"; this.colProductCat.Name = "colProductCat"; this.colProductCat.ReadOnly = true; @@ -3073,8 +3113,8 @@ namespace TemuKJD.WXForms.ProductForms // // colAddTime // - dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colAddTime.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16; this.colAddTime.HeaderText = "上传时间"; this.colAddTime.Name = "colAddTime"; this.colAddTime.ReadOnly = true; @@ -3191,8 +3231,10 @@ namespace TemuKJD.WXForms.ProductForms this.fPnlPriceRule.ResumeLayout(false); this.fPnlPriceRule.PerformLayout(); this.ucTabControlMetro1.ResumeLayout(false); - this.上传参数.ResumeLayout(false); - this.上传参数.PerformLayout(); + this.上传参数1.ResumeLayout(false); + this.上传参数1.PerformLayout(); + this.上传参数2.ResumeLayout(false); + this.上传参数2.PerformLayout(); this.佣金上货.ResumeLayout(false); this.佣金上货.PerformLayout(); this.裂变调试.ResumeLayout(false); @@ -3381,7 +3423,7 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.TextBox txtDefaultBestBefore; private UserComponent.UcCheckBox chkDefaultBestBefore; public UserControls.UcTabControlMetro ucTabControlMetro1; - private System.Windows.Forms.TabPage 上传参数; + private System.Windows.Forms.TabPage 上传参数1; private System.Windows.Forms.TabPage 佣金上货; private UserComponent.UcCheckBox chkCommission; private DevComponents.DotNetBar.PanelEx btnLoginAssistant; @@ -3435,5 +3477,8 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.NumericUpDown numFilterViewUv; private UserComponent.UcCheckBox chkFilterViewUv; private UserComponent.UcCheckBox chkUseShanghaiReturnOrderAddress; + private System.Windows.Forms.TabPage 上传参数2; + private System.Windows.Forms.Label label40; + private System.Windows.Forms.ComboBox cmbSpBrandName; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs index 5efeb62..dbf5678 100644 --- a/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXDBProdUploadForm.cs @@ -2,6 +2,7 @@ using AllBase.Extension; using AllBase.Helper; using AllBase.Model.Config; +using AllBase.Model.DBModel; using AllBase.Model.Param.WXParam; using AllBase.Model.Result; using AllBase.Model.Result.PDDResult; @@ -29,8 +30,10 @@ using TemuKJD.BLL; using TemuKJD.Extension; using TemuKJD.PDDForms.ProductSelectForms; using TemuKJD.ToolForms; +using TemuKJD.UserControls; using TemuKJD.WXForms.ShopForms; using Work; +using Work.BLL.Tools; using static System.Net.Mime.MediaTypeNames; namespace TemuKJD.WXForms.ProductForms @@ -67,6 +70,8 @@ namespace TemuKJD.WXForms.ProductForms // 微信带货助手cookie List lstWxSaleAssistantCookie = new List(); + List lstQulificationImage = new List(); + public WXDBProdUploadForm() { InitializeComponent(); @@ -2699,12 +2704,32 @@ namespace TemuKJD.WXForms.ProductForms if (bound.cat_bound < minBount || bound.cat_bound > maxBount ) return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"类目保证金(" + bound.cat_bound + ")超过过滤限制(" + minBount + "-" + maxBount + ")\"}"; + // 定向类目需指定品牌Id var spBrandId = ""; + var spBrandName = ""; if (leafCatId == 547591) { - var rst = WXUpload.getMixBrand(shop, leafCatId.ToString()); // 先写死 - spBrandId = 10914219.ToString(); + //spBrandId = 10914219.ToString(); + + var rst = WXUpload.getMixBrand(shop, leafCatId.ToString()); + Invoke(new Action(() => { spBrandName = cmbSpBrandName.Text.Trim(); })); + + if (!string.IsNullOrEmpty(spBrandName) && rst.Contains("\"code\":0")) + { + var jObj = JsonHelper.JObjectParse(rst); + foreach (var jItem in jObj["mixBrandList"]) // bizuinBrandList mixBrandList + { + if (jItem["chName"].ParseToString() == spBrandName) + spBrandId = jItem["brandId"].ParseToString(); + } + } + + if (spBrandId.IsNullOrEmpty()) + { + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"定向类目绑定品牌失败\"}"; + } + // 国表定向类目 upProdParam.product.info.brandId = spBrandId.ParseToLong(); } @@ -3869,6 +3894,16 @@ namespace TemuKJD.WXForms.ProductForms wxPropParam.categorys.Add(wxCategoryParam2); } } + foreach (var wxPropParam in upProdParam.product.info.param) + { + if (wxPropParam.categorys.Count > 0 && + wxPropParam.categorys.FirstOrDefault().name == "作者" && (wxPropParam.categorys.LastOrDefault().name == "无" || + wxPropParam.categorys.LastOrDefault().name == "-" || wxPropParam.categorys.LastOrDefault().name == "/") ) + { + wxPropParam.categorys.LastOrDefault().name = upProdParam.product.info.param.FirstOrDefault(p => p.categorys.FirstOrDefault()?.name == "出版社名称").categorys.LastOrDefault()?.name; + } + } + foreach (var attr in productAttr.attr) { if (attr.isRequired != true) @@ -4646,6 +4681,24 @@ namespace TemuKJD.WXForms.ProductForms })); } + if (lstQulificationImage.Count == 0) + { + var pageCount = 1; + var seconds = 0m; + lstQulificationImage = AdminForms.WXAdminQualificationImageForm.AdminGetServerQualificationImageLst(out pageCount, out seconds, "图书"); + } + var qulificationImage = lstQulificationImage.OrderBy(x => Guid.NewGuid()).FirstOrDefault(); + if (qulificationImage != null) + { + if (qulificationImage.img_base64.IsNullOrEmpty()) + { + var pageCount = 1; + var seconds = 0m; + qulificationImage.img_base64 = AdminForms.WXAdminQualificationImageForm.AdminGetServerQualificationImageLst(out pageCount, out seconds, "图书", qulificationImage.img_md5) + .FirstOrDefault()?.img_base64; + } + } + //string publisher = "出版社名称:" + new List() { "技术出版社", "文化出版社", "美术出版社" }[Randomx.GetId(3)]; ////string isbn = "ISBN:"; //string isbn = "ISBN/CN刊号:"; @@ -4792,7 +4845,12 @@ namespace TemuKJD.WXForms.ProductForms propParam.categorys[1].name = bookPrice; } else if (propParam.categorys[0].name.Contains("作者")) - author = "作  者:" + propParam.categorys[1].name; + { + if (propParam.categorys[1].name != "/") + author = "作  者:" + propParam.categorys[1].name; + else + author = ""; + } else if (propParam.categorys[0].name.Contains("出版时间")) publishTime = "出版时间:" + propParam.categorys[1].name; else if (propParam.categorys[0].name.Contains("版次")) @@ -4800,6 +4858,8 @@ namespace TemuKJD.WXForms.ProductForms else if (propParam.categorys[0].name.Contains("包装")) binding = "装  帧:" + propParam.categorys[1].name; } + if (author.IsNullOrEmpty()) + author = "作  者:" + publisher.Replace("出版发行:", ""); var bookStr = publisher + "\r\n" + "\r\n" + isbn + "\r\n" + "\r\n" + @@ -4833,17 +4893,34 @@ namespace TemuKJD.WXForms.ProductForms textImgH = size.Height.ParseToInt() + 180; } + var bookImg = TemuKJD.Properties.Resources.empty_book_900_1200; + if (!string.IsNullOrEmpty(qulificationImage?.img_base64)) + { + // 使用服务端随即图 + try + { + bookImg = Base64ChangeImgUrl.Base64ToImage(qulificationImage.img_base64); + } + catch (Exception ex) + { + } + } imgH = bookImg.Height; imgW = bookImg.Width; using (Graphics g = Graphics.FromImage(bookImg)) { Brush textBrush = Brushes.Black; g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit; - float txtTop = 240; - float txtBottom = 240; - float txtLeft = 280; - float txtRight = 270; + + float txtTop = 240, txtBottom = 240, txtLeft = 280, txtRight = 270; + if (qulificationImage.txt_margin.ParseToString().Split(',').Select(m => m.ParseToInt()).ToList() is List marginValueList && marginValueList.Count == 4) + { + txtLeft = marginValueList[0] + 10 - Randomx.GetId(21); + txtTop = marginValueList[1] + 10 - Randomx.GetId(21); + txtRight = marginValueList[2] + 10 - Randomx.GetId(21); + txtBottom = marginValueList[3] + 10 - Randomx.GetId(21); + } int txtWidth = (int)imgW - (int)txtLeft - (int)txtRight; // 370; // 书名 @@ -4913,9 +4990,10 @@ namespace TemuKJD.WXForms.ProductForms // 测量文本的高度 textSize = g.MeasureString(isbn.Replace("ISBN/CN刊号:", "书  号:ISBN "), font, txtWidth); + textSize = g.MeasureString(isbn.Replace("ISBN/CN刊号:", "书  号:"), font, txtWidth); txtTop -= (10 + textSize.Height); rectF = new RectangleF(txtLeft, txtTop, txtWidth, imgH - txtTop); - g.DrawString(isbn.Replace("ISBN/CN刊号:", "书  号:ISBN "), font, textBrush, rectF); + g.DrawString(isbn.Replace("ISBN/CN刊号:", "书  号: "), font, textBrush, rectF); // 测量文本的高度 textSize = g.MeasureString(publisher, font, txtWidth); diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs index 5321f4e..d736b55 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.Designer.cs @@ -43,6 +43,8 @@ namespace TemuKJD.WXForms.ProductForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.label9 = new System.Windows.Forms.Label(); + this.txtTotalSoldNum = new System.Windows.Forms.TextBox(); this.label8 = new System.Windows.Forms.Label(); this.txtAddDays = new System.Windows.Forms.TextBox(); this.label7 = new System.Windows.Forms.Label(); @@ -102,6 +104,10 @@ namespace TemuKJD.WXForms.ProductForms this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.pbLoading = new System.Windows.Forms.PictureBox(); 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(); @@ -119,9 +125,10 @@ namespace TemuKJD.WXForms.ProductForms 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.colViewUv = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPayOrderCnt = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colTotalSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPreSale = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -129,10 +136,6 @@ namespace TemuKJD.WXForms.ProductForms this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.splitContainer4 = new System.Windows.Forms.SplitContainer(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.btnClear = new DevComponents.DotNetBar.PanelEx(); - this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -187,6 +190,8 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx3.Controls.Add(this.label9); + this.ucGroupBoxEx3.Controls.Add(this.txtTotalSoldNum); this.ucGroupBoxEx3.Controls.Add(this.label8); this.ucGroupBoxEx3.Controls.Add(this.txtAddDays); this.ucGroupBoxEx3.Controls.Add(this.label7); @@ -207,10 +212,29 @@ namespace TemuKJD.WXForms.ProductForms this.ucGroupBoxEx3.TabStop = false; this.ucGroupBoxEx3.Text = "商品下架"; // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(205, 34); + this.label9.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(56, 17); + this.label9.TabIndex = 932; + this.label9.Text = "销量低于"; + // + // txtTotalSoldNum + // + this.txtTotalSoldNum.Location = new System.Drawing.Point(261, 31); + this.txtTotalSoldNum.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.txtTotalSoldNum.Name = "txtTotalSoldNum"; + this.txtTotalSoldNum.Size = new System.Drawing.Size(33, 23); + this.txtTotalSoldNum.TabIndex = 931; + this.txtTotalSoldNum.Text = "1"; + // // label8 // this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(426, 34); + this.label8.Location = new System.Drawing.Point(525, 34); this.label8.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label8.Name = "label8"; this.label8.Size = new System.Drawing.Size(20, 17); @@ -219,7 +243,7 @@ namespace TemuKJD.WXForms.ProductForms // // txtAddDays // - this.txtAddDays.Location = new System.Drawing.Point(393, 31); + this.txtAddDays.Location = new System.Drawing.Point(492, 31); this.txtAddDays.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtAddDays.Name = "txtAddDays"; this.txtAddDays.Size = new System.Drawing.Size(33, 23); @@ -229,7 +253,7 @@ namespace TemuKJD.WXForms.ProductForms // label7 // this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(313, 34); + this.label7.Location = new System.Drawing.Point(412, 34); this.label7.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(80, 17); @@ -239,7 +263,7 @@ namespace TemuKJD.WXForms.ProductForms // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(203, 34); + this.label6.Location = new System.Drawing.Point(302, 34); this.label6.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(68, 17); @@ -248,7 +272,7 @@ namespace TemuKJD.WXForms.ProductForms // // txtViewUv // - this.txtViewUv.Location = new System.Drawing.Point(271, 31); + this.txtViewUv.Location = new System.Drawing.Point(370, 31); this.txtViewUv.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtViewUv.Name = "txtViewUv"; this.txtViewUv.Size = new System.Drawing.Size(33, 23); @@ -1155,9 +1179,10 @@ namespace TemuKJD.WXForms.ProductForms this.colProductCat, this.colExtCode, this.colPrice, - this.colSoldNum, this.colViewUv, this.colPayOrderCnt, + this.colSoldNum, + this.colTotalSoldNum, this.colMsg, this.colPreSale, this.colNotes, @@ -1175,6 +1200,86 @@ namespace TemuKJD.WXForms.ProductForms this.dgvSelectProduct.TabIndex = 187; this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.statusBar); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.btnClear); + this.splitContainer4.Panel2.Controls.Add(this.panelEx1); + this.splitContainer4.Size = new System.Drawing.Size(1507, 26); + this.splitContainer4.SplitterDistance = 816; + 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(816, 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; @@ -1183,6 +1288,7 @@ namespace TemuKJD.WXForms.ProductForms this.colCheck.ReadOnly = true; this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCheck.Visible = false; this.colCheck.Width = 30; // // colSelectId @@ -1321,6 +1427,20 @@ namespace TemuKJD.WXForms.ProductForms this.colPrice.ReadOnly = true; this.colPrice.Width = 50; // + // colViewUv + // + this.colViewUv.HeaderText = "曝光人数"; + this.colViewUv.Name = "colViewUv"; + this.colViewUv.ReadOnly = true; + this.colViewUv.Width = 70; + // + // colPayOrderCnt + // + this.colPayOrderCnt.HeaderText = "支付订单数"; + this.colPayOrderCnt.Name = "colPayOrderCnt"; + this.colPayOrderCnt.ReadOnly = true; + this.colPayOrderCnt.Width = 80; + // // colSoldNum // this.colSoldNum.HeaderText = "销量"; @@ -1329,19 +1449,12 @@ namespace TemuKJD.WXForms.ProductForms this.colSoldNum.Visible = false; this.colSoldNum.Width = 50; // - // colViewUv + // colTotalSoldNum // - this.colViewUv.HeaderText = "曝光人数"; - this.colViewUv.Name = "colViewUv"; - this.colViewUv.ReadOnly = true; - this.colViewUv.Width = 80; - // - // colPayOrderCnt - // - this.colPayOrderCnt.HeaderText = "支付订单数"; - this.colPayOrderCnt.Name = "colPayOrderCnt"; - this.colPayOrderCnt.ReadOnly = true; - this.colPayOrderCnt.Width = 90; + this.colTotalSoldNum.HeaderText = "累计销量"; + this.colTotalSoldNum.Name = "colTotalSoldNum"; + this.colTotalSoldNum.ReadOnly = true; + this.colTotalSoldNum.Width = 80; // // colMsg // @@ -1399,86 +1512,6 @@ namespace TemuKJD.WXForms.ProductForms this.colOpResult.ReadOnly = true; this.colOpResult.Width = 240; // - // 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(1507, 26); - this.splitContainer4.SplitterDistance = 816; - 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(816, 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; - // // WXProdClearNoVisit260606Form // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1585,6 +1618,11 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.Label label7; private System.Windows.Forms.Label label8; private System.Windows.Forms.TextBox txtAddDays; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RadioButton rb30; + private System.Windows.Forms.RadioButton rb7; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox txtTotalSoldNum; private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; @@ -1602,9 +1640,10 @@ namespace TemuKJD.WXForms.ProductForms 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 colViewUv; private System.Windows.Forms.DataGridViewTextBoxColumn colPayOrderCnt; + private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum; + private System.Windows.Forms.DataGridViewTextBoxColumn colTotalSoldNum; private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; private System.Windows.Forms.DataGridViewTextBoxColumn colPreSale; private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; @@ -1612,8 +1651,5 @@ namespace TemuKJD.WXForms.ProductForms private System.Windows.Forms.DataGridViewLinkColumn ColDelete; private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.RadioButton rb30; - private System.Windows.Forms.RadioButton rb7; } } \ No newline at end of file diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs index 1dc79e8..66d17d5 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.cs @@ -595,9 +595,10 @@ namespace TemuKJD.WXForms.ProductForms "" : string.Join(" >> ", wxProdObj["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称 wxProdObj["spuCode"].ParseToString(), wxProdObj["price"].ParseToDecimal() * 0.01m, // 价格 + recommendProd.product_view_uv, // 曝光人数 + recommendProd.pay_order_cnt, // 支付订单数 wxProdObj["soldNum"].ParseToInt(), // 销量 - recommendProd.product_view_uv, - recommendProd.pay_order_cnt, + wxProdObj["totalSoldNum"].ParseToInt(), // 累计销量 StatusStr, wxProdObj["presaleTag"].ParseToInt() == 1 ? "[预售]" : "", // 预售 "", // 备注 @@ -968,9 +969,12 @@ namespace TemuKJD.WXForms.ProductForms if (row.Cells["colViewUv"].Value.ParseToInt() >= txtViewUv.Text.Trim().ParseToInt()) row.Cells["colCheck"].Value = false; - + + if (row.Cells["colTotalSoldNum"].Value.ParseToInt() >= txtTotalSoldNum.Text.Trim().ParseToInt()) + row.Cells["colCheck"].Value = false; + if (row.Cells["colPayOrderCnt"].Value.ParseToInt() >= txtFiltSaleNum.Text.Trim().ParseToInt()) - row.Cells["colCheck"].Value = false; + row.Cells["colCheck"].Value = false; if (row.Cells["colAddTime"].Value.ParseToString().ParseToDateTime() >= DateTime.Now.AddDays(-txtAddDays.Text.Trim().ParseToInt())) row.Cells["colCheck"].Value = false; diff --git a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.resx b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.resx index ddb9faf..8f64c5c 100644 --- a/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.resx +++ b/TEMUKJD/WXForms/ProductForms/WXProdClearNoVisit260606Form.resx @@ -204,15 +204,18 @@ True - - True - True True + + True + + + True + True diff --git a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs index 399cbb6..2184968 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserCollectAuthProdListForm.cs @@ -1122,7 +1122,7 @@ namespace TemuKJD.WXForms.ProductForms using (StreamReader sr = new StreamReader(path, Work.Api.UploadPinduoduoMain.GetFileEncoding(path))) { - sourceContent = sr.ReadToEnd(); + content = sourceContent = sr.ReadToEnd(); } content = JsonHelper.SerializeObject(JsonHelper.JObjectParse(content));