已传商品无法获取到商品详情问题修复
This commit is contained in:
1 parent
6509233208
commit
d50a4e00bb
1 file changed
+211
-49
@@ -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");
|
||||||
@@ -1165,8 +1257,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
|||||||
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)
|
||||||
|
|||||||
Reference in new issue
Block a user