已传商品无法获取到商品详情问题修复

This commit is contained in:
wule committed 2025-09-15 15:13:19 +08:00
1 parent 6509233208
commit d50a4e00bb
1 file changed
+212 -50
@@ -589,6 +589,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
var row = dgvSelectProduct.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => var row = dgvSelectProduct.Rows.Cast<DataGridViewRow>().FirstOrDefault(r =>
r.Cells["colSelectId"]?.Value.ToString() == prod.id.ToString()); r.Cells["colSelectId"]?.Value.ToString() == prod.id.ToString());
double duration = 0;
if (row == null) if (row == null)
{ {
Invoke(new Action(() => Invoke(new Action(() =>
@@ -624,6 +625,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
continue; continue;
} }
int sleepTime = 0;
int sleepTimeTotal = 0;
var result = ""; var result = "";
try try
{ {
@@ -646,11 +649,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms
loginForm.Show(); loginForm.Show();
this.panel1.SendToBack(); this.panel1.SendToBack();
})); }));
Thread.Sleep(1000); sleepTime = Randomx.GetId(1000, 2000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
} }
//var prodDetailJson = GetHtml.UrlDecode(kjdDbProd.product_json); //var prodDetailJson = GetHtml.UrlDecode(kjdDbProd.product_json);
result = UploadProduct(shop, kjdDbProd, prod, row.Cells["colOpResult"]); //将商品上传至草稿箱或直接上传到未发布 DateTime startTime = DateTime.Now;
result = UploadProduct(shop, kjdDbProd, prod, row.Cells["colOpResult"]); //将商品上传
DateTime endTime = DateTime.Now;
var timeSpan = endTime - startTime;
duration = timeSpan.TotalSeconds;
if (result.Contains("会话已过期")) if (result.Contains("会话已过期"))
{ {
@@ -665,7 +674,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
{ {
result = "{\"success\":false,\"status\":\"未上传\",\"errMsg\":\"" + ex.Message + "\"}"; result = "{\"success\":false,\"status\":\"未上传\",\"errMsg\":\"" + ex.Message + "\"}";
} }
Thread.Sleep(200); sleepTime = Randomx.GetId(200, 300);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
var error = BaseRegex.GetStringJson(ref result, "errMsg"); var error = BaseRegex.GetStringJson(ref result, "errMsg");
if (!result.Contains("\"success\":true") && !result.Contains("上传成功")) if (!result.Contains("\"success\":true") && !result.Contains("上传成功"))
@@ -674,7 +685,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
error = result; error = result;
Invoke(new Action(() => Invoke(new Action(() =>
{ {
row.Cells["colOpResult"].Value = error; row.Cells["colOpResult"].Value = error + " " + duration.ParseToInt() + "秒";
})); }));
continue; continue;
} }
@@ -701,7 +712,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
Invoke(new Action(() => Invoke(new Action(() =>
{ {
string opRst = prod.status == "已上传" ? "已成功上传" : "已上传草稿箱"; string opRst = prod.status == "已上传" ? "已成功上传" : "已上传草稿箱";
row.Cells["colOpResult"].Value = opRst + "但保存到服务端失败:" + BaseRegex.GetStringJson(ref html, "msg") + (" " + error).Trim(' '); row.Cells["colOpResult"].Value = opRst + "但保存到服务端失败:" + BaseRegex.GetStringJson(ref html, "msg") + (" " + error).Trim(' ') + " " + duration.ParseToInt() + "秒";
row.Cells["colStatus"].Value = prod.status; row.Cells["colStatus"].Value = prod.status;
})); }));
} }
@@ -710,7 +721,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
Invoke(new Action(() => Invoke(new Action(() =>
{ {
row.Cells["colDraftId"].Value = productDraftId; // 草稿箱id row.Cells["colDraftId"].Value = productDraftId; // 草稿箱id
row.Cells["colOpResult"].Value = prod.status == "已上传" ? "已成功上传" : "已上传草稿箱" + (" " + error).TrimEnd(' '); row.Cells["colOpResult"].Value = (prod.status == "已上传" ? "已成功上传" : "已上传草稿箱" + (" " + error).TrimEnd(' ')) + " " + duration.ParseToInt() + "秒";
row.Cells["colMsg"].Value = prod.status; row.Cells["colMsg"].Value = prod.status;
})); }));
} }
@@ -748,11 +759,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms
})); }));
} }
int sleepTime = 0;
int sleepTimeTotal = 0;
var prodInfo = JsonHelper.DeserializeJsonToObject<PDDProductInfo>(dbProd.product_json); var prodInfo = JsonHelper.DeserializeJsonToObject<PDDProductInfo>(dbProd.product_json);
var prodParam = new PDDProductUploadParam(); var prodParam = new PDDProductUploadParam();
// 发起新建商品 // 发起新建商品
string create_new_html = CreatePddProdCommitId(shop); string create_new_html = create_prod_commit_id(shop);
if (create_new_html.Contains("\"success\":true")) if (create_new_html.Contains("\"success\":true"))
{ {
prodParam.goods_id = BaseRegex.GetLongJson(ref create_new_html, "goods_id"); prodParam.goods_id = BaseRegex.GetLongJson(ref create_new_html, "goods_id");
@@ -771,7 +785,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
} }
PDDProductTemplateInfo prodTemplateInfo = null; PDDProductTemplateInfo prodTemplateInfo = null;
string prop_template_html = GetPddCatPropTemplate(shop, prodInfo.detail.cat_id.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id); Thread.Sleep(Randomx.GetId(10, 50));
string prop_template_html = get_template(shop, prodInfo.detail.cat_id.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id);
if (prop_template_html.Contains("\"success\":true")) if (prop_template_html.Contains("\"success\":true"))
{ {
try try
@@ -797,7 +812,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return "上传失败 " + error; return "上传失败 " + error;
} }
string decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); string decoration_preview_html = preview_goods_decoration(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (decoration_preview_html.Contains("\"success\":true")) if (decoration_preview_html.Contains("\"success\":true"))
{ {
prodParam.decorationPreview = BaseRegex.GetStringJson(ref decoration_preview_html, "preview_url"); prodParam.decorationPreview = BaseRegex.GetStringJson(ref decoration_preview_html, "preview_url");
@@ -810,7 +825,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return "上传失败 " + error; return "上传失败 " + error;
} }
string cost_template_html = GetPddCostTemplate(shop, prodInfo.detail.cat_ids, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); string cost_template_html = get_cost_template(shop, prodInfo.detail.cat_ids, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (cost_template_html.Contains("\"success\":true")) if (cost_template_html.Contains("\"success\":true"))
{ {
prodParam.cost_template_id = BaseRegex.GetStringJson(ref cost_template_html, "costTemplateId").ParseToLong(); prodParam.cost_template_id = BaseRegex.GetStringJson(ref cost_template_html, "costTemplateId").ParseToLong();
@@ -887,14 +902,30 @@ namespace TemuKJD.PDDForms.ProductSelectForms
content = (propInfo.values.FirstOrDefault()?.value).ParseToString(), content = (propInfo.values.FirstOrDefault()?.value).ParseToString(),
}; };
string prop_sub_template_html = GetPddSubCatPropTemplate(shop, prodInfo.detail.cat_id.ParseToString(), sleepTime = Randomx.GetId(1000, 5000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
var rand = Randomx.GetId(10);
if (rand <= 2)
{
sleepTime = Randomx.GetId(1000, 5000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
}
if (rand <= 1)
{
sleepTime = Randomx.GetId(1000, 5000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
}
string prop_sub_template_html = get_sub_property_template(shop, prodInfo.detail.cat_id.ParseToString(),
prop.template_pid.ParseToString(), prop.vid.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id); prop.template_pid.ParseToString(), prop.vid.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id);
if (prop_sub_template_html.Contains("\"success\":true")) if (prop_sub_template_html.Contains("\"success\":true"))
{ {
//template_module_vos //template_module_vos
try try
{ {
Thread.Sleep(Randomx.GetId(1000, 1500));
prop_sub_template_html = GetHtml.Unicode2String(prop_sub_template_html); prop_sub_template_html = GetHtml.Unicode2String(prop_sub_template_html);
JObject prop_sub_template_obj = JObject.Parse(prop_sub_template_html); JObject prop_sub_template_obj = JObject.Parse(prop_sub_template_html);
string prop_sub_template_json = JsonHelper.SerializeObject(prop_sub_template_obj["result"]["template_module_vos"]); string prop_sub_template_json = JsonHelper.SerializeObject(prop_sub_template_obj["result"]["template_module_vos"]);
@@ -1121,7 +1152,37 @@ namespace TemuKJD.PDDForms.ProductSelectForms
} }
decorationParam.decoration_floor_list.Add(floor_param); decorationParam.decoration_floor_list.Add(floor_param);
} }
Thread.Sleep(Randomx.GetId(1500, 5500));
sleepTime = Randomx.GetId(3000, 7000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
var rand2 = Randomx.GetId(100);
if (rand2 < 40)
{
sleepTime = Randomx.GetId(1000, 5000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
}
rand2 = Randomx.GetId(100);
if (rand2 < 15)
{
sleepTime = Randomx.GetId(1000, 5000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
}
if (rand2 < 5)
{
sleepTime = Randomx.GetId(5000, 10000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
}
while (sleepTimeTotal / 1000 < 30)
{
sleepTime = Randomx.GetId(20000);
sleepTimeTotal += sleepTime;
Thread.Sleep(sleepTime);
}
//var rst = GetChanceGoods(shop); //var rst = GetChanceGoods(shop);
//var draftId = BaseRegex.GetStringJson(ref rst, "draft_id"); //var draftId = BaseRegex.GetStringJson(ref rst, "draft_id");
@@ -1133,7 +1194,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//rst = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); //rst = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
//rst = GetPddCostTemplate(shop, prodInfo.detail.cat_ids, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); //rst = GetPddCostTemplate(shop, prodInfo.detail.cat_ids, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
var decorationRst = SavePddDecoration(shop, decorationParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); var decorationRst = "";
#region 先随即提交一个待 preview_key 的,但是这个不起作用,后面再提交一个不带 preview_key 的才是真实的能查询到的商品详情信息
decorationRst = save_decoration(shop, decorationParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (!decorationRst.Contains("\"success\":true")) if (!decorationRst.Contains("\"success\":true"))
{ {
var error = BaseRegex.GetStringJson(ref decorationRst, "error_msg"); var error = BaseRegex.GetStringJson(ref decorationRst, "error_msg");
@@ -1142,7 +1205,35 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return "上传失败 " + error; return "上传失败 " + error;
} }
decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, preview_key); Thread.Sleep(Randomx.GetId(20, 100));
decoration_preview_html = preview_goods_decoration(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, preview_key);
//decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (decoration_preview_html.Contains("\"success\":true"))
{
prodParam.decorationPreview = BaseRegex.GetStringJson(ref decoration_preview_html, "preview_url");
}
else
{
var error = BaseRegex.GetStringJson(ref decoration_preview_html, "error_msg");
if (string.IsNullOrEmpty(error))
error = decoration_preview_html;
return "上传失败 " + error;
}
#endregion
Thread.Sleep(Randomx.GetId(20, 100));
decorationParam.preview_key = "";
decorationRst = save_decoration(shop, decorationParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (!decorationRst.Contains("\"success\":true"))
{
var error = BaseRegex.GetStringJson(ref decorationRst, "error_msg");
if (string.IsNullOrEmpty(error))
error = decorationRst;
return "上传失败 " + error;
}
Thread.Sleep(Randomx.GetId(20, 100));
decoration_preview_html = preview_goods_decoration(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
//decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); //decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (decoration_preview_html.Contains("\"success\":true")) if (decoration_preview_html.Contains("\"success\":true"))
{ {
@@ -1156,7 +1247,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return "上传失败 " + error; return "上传失败 " + error;
} }
var saveProdRst = SavePddProduct(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); Thread.Sleep(Randomx.GetId(20, 100));
var saveProdRst = save_goods_edit(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (!saveProdRst.Contains("\"success\":true")) if (!saveProdRst.Contains("\"success\":true"))
{ {
var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg"); var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg");
@@ -1164,9 +1256,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
error = saveProdRst; error = saveProdRst;
return "上传失败 " + error; return "上传失败 " + error;
} }
Thread.Sleep(Randomx.GetId(20, 100));
//var str = JsonHelper.SerializeObject(prodParam); //var str = JsonHelper.SerializeObject(prodParam);
var result = SubmitPddProduct(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); var result = submit_goods_edit(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
if (!result.Contains("\"success\":true")) if (!result.Contains("\"success\":true"))
{ {
var error = BaseRegex.GetStringJson(ref result, "error_msg"); var error = BaseRegex.GetStringJson(ref result, "error_msg");
@@ -1219,7 +1312,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms
} }
} }
private string CreatePddProdCommitId(ShopLoginInfo shop) /// <summary>
/// 新建商品获取商品goodsid和commitid
/// lide/v2/mms/edit/commit/create_new
/// </summary>
/// <param name="shop"></param>
/// <returns></returns>
private string create_prod_commit_id(ShopLoginInfo shop)
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
@@ -1241,8 +1340,46 @@ namespace TemuKJD.PDDForms.ProductSelectForms
} }
return result; return result;
} }
/// <summary>
/// 通过商品goodsid获取commitid
/// glide/v2/mms/edit/commit/create_by_sn
/// </summary>
/// <param name="shop"></param>
/// <param name="prodId"></param>
/// <returns></returns>
private string get_prod_commit_id(ShopLoginInfo shop, string prodId)
{
var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0)
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
string url = "https://mms.pinduoduo.com/glide/v2/mms/edit/commit/create_by_sn";
string body = @"{""goods_id"":" + prodId + "}";
string refere = "https://mms.pinduoduo.com/goods/goods_list?msfrom=mms_sidenav";
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++)
{
shop.AntiContents.Remove(anti);
anti = shop.AntiContents.FirstOrDefault().ParseToString();
if (shop.AntiContents.Count > 0)
{
Thread.Sleep(Randomx.GetId(300, 500));
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
}
}
return result;
}
private string GetPddCatPropTemplate(ShopLoginInfo shop, string catId, string prodId, string commitId) /// <summary>
/// 通过catid获取商品类目属性模板参数
/// draco-ms/mms/template/mall
/// </summary>
/// <param name="shop"></param>
/// <param name="catId"></param>
/// <param name="prodId"></param>
/// <param name="commitId"></param>
/// <returns></returns>
private string get_template(ShopLoginInfo shop, string catId, string prodId, string commitId)
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
@@ -1267,7 +1404,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return result; return result;
} }
private string GetPddSubCatPropTemplate(ShopLoginInfo shop, string catId, string template_pid, string vid, string prodId, string commitId) /// <summary>
/// 获取关联属性
/// draco-ms/mms/template/property/sub-property/v4
/// </summary>
/// <param name="shop"></param>
/// <param name="catId"></param>
/// <param name="template_pid"></param>
/// <param name="vid"></param>
/// <param name="prodId"></param>
/// <param name="commitId"></param>
/// <returns></returns>
private string get_sub_property_template(ShopLoginInfo shop, string catId, string template_pid, string vid, string prodId, string commitId)
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
@@ -1291,30 +1439,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return result; return result;
} }
private string GetPddProdCommitId(ShopLoginInfo shop, string prodId) /// <summary>
{ /// 获取商品详情装修展示参数
var anti = shop.AntiContents.LastOrDefault().ParseToString(); /// gorse/mms/goods/decoration/preview
if (shop.AntiContents.Count > 0) /// </summary>
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; /// <param name="shop"></param>
string url = "https://mms.pinduoduo.com/glide/v2/mms/edit/commit/create_by_sn"; /// <param name="prodId"></param>
string body = @"{""goods_id"":" + prodId + "}"; /// <param name="commitId"></param>
string refere = "https://mms.pinduoduo.com/goods/goods_list?msfrom=mms_sidenav"; /// <param name="prevewKey"></param>
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); /// <returns></returns>
for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) private string preview_goods_decoration(ShopLoginInfo shop, string prodId, string commitId, string prevewKey = "")
{
shop.AntiContents.Remove(anti);
anti = shop.AntiContents.FirstOrDefault().ParseToString();
if (shop.AntiContents.Count > 0)
{
Thread.Sleep(Randomx.GetId(300, 500));
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
}
}
return result;
}
private string GetPddDecorationPreview(ShopLoginInfo shop, string prodId, string commitId, string prevewKey = "")
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
@@ -1332,7 +1466,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
anti = shop.AntiContents.FirstOrDefault().ParseToString(); anti = shop.AntiContents.FirstOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
{ {
Thread.Sleep(Randomx.GetId(300, 500)); Thread.Sleep(Randomx.GetId(100, 1000));
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
} }
@@ -1342,11 +1476,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
/// <summary> /// <summary>
/// 获取运费模板 /// 获取运费模板
/// express_inf/cost_template/get_list
/// </summary> /// </summary>
/// <param name="shop"></param> /// <param name="shop"></param>
/// <param name="prodId"></param> /// <param name="prodId"></param>
/// <returns></returns> /// <returns></returns>
private string GetPddCostTemplate(ShopLoginInfo shop, List<int?> catList, string prodId, string commitId) private string get_cost_template(ShopLoginInfo shop, List<int?> catList, string prodId, string commitId)
{ {
if (catList == null) if (catList == null)
catList = new List<int?>(); catList = new List<int?>();
@@ -1378,7 +1513,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return result; return result;
} }
private string SavePddDecoration(ShopLoginInfo shop,PDDProdDecorationCommitParam decoration, string prodId, string commitId) /// <summary>
/// 保存商品详情图装修列表
/// gorse/mms/goods/decoration/commit/save
/// </summary>
/// <param name="shop"></param>
/// <param name="decoration"></param>
/// <param name="prodId"></param>
/// <param name="commitId"></param>
/// <returns></returns>
private string save_decoration(ShopLoginInfo shop,PDDProdDecorationCommitParam decoration, string prodId, string commitId)
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
@@ -1403,7 +1547,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return result; return result;
} }
private string SavePddProduct(ShopLoginInfo shop, PDDProductUploadParam prod, string prodId, string commitId) /// <summary>
/// 保存商品详情
/// glide/mms/goodsCommit/action/edit
/// </summary>
/// <param name="shop"></param>
/// <param name="prod"></param>
/// <param name="prodId"></param>
/// <param name="commitId"></param>
/// <returns></returns>
private string save_goods_edit(ShopLoginInfo shop, PDDProductUploadParam prod, string prodId, string commitId)
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)
@@ -1430,7 +1583,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms
return result; return result;
} }
private string SubmitPddProduct(ShopLoginInfo shop, PDDProductUploadParam prod, string prodId, string commitId) /// <summary>
/// 商品提交
/// glide/v2/mms/edit/commit/submit
/// </summary>
/// <param name="shop"></param>
/// <param name="prod"></param>
/// <param name="prodId"></param>
/// <param name="commitId"></param>
/// <returns></returns>
private string submit_goods_edit(ShopLoginInfo shop, PDDProductUploadParam prod, string prodId, string commitId)
{ {
var anti = shop.AntiContents.LastOrDefault().ParseToString(); var anti = shop.AntiContents.LastOrDefault().ParseToString();
if (shop.AntiContents.Count > 0) if (shop.AntiContents.Count > 0)