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