From 90ead052f35f0d774687a9c9e7a0541ead79837a Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 30 Dec 2025 19:11:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=BC=E5=A4=9A=E5=A4=9A=E6=B4=BB=E5=8A=A8?= =?UTF-8?q?=E4=B8=8A=E8=B4=A7=E5=B0=9D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- .../KJD_WebService/BLL/KJD/ProductManage.cs | 2 +- .../BLL/KJD/ProductThirdManage.cs | 2 +- .../TemuJitSubForms/ComplianceForm.cs | 4 +- .../PDDDBProdUserSelectForm.cs | 317 ++++++++++-------- .../PDDGetChanceProdForm.Designer.cs | 126 +++---- .../PDDGetChanceProdForm.cs | 6 +- .../PDDGetChanceProdForm.resx | 3 + .../PDDForms/ShopForms/PDDShopLoginForm.cs | 14 +- 9 files changed, 252 insertions(+), 224 deletions(-) diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index f91809c..8cd0c93 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 767; + public static int VersionCount = 768; //public static int VersionCount = 613; /// diff --git a/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs b/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs index 17bafa0..06fd50e 100644 --- a/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs +++ b/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs @@ -712,7 +712,7 @@ namespace KJD_Web.BLL string where = ""; if (!isAdmin || is_client_jit) - where += " AND (s.user_name='" + user_name + "' or s.sub_user_name='" + user_name + "')"; + where += " AND (s.user_name='" + user_name + "' or s.sub_user_name like '%" + user_name + "%')"; if (!string.IsNullOrEmpty(operate_sub_sa_name)) { where += " AND s.operate_sub_sa_name = '" + operate_sub_sa_name + "'"; diff --git a/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs b/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs index 7f57cc0..0635288 100644 --- a/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs +++ b/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs @@ -604,7 +604,7 @@ namespace KJD_Web.BLL string where = ""; if (!isAdmin) - where += " and (s.user_name='" + user_name + "' or s.sub_user_name ='" + user_name + "')"; + where += " and (s.user_name='" + user_name + "' or s.sub_user_name like '%" + user_name + "%')"; if (!string.IsNullOrEmpty(operate_sub_sa_name)) { where += " and s.operate_sub_sa_name = '" + operate_sub_sa_name + "'"; diff --git a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs index 9dfa253..cc202ec 100644 --- a/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/TemuJitSubForms/ComplianceForm.cs @@ -252,7 +252,8 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms j_template_edit.Add("punish_time", wait_task.punish_time); j_template_edit.Add("sale_effect_info", JObject.Parse(JsonHelper.SerializeObject(wait_task.sale_effect_info))); j_template_edit.Add("rep_detail_list", new JArray()); - var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name == cmbEUPerson.Text.Trim()); + var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name.Trim() == cmbEUPerson.Text.Trim()); + //var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name == cmbEUPerson.Text); // 欧盟负责人可能有空格,不要trim或者两边都trim rep_detail_param rep_param = new rep_detail_param { rep_id = rep_detail?.rep_id, rep_name = rep_detail?.rep_name }; (j_template_edit["rep_detail_list"] as JArray).Add(JObject.Parse(JsonHelper.SerializeObject(rep_param))); } @@ -266,6 +267,7 @@ namespace TemuKJD.KJDForms.ProductForms.TemuJitSubForms j_template_edit.Add("sale_effect_info", JObject.Parse(JsonHelper.SerializeObject(wait_task.sale_effect_info))); j_template_edit.Add("rep_detail_list", new JArray()); var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name.Trim() == cmbMakerInfo.Text.Trim()); + //var rep_detail = temp.rep_detail_list.FirstOrDefault(r => r.rep_name == cmbMakerInfo.Text); // 制造商信息可能有空格,不要trim或者两边都trim rep_detail_param rep_param = new rep_detail_param { rep_id = rep_detail?.rep_id, rep_name = rep_detail?.rep_name }; (j_template_edit["rep_detail_list"] as JArray).Add(JObject.Parse(JsonHelper.SerializeObject(rep_param))); } diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs index 2b28e1d..b69a6d7 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs @@ -1866,7 +1866,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms } } - if (pddUploadRule.IsSignActivity && 1 == 1) // 在图片上画线,没有效果 + if (pddUploadRule.IsSignActivity && 1 == 1) // 每张sku图都单独上传,(并在图片上画线,没有效果) { if (!new_Sku_Img_Dic.Keys.Contains(skuParam.thumb_url)) { @@ -1875,7 +1875,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms var imageBg = new Bitmap(image.Width, image.Height); if (!string.IsNullOrEmpty(getImgError) || image == null) { - return "设置升级款sku失败 图片上传失败"; + return "设置sku失败 图片上传失败"; } try { @@ -1888,9 +1888,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms //g.DrawLine(pen, Randomx.GetId(0, image.Width), Randomx.GetId(0, image.Height), Randomx.GetId(0, image.Width), Randomx.GetId(0, image.Height)); //pen = new Pen(Color.Green); //g.DrawLine(pen, Randomx.GetId(0, image.Width), Randomx.GetId(0, image.Height), Randomx.GetId(0, image.Width), Randomx.GetId(0, image.Height)); - ////var imageUp = pbUpgradeVersion.Image; - ////// 将升级版图片绘制到sku图片上 - ////g.DrawImage(imageUp, new Rectangle(0, 0, image.Width, image.Height), 0, 0, imageUp.Width, imageUp.Height, GraphicsUnit.Pixel); } } catch (Exception ex) @@ -1903,12 +1900,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms var error = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "error_msg"); if (string.IsNullOrEmpty(error)) error = uploadUpgradeSkuImgRst; - return "上传升级款sku图片失败 " + error; + return "上传sku图片失败 " + error; } else { - var upgrid_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url"); - new_Sku_Img_Dic[skuParam.thumb_url] = upgrid_thumb_url; + var new_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url"); + new_Sku_Img_Dic[skuParam.thumb_url] = new_thumb_url; } } skuParam.thumb_url = new_Sku_Img_Dic[skuParam.thumb_url]; @@ -2423,24 +2420,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms string fakeImgUrl = ""; if (1 == 1) // 商品先上高价sku图,参加活动后改回sku原图 { - //fakeImgUrlDefault = "https://img.pddpic.com/mms-goods-image/2025-09-23/a82199c7-eec1-40bc-a95a-a643f5ebf934.jpeg.a.jpeg"; // 不值钱的鞋 - //https://img.pddpic.com/mms-goods-image/2025-09-23/aa714d65-08ba-437b-a62a-429b6f4ad061.jpeg.a.jpeg?imageView2/2/w/1700/q/85 // 图片缩略图格式 - //https://img.pddpic.com/open-gw/2024-11-27/8c4b66e0-b80d-4a8f-bbab-9bb0d8adf015.jpeg //机会商品主图 - //https://img.pddpic.com/open-gw/2025-08-13/97a2999c-0f60-47fb-a62f-21ecc0765cb9.jpeg //机会商品主图 List skuImgStrLst = new List() { "https://img.pddpic.com/mms-goods-image/2025-10-09/fb24e835-e588-4570-b772-ad7acdf90fdf.jpeg.a.jpeg", "https://img.pddpic.com/mms-goods-image/2025-10-09/d743cdc2-1a4b-4e3b-ada7-8f857fe49d26.jpeg.a.jpeg", "https://img.pddpic.com/mms-goods-image/2025-10-09/b63f2256-fe5c-452b-91cd-688e06f3a944.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/e7b614a6-07fb-4d49-adf5-6f48e9afd36f.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/35151a9e-962e-4490-9d61-3477c090d29f.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/7c1d1098-d348-460e-b663-e19c960aede8.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/aa714d65-08ba-437b-a62a-429b6f4ad061.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/faaca32a-aae2-4ae5-85c9-44be1489208f.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/df8fa493-e8e2-4e07-8e8a-db30d10d5c9c.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/1b98757c-efb0-4a4e-8031-025056310c9f.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/c0e083d2-2e05-4b3d-9543-bcad49a17873.jpeg.a.jpeg", - //"https://img.pddpic.com/mms-goods-image/2025-09-23/7ea07200-05da-45b9-9e9a-fba4d46cfec9.jpeg.a.jpeg", }; string img_type = "鞋(不含拖鞋)"; @@ -2501,8 +2485,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms } if (string.IsNullOrEmpty(fakeImgUrl)) { - int fakeimgIndex = Randomx.GetId(skuImgStrLst.Count); - fakeImgUrl = skuImgStrLst[fakeimgIndex]; + //int fakeimgIndex = Randomx.GetId(skuImgStrLst.Count); + //fakeImgUrl = skuImgStrLst[fakeimgIndex]; + return "SKU图获取失败"; } dbProd.sku_img_replace_url = fakeImgUrl; } @@ -2529,14 +2514,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms prodParamHighPrice.skus.Add(skuParam); } - #region 添加升级版sku + #region 活动加价商品添加升级版sku if (pddUploadRule.IsUpgradeVersion) { - List upgrade_Sku_Lst = new List(); + List upgrade_sku_lst = new List(); foreach (var skuParam in prodParamHighPrice.skus) { var skuParamUpgrade = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(skuParam)); - upgrade_Sku_Lst.Add(skuParamUpgrade); + upgrade_sku_lst.Add(skuParamUpgrade); skuParamUpgrade.multi_price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt(); skuParamUpgrade.price += (txtUpgradeVersionAddPrice.Text.ParseToDecimal() * 100).ParseToInt(); @@ -2606,21 +2591,21 @@ namespace TemuKJD.PDDForms.ProductSelectForms } else { - var upgrid_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url"); - upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url] = upgrid_thumb_url; + var upgrade_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url"); + upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url] = upgrade_thumb_url; } } skuParamUpgrade.thumb_url = upgrade_Sku_Img_Dic[skuParamUpgrade.thumb_url]; skuParamUpgrade.thumb_url_file_id = null; } - foreach (var skuParam in upgrade_Sku_Lst) + foreach (var skuParam in upgrade_sku_lst) { prodParamHighPrice.skus.Add(skuParam); } } #endregion - #region // 添加一个申请活动的低价sku + #region 添加一个申请活动的低价sku if (isLowPriceSku) { List first_spec_lst = new List(); @@ -2670,9 +2655,46 @@ namespace TemuKJD.PDDForms.ProductSelectForms // 复制一份商品使用sku替换图片 var prodParamHighPriceFakeSkuImg = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodParamHighPrice)); + var fake_sku_img_dic = new Dictionary(); foreach (var skuParam in prodParamHighPriceFakeSkuImg.skus) { - skuParam.thumb_url = fakeImgUrl; + if (!fake_sku_img_dic.Keys.Contains(skuParam.thumb_url)) + { + string getImgError; + var image = GetHtml.GetUrlImg(fakeImgUrl, out getImgError); + var imageBg = new Bitmap(image.Width, image.Height); + if (!string.IsNullOrEmpty(getImgError) || image == null) + { + return "设置替换sku失败 图片上传失败"; + } + try + { + using (Graphics g = Graphics.FromImage(imageBg)) + { + g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); + } + } + catch (Exception ex) + { + return "修改替换sku图片失败 " + ex.Message; + } + string uploadUpgradeSkuImgRst = UploadProdSkuImg(shop, imageBg, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, prodInfo.chance_tab); + if (!uploadUpgradeSkuImgRst.Contains("\"url\":\"https:")) + { + var error = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = uploadUpgradeSkuImgRst; + return "上传替换sku图片失败 " + error; + } + else + { + var fake_thumb_url = BaseRegex.GetStringJson(ref uploadUpgradeSkuImgRst, "url"); + fake_sku_img_dic[skuParam.thumb_url] = fake_thumb_url; + } + } + skuParam.thumb_url = fake_sku_img_dic[skuParam.thumb_url]; + + //skuParam.thumb_url = fakeImgUrl; skuParam.thumb_url_file_id = null; } #endregion @@ -2834,13 +2856,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms Thread.Sleep(Randomx.GetId(30000, 40000)); Thread.Sleep(Randomx.GetId(6000, 12000)); - var ta = Task.Run(() => SignActivityInTask(shop, prodParam, prodParamHighPrice, cell, startTime)); + var ta = Task.Run(() => SignActivityInTask(shop, prodParam, prodParamHighPrice, prodParamHighPriceFakeSkuImg, cell, startTime)); //ta.Wait(); } return "{\"success\":true,\"draftId\":" + prodParam.goods_id + ",\"status\":\"已上传\",\"msg\":\"上传成功\"}"; } - public void SignActivityInTask(ShopLoginInfo shop, PDDProductUploadParam prodParam, PDDProductUploadParam prodParamHighPrice, DataGridViewCell cell, DateTime startTime) + public void SignActivityInTask(ShopLoginInfo shop, PDDProductUploadParam prodParam, PDDProductUploadParam prodParamHighPrice, + PDDProductUploadParam prodParamHighPriceFakeSkuImg, DataGridViewCell cell, DateTime startTime) { Thread.Sleep(2000); var endTime = DateTime.Now; @@ -2860,13 +2883,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms Thread.Sleep(Randomx.GetId(2000, 6000)); // 判断商品是否上架成功 - var getProdRst1 = queryActivityGoodsEnabled(shop, prodParam.goods_id.ParseToString(), 22347, 0); - var getProdRst2 = queryActivityGoodsEnabled(shop, prodParam.goods_id.ParseToString(), 22347, 1); + var getProdRst1 = queryActivityGoodsEnabled(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), 22347, 0); + var getProdRst2 = queryActivityGoodsEnabled(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), 22347, 1); var getProdRst3 = ""; // queryActivityGoodsEnabled(shop, prodParam.goods_id.ParseToString(), 20981, 0); var getProdRst4 = ""; // queryActivityGoodsEnabled(shop, prodParam.goods_id.ParseToString(), 20981, 1); - if (!getProdRst1.Contains(prodParam.goods_id.ParseToString()) && !getProdRst2.Contains(prodParam.goods_id.ParseToString()) && - !getProdRst3.Contains(prodParam.goods_id.ParseToString()) && !getProdRst4.Contains(prodParam.goods_id.ParseToString())) + if (!getProdRst1.Contains(prodParamHighPriceFakeSkuImg.goods_id.ParseToString()) && !getProdRst2.Contains(prodParamHighPriceFakeSkuImg.goods_id.ParseToString()) && + !getProdRst3.Contains(prodParamHighPriceFakeSkuImg.goods_id.ParseToString()) && !getProdRst4.Contains(prodParamHighPriceFakeSkuImg.goods_id.ParseToString())) { if (cell != null) { @@ -2883,7 +2906,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms else if (chk22347.Checked) { // 如果报了直通车,判断商品自动加入直通车以后再放行(循环12次应该已加入,否则认为加入失败跳过) - for (int i = 0; i < 30 && !getProdRst2.Contains(prodParam.goods_id.ParseToString()) && chk22347.Checked; i++) + for (int i = 0; i < 30 && !getProdRst2.Contains(prodParamHighPriceFakeSkuImg.goods_id.ParseToString()) && chk22347.Checked; i++) { if (cell != null) { @@ -2897,8 +2920,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms } Thread.Sleep(60 * 1000); //getProdRst1 = queryActivityGoodsEnabled(shop, prodParam.goods_id.ParseToString(), 22347, 0); - getProdRst2 = queryActivityGoodsEnabled(shop, prodParam.goods_id.ParseToString(), 22347, 1); - if (getProdRst2.Contains(prodParam.goods_id.ParseToString())) + getProdRst2 = queryActivityGoodsEnabled(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), 22347, 1); + if (getProdRst2.Contains(prodParamHighPriceFakeSkuImg.goods_id.ParseToString())) { } @@ -2928,8 +2951,15 @@ namespace TemuKJD.PDDForms.ProductSelectForms { loginForm.cefWebBrowser.Load("https://mms.pinduoduo.com/act/multi-act-enroll?activityId=20981&activityType=27&SourceType=PROMO-OwnHome&formInfoSceneType=realBigSaleQuickEnrollMultiActivityScene"); })); + Thread.Sleep(Randomx.GetId(4000, 10000)); + + Invoke(new Action(() => + { + //https://mms.pinduoduo.com/act/choose_goods/v2?id=20981&SourceType=MMSActicon + loginForm.cefWebBrowser.Load("https://mms.pinduoduo.com/act/goods_price/confirm?activityId=20981&activityType=27&from=chooseGoods&SourceType=MMSActicon"); + })); + Thread.Sleep(Randomx.GetId(4000, 10000)); } - Thread.Sleep(Randomx.GetId(4000, 10000)); Invoke(new Action(() => { @@ -2940,19 +2970,15 @@ namespace TemuKJD.PDDForms.ProductSelectForms })); } - var getProdIdRst = get_prod_commit_id(shop, prodParamHighPrice.goods_id.ParseToString(), false); + var getProdIdRst = get_prod_commit_id(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), false); var newCommitId = BaseRegex.GetStringJson(ref getProdIdRst, "goods_commit_id"); - prodParamHighPrice.goods_commit_id = newCommitId; + prodParamHighPriceFakeSkuImg.goods_commit_id = newCommitId; if (string.IsNullOrEmpty(newCommitId) || !getProdIdRst.Contains("\"success\":true")) { var error = BaseRegex.GetStringJson(ref getProdIdRst, "error_msg"); if (string.IsNullOrEmpty(error)) error = getProdIdRst; - //if (BaseClass.SaLevel != 1 && 1 != 1) - // return "上传失败"; - //return "上传失败 校验上传失败 " + error; - if (cell != null) { endTime = DateTime.Now; @@ -2966,18 +2992,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms return; } - PDDProductDetailInfo dbProdDetailInfo = null; + PDDProductDetailInfo newProdInfo = null; try { - var prod_on_shop_rst = PDDShopBrowserObject.GetPddProdDetailOnShop(shop, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id); - - var prod_detail_rst = PDDShopBrowserObject.GetPddProdDetail(shop, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id); + //var prod_on_shop_rst = PDDShopBrowserObject.GetPddProdDetailOnShop(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), prodParamHighPriceFakeSkuImg.goods_commit_id); + var prod_detail_rst = PDDShopBrowserObject.GetPddProdDetail(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), prodParamHighPriceFakeSkuImg.goods_commit_id); JObject prod_detail_obj = JObject.Parse(prod_detail_rst); var detail_json = JsonHelper.SerializeObject(prod_detail_obj["result"]); - dbProdDetailInfo = JsonHelper.DeserializeJsonToObject(detail_json); - if (dbProdDetailInfo == null || detail_json.Length < 10) + newProdInfo = JsonHelper.DeserializeJsonToObject(detail_json); + if (newProdInfo == null || detail_json.Length < 10) { Invoke(new Action(() => { @@ -2995,17 +3020,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms return; } - prodParamHighPrice.check_status = 9; - prodParamHighPrice.first_upload_carousel = null; - prodParamHighPrice.uploadDragAB = null; - prodParamHighPrice.title_keywords = null; - prodParamHighPrice.prefillWhitePic = null; - prodParamHighPrice.is_shop = 1; - prodParamHighPrice.pre_sale_time = ""; - prodParam.goods_pattern = dbProdDetailInfo.goods_pattern; - foreach (var skuParam in prodParamHighPrice.skus) + prodParamHighPriceFakeSkuImg.check_status = 9; + prodParamHighPriceFakeSkuImg.first_upload_carousel = null; + prodParamHighPriceFakeSkuImg.uploadDragAB = null; + prodParamHighPriceFakeSkuImg.title_keywords = null; + prodParamHighPriceFakeSkuImg.prefillWhitePic = null; + prodParamHighPriceFakeSkuImg.is_shop = 1; + prodParamHighPriceFakeSkuImg.pre_sale_time = ""; + prodParamHighPriceFakeSkuImg.goods_pattern = newProdInfo.goods_pattern; + foreach (var skuParam in prodParamHighPriceFakeSkuImg.skus) { - var skuInfo = dbProdDetailInfo.sku.FirstOrDefault(sk => string.Join(";", sk.spec.Select(s => s.spec_name)) == string.Join(";", skuParam.spec.Select(s => s.spec_name))); + var skuInfo = newProdInfo.sku.FirstOrDefault(sk => string.Join(";", sk.spec.Select(s => s.spec_name)) == string.Join(";", skuParam.spec.Select(s => s.spec_name))); if (skuInfo != null) { skuParam.id = skuInfo.id; @@ -3022,7 +3047,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms skuParam.spec = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(skuInfo.spec)); //skuParam.thumb_url = skuInfo.thumb_url; //skuParam.thumb_url_file_id = skuInfo.thumb_url_file_id; - //skuParam.thumb_url_file_id = skuInfo.ref_sku_commit_id; skuParam.weight = skuInfo.weight; skuParam.length = skuInfo.length; skuParam.price_in_yuan = ""; // 内部计算直接置空 @@ -3038,14 +3062,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms } loginForm = null; - if (pddUploadRule.IsSignActivity && 1 == 1 && 1 == 2) + if (pddUploadRule.IsSignActivity && 1 == 2) // 测试在网页里面直接修改 不使用截断提交方式一次最多改两个,使用的话最多改一个 { Invoke(new Action(() => { //this.panel1.SendToBack(); this.panel1.BringToFront(); loginForm = new PDDShopLoginForm(shop); - loginForm.prodParam = prodParamHighPrice; + loginForm.prodParam = prodParam; loginForm.TopLevel = false; loginForm.openType = EnumOpenType.manage; loginForm.WindowState = FormWindowState.Maximized; @@ -3060,14 +3084,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms { Invoke(new Action(() => { - loginForm.cefWebBrowser.Load("https://mms.pinduoduo.com/goods/goods_add/index?id=" + prodParamHighPrice.goods_commit_id + - "&goods_id=" + prodParamHighPrice.goods_id + "&type=edit"); + loginForm.cefWebBrowser.Load("https://mms.pinduoduo.com/goods/goods_add/index?id=" + prodParamHighPriceFakeSkuImg.goods_commit_id + + "&goods_id=" + prodParamHighPriceFakeSkuImg.goods_id + "&type=edit"); })); } Thread.Sleep(Randomx.GetId(5000, 10000)); } - while (loginForm != null && loginForm.Created && !loginForm.Disposing && !loginForm.IsDisposed) + while (true) { + if (loginForm == null || loginForm.Disposing || loginForm.IsDisposed) + break; Thread.Sleep(Randomx.GetId(500, 1000)); } Invoke(new Action(() => @@ -3075,65 +3101,85 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.panel1.SendToBack(); })); - //var reSaveProdRst = save_goods_edit(shop, prodParamHighPrice, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id, isChanceApi, "edit"); - var reSaveProdRst = save_goods_edit(shop, prodParamHighPrice, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id, false, "edit"); - if (!reSaveProdRst.Contains("\"success\":true")) - { - var error = BaseRegex.GetStringJson(ref reSaveProdRst, "error_msg"); - if (string.IsNullOrEmpty(error)) - error = reSaveProdRst; - //if (BaseClass.SaLevel != 1 && 1 != 1) - // return "上传失败"; - //return "上传失败 保存失败 " + error; - if (cell != null) + var spec0NameLst = prodParamHighPriceFakeSkuImg.skus.Select(s => s.spec[0].spec_name).Distinct().ToList(); + + foreach (var specName in spec0NameLst) + { + var fakeImgskuLst = prodParamHighPriceFakeSkuImg.skus.Where(s => s.spec[0].spec_name == specName).ToList(); + var skuImg = prodParamHighPriceFakeSkuImg.skus.FirstOrDefault(s => s.spec[0].spec_name == specName)?.thumb_url; + foreach (var fakeImgSku in fakeImgskuLst) { - endTime = DateTime.Now; - timeSpan = endTime - startTime; - duration = timeSpan.TotalSeconds; - Invoke(new Action(() => - { - cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒"; - })); + fakeImgSku.thumb_url = skuImg; + fakeImgSku.thumb_url_file_id = null; } - return; + + getProdIdRst = get_prod_commit_id(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), false); + newCommitId = BaseRegex.GetStringJson(ref getProdIdRst, "goods_commit_id"); + prodParamHighPriceFakeSkuImg.goods_commit_id = newCommitId; + if (string.IsNullOrEmpty(newCommitId) || !getProdIdRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref getProdIdRst, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = getProdIdRst; + + if (cell != null) + { + endTime = DateTime.Now; + timeSpan = endTime - startTime; + duration = timeSpan.TotalSeconds; + Invoke(new Action(() => + { + cell.Value = "上传失败 校验上传失败 " + error + " " + duration.ParseToInt() + "秒"; + })); + } + return; + } + + var reSaveProdRst = save_goods_edit(shop, prodParamHighPriceFakeSkuImg, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), + prodParamHighPriceFakeSkuImg.goods_commit_id, isChanceApi, "edit"); + if (!reSaveProdRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref reSaveProdRst, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = reSaveProdRst; + + if (cell != null) + { + endTime = DateTime.Now; + timeSpan = endTime - startTime; + duration = timeSpan.TotalSeconds; + Invoke(new Action(() => + { + cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒"; + })); + } + return; + } + + Thread.Sleep(Randomx.GetId(20, 100)); + var reUploadRst = submit_goods_edit(shop, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(), prodParamHighPriceFakeSkuImg.goods_commit_id, isChanceApi, "edit"); + if (!reUploadRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref reUploadRst, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = reUploadRst; + + if (cell != null) + { + endTime = DateTime.Now; + timeSpan = endTime - startTime; + duration = timeSpan.TotalSeconds; + Invoke(new Action(() => + { + cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒"; + })); + } + return; + } + Thread.Sleep(Randomx.GetId(12000, 15000)); } - Thread.Sleep(Randomx.GetId(20, 100)); - //var str = JsonHelper.SerializeObject(prodParam); - //var reUploadRst = submit_goods_edit(shop, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id, isChanceApi, "edit"); - var reUploadRst = submit_goods_edit(shop, prodParamHighPrice.goods_id.ParseToString(), prodParamHighPrice.goods_commit_id, isChanceApi, "edit"); - if (!reUploadRst.Contains("\"success\":true")) - { - var error = BaseRegex.GetStringJson(ref reUploadRst, "error_msg"); - if (string.IsNullOrEmpty(error)) - error = reUploadRst; - - //if (BaseClass.SaLevel != 1 && 1 != 1) - // return "上传失败"; - //return "上传失败 提交失败 " + error; - - if (cell != null) - { - endTime = DateTime.Now; - timeSpan = endTime - startTime; - duration = timeSpan.TotalSeconds; - Invoke(new Action(() => - { - cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒"; - })); - } - return; - } - - Invoke(new Action(() => - { - if (loginForm != null) - loginForm.Close(); - loginForm = null; - })); - - Thread.Sleep(Randomx.GetId(12000, 15000)); string activityErr = SignActivity(shop, prodParam, sign22347, sign20981, sign23165, sign15996); //Thread.Sleep(Randomx.GetId(4000, 8000)); @@ -5643,31 +5689,6 @@ Content-Type: image/jpeg this.pbUpgradeVersion.Tag = imgBase64; this.pbUpgradeVersion.ImageLocation = ""; this.pbUpgradeVersion.Image = image; - - //if (!this.pbSkuImg.Tag.ParseToString().IsNullOrEmpty()) - //{ - // byte[] imageBytes = Convert.FromBase64String(pbSkuImg.Tag.ParseToString()); - // // 使用MemoryStream创建图片对象 - // using (MemoryStream ms = new MemoryStream(imageBytes)) - // { - // Image imageBg = Image.FromStream(ms); - - // using (Graphics g = Graphics.FromImage(imageBg)) - // { - // // 将第一张图片绘制到结果图像上 - // g.DrawImage(image, new Rectangle(0, 0, image.Width, image.Height), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); - // //// 将第二张图片绘制到结果图像上(叠加在第一张图片上) - // //g.DrawImage(img2, new Rectangle(0, 0, img2.Width, img2.Height), 0, 0, img2.Width, img2.Height, GraphicsUnit.Pixel); - // } - - // // 保存图片到文件系统 - // try - // { - // imageBg.Save("D:\\图片1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); - // } - // catch (Exception ex) { BaseMsgForm.ShowError("存图失败 " + ex.Message); } - // } - //} } } catch (Exception ex) diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.Designer.cs index b0b18a0..e169c40 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.Designer.cs @@ -77,6 +77,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.pbLoading = new System.Windows.Forms.PictureBox(); this.panel2 = new System.Windows.Forms.Panel(); this.dgvChanceProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.chk = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colChanceId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -85,10 +88,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colHotValue = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colCate = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDel = new System.Windows.Forms.DataGridViewLinkColumn(); this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.chk = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -124,7 +125,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1119, 635); + this.splitContainer1.Size = new System.Drawing.Size(1179, 635); this.splitContainer1.SplitterDistance = 120; this.splitContainer1.TabIndex = 4; // @@ -159,7 +160,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.ucGroupBoxEx1.Controls.Add(this.chkOverride); this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(1114, 118); + this.ucGroupBoxEx1.Size = new System.Drawing.Size(1174, 118); this.ucGroupBoxEx1.TabIndex = 0; this.ucGroupBoxEx1.TabStop = false; this.ucGroupBoxEx1.Text = "操作"; @@ -195,7 +196,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSelectSuccess.Cursor = System.Windows.Forms.Cursors.Hand; this.btnSelectSuccess.DisabledBackColor = System.Drawing.Color.Empty; this.btnSelectSuccess.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnSelectSuccess.Location = new System.Drawing.Point(716, 75); + this.btnSelectSuccess.Location = new System.Drawing.Point(776, 75); this.btnSelectSuccess.Name = "btnSelectSuccess"; this.btnSelectSuccess.Size = new System.Drawing.Size(170, 25); this.btnSelectSuccess.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -277,7 +278,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnAddToDb.Cursor = System.Windows.Forms.Cursors.Hand; this.btnAddToDb.DisabledBackColor = System.Drawing.Color.Empty; this.btnAddToDb.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnAddToDb.Location = new System.Drawing.Point(973, 75); + this.btnAddToDb.Location = new System.Drawing.Point(1033, 75); this.btnAddToDb.Name = "btnAddToDb"; this.btnAddToDb.Size = new System.Drawing.Size(116, 25); this.btnAddToDb.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -302,7 +303,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnGetDetail.Cursor = System.Windows.Forms.Cursors.Hand; this.btnGetDetail.DisabledBackColor = System.Drawing.Color.Empty; this.btnGetDetail.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnGetDetail.Location = new System.Drawing.Point(973, 22); + this.btnGetDetail.Location = new System.Drawing.Point(1033, 22); this.btnGetDetail.Name = "btnGetDetail"; this.btnGetDetail.Size = new System.Drawing.Size(116, 25); this.btnGetDetail.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -493,7 +494,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.chkOverride.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.chkOverride.AutoSize = true; - this.chkOverride.Location = new System.Drawing.Point(892, 77); + this.chkOverride.Location = new System.Drawing.Point(952, 77); this.chkOverride.Name = "chkOverride"; this.chkOverride.Size = new System.Drawing.Size(87, 21); this.chkOverride.TabIndex = 757; @@ -518,7 +519,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer2.Panel2.Controls.Add(this.chk); this.splitContainer2.Panel2.Controls.Add(this.statusBar); this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1); - this.splitContainer2.Size = new System.Drawing.Size(1119, 511); + this.splitContainer2.Size = new System.Drawing.Size(1179, 511); this.splitContainer2.SplitterDistance = 482; this.splitContainer2.TabIndex = 0; // @@ -539,7 +540,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer3.Panel2.Controls.Add(this.pbLoading); this.splitContainer3.Panel2.Controls.Add(this.panel2); this.splitContainer3.Panel2.Controls.Add(this.dgvChanceProduct); - this.splitContainer3.Size = new System.Drawing.Size(1111, 482); + this.splitContainer3.Size = new System.Drawing.Size(1171, 482); this.splitContainer3.SplitterDistance = 290; this.splitContainer3.TabIndex = 9; // @@ -668,7 +669,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; - this.pbLoading.Location = new System.Drawing.Point(383, 216); + this.pbLoading.Location = new System.Drawing.Point(413, 216); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -683,7 +684,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms | System.Windows.Forms.AnchorStyles.Right))); this.panel2.Location = new System.Drawing.Point(409, 355); this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(385, 107); + this.panel2.Size = new System.Drawing.Size(445, 107); this.panel2.TabIndex = 8; // // dgvChanceProduct @@ -714,16 +715,57 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colHotValue, this.colCate, this.colPrice, + this.colDel, this.colMsg}); this.dgvChanceProduct.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvChanceProduct.Location = new System.Drawing.Point(0, 0); this.dgvChanceProduct.Name = "dgvChanceProduct"; this.dgvChanceProduct.ReadOnly = true; this.dgvChanceProduct.RowTemplate.Height = 23; - this.dgvChanceProduct.Size = new System.Drawing.Size(817, 482); + this.dgvChanceProduct.Size = new System.Drawing.Size(877, 482); this.dgvChanceProduct.TabIndex = 6; this.dgvChanceProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvChanceProduct_CellContentClick); // + // chk + // + this.chk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chk.AutoSize = true; + this.chk.Checked = true; + this.chk.CheckState = System.Windows.Forms.CheckState.Checked; + this.chk.Location = new System.Drawing.Point(1112, 3); + this.chk.Name = "chk"; + this.chk.Size = new System.Drawing.Size(63, 21); + this.chk.TabIndex = 671; + this.chk.Text = "多选框"; + this.chk.UseVisualStyleBackColor = true; + this.chk.Visible = false; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Left; + 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(296, 0); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(743, 25); + this.statusBar.TabIndex = 5; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; + this.ucSplitPage1.IsShowPageSize = false; + this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.ucSplitPage1.PageSize = 50; + this.ucSplitPage1.Size = new System.Drawing.Size(296, 25); + this.ucSplitPage1.TabIndex = 6; + this.ucSplitPage1.TotalPage = 1; + this.ucSplitPage1.PageChange += new System.Action(this.ucSplitPage1_PageChange); + // // colCheck // this.colCheck.FillWeight = 26F; @@ -789,6 +831,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colPrice.Name = "colPrice"; this.colPrice.ReadOnly = true; // + // colDel + // + this.colDel.FillWeight = 35F; + this.colDel.HeaderText = "删除"; + this.colDel.Name = "colDel"; + this.colDel.ReadOnly = true; + // // colMsg // dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; @@ -798,50 +847,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colMsg.Name = "colMsg"; this.colMsg.ReadOnly = true; // - // chk - // - this.chk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.chk.AutoSize = true; - this.chk.Checked = true; - this.chk.CheckState = System.Windows.Forms.CheckState.Checked; - this.chk.Location = new System.Drawing.Point(1052, 3); - this.chk.Name = "chk"; - this.chk.Size = new System.Drawing.Size(63, 21); - this.chk.TabIndex = 671; - this.chk.Text = "多选框"; - this.chk.UseVisualStyleBackColor = true; - this.chk.Visible = false; - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Left; - 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(296, 0); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(743, 25); - this.statusBar.TabIndex = 5; - // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left; - this.ucSplitPage1.IsShowPageSize = false; - this.ucSplitPage1.Location = new System.Drawing.Point(0, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); - this.ucSplitPage1.PageSize = 50; - this.ucSplitPage1.Size = new System.Drawing.Size(296, 25); - this.ucSplitPage1.TabIndex = 6; - this.ucSplitPage1.TotalPage = 1; - this.ucSplitPage1.PageChange += new System.Action(this.ucSplitPage1_PageChange); - // // PDDGetChanceProdForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1119, 635); + this.ClientSize = new System.Drawing.Size(1179, 635); this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Name = "PDDGetChanceProdForm"; @@ -913,6 +922,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.TextBox txtSearchCount; private System.Windows.Forms.Label label5; private UserComponent.UcCheckBox chkOverride; + private DevComponents.DotNetBar.PanelEx btnStop; + private DevComponents.DotNetBar.PanelEx btnSelectSuccess; + private DevComponents.DotNetBar.PanelEx btnStopStop; private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; private System.Windows.Forms.DataGridViewTextBoxColumn colChanceId; private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; @@ -921,9 +933,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue; private System.Windows.Forms.DataGridViewTextBoxColumn colCate; private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; + private System.Windows.Forms.DataGridViewLinkColumn colDel; private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; - private DevComponents.DotNetBar.PanelEx btnStop; - private DevComponents.DotNetBar.PanelEx btnSelectSuccess; - private DevComponents.DotNetBar.PanelEx btnStopStop; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs index 47ed473..3971d91 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.cs @@ -398,7 +398,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms chanceProductResult.keywords, chanceProductResult.hot_index, chanceProductResult.cat_id_3.ParseToLong() == 0 ? new long?() : chanceProductResult.cat_id_3.ParseToLong(), - "采集详情后显示" + "采集详情后显示", + "删除" ); dgvChanceProduct.Rows[rowId].Height = 60; })); @@ -438,6 +439,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms string headerText = dgvChanceProduct.Columns[e.ColumnIndex].HeaderText; var chanceId = dgvChanceProduct.Rows[e.RowIndex].Cells["colChanceId"].Value.ParseToString(); var chanceProd = lstChanceProductResult.FirstOrDefault(p => p.chance_id == chanceId); + var row = dgvChanceProduct.Rows[e.RowIndex]; switch (headerText) { @@ -445,6 +447,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms //if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) // return; //DeleteProduct(dbId); + dgvChanceProduct.Rows.Remove(row); + lstChanceProductResult.Remove(chanceProd); break; case "图片": var imgUrl = dgvChanceProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString().Replace("?imageView2/2/w/90/h/90", ""); diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.resx index b258309..ce08b3e 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.resx +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDGetChanceProdForm.resx @@ -165,6 +165,9 @@ True + + True + True diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs index aac4c5a..74b5786 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs @@ -609,27 +609,15 @@ namespace TemuKJD.PDDForms.ShopForms if (skuBase != null) skuObj["thumb_url"] = skuBase.thumb_url; - skuObj["thumb_url"] = "https://img.pddpic.com/mms-material-img/2025-12-27/23e40222-1a08-4ba1-a6a3-65588c75e0cd.jpeg.a.jpeg"; + //skuObj["thumb_url"] = "https://img.pddpic.com/mms-material-img/2025-12-27/23e40222-1a08-4ba1-a6a3-65588c75e0cd.jpeg.a.jpeg"; } - //https://img.pddpic.com/mms-material-img/2025-12-18/4b0e7e61-1a78-4842-a0e8-f6b7ef88fe18.jpeg.a.jpeg - - //postData = postData.Replace( - // "https://img.pddpic.com/mms-material-img/2025-12-18/4b0e7e61-1a78-4842-a0e8-f6b7ef88fe18.jpeg.a.jpeg", - // "https://img.pddpic.com/mms-material-img/2025-12-26/748ae660-53f4-4806-9e88-2712a7b5114b.jpeg.a.jpeg"); - - //postData = postData.Replace( - // "https://img.pddpic.com/mms-material-img/2025-12-26/748ae660-53f4-4806-9e88-2712a7b5114b.jpeg.a.jpeg", - // "https://img.pddpic.com/mms-goods-image/2025-12-26/1a788e0c-468a-4b6d-9389-cc2dab1f69a0.jpeg.a.jpeg?imageView2/2/w/1700/q/85"); - //skuStrNew = skuStrNew.Replace("\"thumb_url_file_id\":null,", ""); //postData = postData.Replace(skuStr, skuStrNew); postData = JsonHelper.SerializeObject(jObj); - request.PostData.Elements[0].Bytes = System.Text.Encoding.UTF8.GetBytes(postData); } - return false; } public PDDProductUploadParam prodParam = null;