拼多多接口调用调试 微信商品随机逻辑调整
This commit is contained in:
1 parent
3b3a903e25
commit
b2c152889a
8 files changed
+661
-114
No files matched your search
@@ -83,14 +83,14 @@ namespace AllBase
|
||||
result.Add(item, value.ToString());
|
||||
}
|
||||
signString = clientSecret + signString + clientSecret;
|
||||
Console.WriteLine("拼接内容:" + signString);
|
||||
//Console.WriteLine("拼接内容:" + signString);
|
||||
// MD5加密
|
||||
using (var md5 = MD5.Create())
|
||||
{
|
||||
signString = GetMd5Hash(md5, signString).ToUpper();
|
||||
}
|
||||
Console.WriteLine("签名:" + signString);
|
||||
result.Add("sign", signString);
|
||||
//Console.WriteLine("签名:" + signString);
|
||||
result["sign"] = signString;
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -820,6 +820,7 @@ namespace KJD_Web.BLL.WXXD
|
||||
var tokenRst = HttpUtils.e57GetResponse("https://po.e57.cn/prod-api/api/sys-api/system/open/api/shop/list?userName=合肥测试一组", "");
|
||||
if (!tokenRst.Contains("\"code\":0"))
|
||||
tokenRst = HttpUtils.e57GetResponse("https://po.e57.cn/prod-api/api/sys-api/system/open/api/shop/list?userName=合肥测试一组", "");
|
||||
//https://po.e57.cn/prod-api/api/sys-api/system/open/api/shop/list?userName=pdd用户
|
||||
if (!tokenRst.Contains("\"code\":0"))
|
||||
{
|
||||
var errMsg = RegexUtils.GetStringJson(ref tokenRst, "msg");
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TemuKJD.BLL.PddApi
|
||||
{
|
||||
public class PddApi
|
||||
{
|
||||
public Dictionary<string, object> Data { get; set; } = new Dictionary<string, object>();
|
||||
|
||||
public PddApi(ShopLoginInfo shop)
|
||||
{
|
||||
Data["access_token"] = shop.AccessToken;
|
||||
}
|
||||
|
||||
public string PddGoodsDetailGet()
|
||||
{
|
||||
string type = "pdd.goods.detail.get";
|
||||
string html = PddApiRequest(type, Data);
|
||||
return html;
|
||||
}
|
||||
|
||||
public string PddGoodsInformationUpdate()
|
||||
{
|
||||
string type = "pdd.goods.information.update";
|
||||
string html = PddApiRequest(type, Data);
|
||||
return html;
|
||||
}
|
||||
|
||||
public string PddGoodsLogisticsTemplateGet()
|
||||
{
|
||||
string type = "pdd.goods.logistics.template.get";
|
||||
string html = PddApiRequest(type, Data);
|
||||
return html;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="type">拼多多调用接口 pdd.*</param>
|
||||
/// <param name="dict">拼多多接口入参</param>
|
||||
/// <returns></returns>
|
||||
static string PddApiRequest(string type, Dictionary<string,object> dict)
|
||||
{
|
||||
string clientId = "ad502ec19e0c49ab9df14f83494e153c";
|
||||
string clientSecret = "bd52aba51737d03fc073711d386b3b0779d010ad";
|
||||
|
||||
if (string.IsNullOrEmpty(type))
|
||||
return "{\"success\":false, \"error_msg\":\"调用接口不能为空\"}";
|
||||
if (dict == null)
|
||||
return "{\"success\":false, \"error_msg\":\"参数数组不能为空\"}";
|
||||
|
||||
DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
|
||||
var timeStamp = (long)(DateTime.Now - startTime).TotalMilliseconds;
|
||||
|
||||
dict["type"] = type;
|
||||
dict["client_id"] = clientId;
|
||||
dict["timestamp"] = timeStamp.ToString();
|
||||
dict["data_type"] = "JSON";
|
||||
|
||||
var paramsDic = SignHelper.BuildSign(dict, clientSecret);
|
||||
var jsonBody = JsonConvert.SerializeObject(paramsDic);
|
||||
string result = GetHtml.PostUtf8("http://gw-api.pinduoduo.com/api/router", jsonBody, "application/json");
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TemuKJD.BLL.PddApi
|
||||
{
|
||||
public class PddApiHelper
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -123,6 +123,8 @@
|
||||
<Compile Include="BLL\AuthorBLL.cs" />
|
||||
<Compile Include="BLL\JSTHttpResponseBLL.cs" />
|
||||
<Compile Include="BLL\MemoryReader.cs" />
|
||||
<Compile Include="BLL\Pdd\PddApiHelper.cs" />
|
||||
<Compile Include="BLL\Pdd\PddApi.cs" />
|
||||
<Compile Include="BLL\PDDProdFormConverter.cs" />
|
||||
<Compile Include="BLL\ProductSelectBLL.cs" />
|
||||
<Compile Include="BLL\WxApiBLL.cs" />
|
||||
|
||||
@@ -1426,6 +1426,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnTest20981.TabIndex = 649;
|
||||
this.btnTest20981.Text = "测试20981";
|
||||
this.btnTest20981.Visible = false;
|
||||
this.btnTest20981.Click += new System.EventHandler(this.btnTest20981_Click);
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
|
||||
@@ -26,6 +26,8 @@ using System.Text.RegularExpressions;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using AllBase.Model.Param.PDDProdParam;
|
||||
using CefSharp;
|
||||
using TemuKJD.BLL.PddApi;
|
||||
using Work.Api;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
@@ -67,6 +69,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
private void UserSelectDbProductForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
Task.Run(() => { InitPddToken(); });
|
||||
|
||||
this.splitContainer1.Dock = DockStyle.Fill;
|
||||
this.panel1.Location = new Point(40, 30);
|
||||
this.panel1.Width = this.Width - 80;
|
||||
@@ -173,6 +177,33 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
IsLoadComplate = true;
|
||||
}
|
||||
|
||||
void InitPddToken()
|
||||
{
|
||||
//var url = "https://po.e57.cn/prod-api/api/sys-api/system/open/api/shop/list?userName=pdd用户";
|
||||
////var rst = WXHttpResponseBLL.e57PostResponse(url, "&warehouseNum=123456&shopId=46568955", "");
|
||||
//var rst = WXHttpResponseBLL.e57GetResponse(url, "");
|
||||
//if (rst.Contains("\"code\":0"))
|
||||
//{
|
||||
// foreach (var shopObj in JsonHelper.JObjectParse(rst)["list"].FirstOrDefault())
|
||||
// {
|
||||
// var jStr = shopObj.ParseToString();
|
||||
// string shopName = BaseRegex.GetStringJson(ref jStr, "shopName");
|
||||
// string accessToken = BaseRegex.GetStringJson(ref jStr, "accessToken");
|
||||
|
||||
// var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopAccount == shopName);
|
||||
// if (shop != null)
|
||||
// {
|
||||
// shop.ApiAuthInfoList = new List<AuthInfo>();
|
||||
// shop.ApiAuthInfoList.Add(new AuthInfo { AccessToken = accessToken });
|
||||
// }
|
||||
|
||||
// //var shop = GlobalConfig.ShopLoginList.First(s => s.ShopAccount == "阿杰小铺浦哈哈");
|
||||
// //shop.ApiAuthInfoList = new List<AuthInfo>();
|
||||
// //shop.ApiAuthInfoList.Add(new AuthInfo { AccessToken = "9ebbf9cc47834f7685af90c87cea1c7d4ff8d3dc" });
|
||||
// }
|
||||
//}
|
||||
}
|
||||
|
||||
private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (!chkSelectAll.Checked)
|
||||
@@ -3549,148 +3580,324 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}));
|
||||
|
||||
|
||||
// 还原sku替换图
|
||||
var spec0NameLst = prodParamHighPriceFakeSkuImg.skus.Select(s => s.spec[0].spec_name).Distinct().ToList();
|
||||
int flag = 0;
|
||||
foreach (var specName in spec0NameLst)
|
||||
if (1 == 1)
|
||||
{
|
||||
flag++;
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
foreach (var specName in spec0NameLst)
|
||||
{
|
||||
cell.Value = "商品已上传,进行后续操作中" + " " + (spec0NameLst.IndexOf(specName) + 1) + "/" + spec0NameLst.Count + " " + duration.ParseToInt() + "秒";
|
||||
}));
|
||||
flag++;
|
||||
|
||||
List<int> signLst = new List<int>() { 20981, 15996, 21365, 22347 };
|
||||
while (signLst.Count > 0 && (flag == 1 || flag % 2 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
{
|
||||
var signId = signLst[Randomx.GetId(0, signLst.Count)];
|
||||
signLst.Remove(signId);
|
||||
|
||||
if (signId == 20981 && sign20981)
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var activityRst = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 15996 && sign15996)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 15996, 18);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 15996, 18);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 21365 && sign21365)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 21365, 27);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 21365, 27);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 22347 && sign22347)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 22347, 27);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(1200, 1800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 22347, 27);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
}
|
||||
//LoadActivityPage(shop);
|
||||
cell.Value = "商品已上传,进行后续操作中" + " " + (spec0NameLst.IndexOf(specName) + 1) + "/" + spec0NameLst.Count + " " + duration.ParseToInt() + "秒";
|
||||
}));
|
||||
|
||||
var fakeImgskuLst = prodParamHighPriceFakeSkuImg.skus.Where(s => s.spec[0].spec_name == specName).ToList();
|
||||
var skuImg = prodParam.skus.FirstOrDefault(s => s.spec[0].spec_name == specName)?.thumb_url;
|
||||
foreach (var fakeImgSku in fakeImgskuLst)
|
||||
{
|
||||
fakeImgSku.thumb_url = skuImg;
|
||||
fakeImgSku.thumb_url_file_id = null;
|
||||
}
|
||||
|
||||
if (1 == 1 && (flag % 2 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
{
|
||||
|
||||
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"))
|
||||
List<int> signLst = new List<int>() { 20981, 15996, 21365, 22347 };
|
||||
while (signLst.Count > 0 && (flag == 1 || flag % 2 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref getProdIdRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = getProdIdRst;
|
||||
var signId = signLst[Randomx.GetId(0, signLst.Count)];
|
||||
signLst.Remove(signId);
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
if (signId == 20981 && sign20981)
|
||||
{
|
||||
if (cell != null)
|
||||
var activityRst = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
cell.Value = "上传失败 校验上传失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
|
||||
}
|
||||
}));
|
||||
return;
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 15996 && sign15996)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 15996, 18);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 15996, 18);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 21365 && sign21365)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 21365, 27);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 21365, 27);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 22347 && sign22347)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 22347, 27);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(1200, 1800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 22347, 27);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
}
|
||||
//LoadActivityPage(shop);
|
||||
|
||||
var fakeImgskuLst = prodParamHighPriceFakeSkuImg.skus.Where(s => s.spec[0].spec_name == specName).ToList();
|
||||
var skuImg = prodParam.skus.FirstOrDefault(s => s.spec[0].spec_name == specName)?.thumb_url;
|
||||
foreach (var fakeImgSku in fakeImgskuLst)
|
||||
{
|
||||
fakeImgSku.thumb_url = skuImg;
|
||||
fakeImgSku.thumb_url_file_id = null;
|
||||
}
|
||||
|
||||
var reSaveProdRst = save_goods_edit(shop, prodParamHighPriceFakeSkuImg, prodParamHighPriceFakeSkuImg.goods_id.ParseToString(),
|
||||
prodParamHighPriceFakeSkuImg.goods_commit_id, isChanceApi, "edit");
|
||||
if (!reSaveProdRst.Contains("\"success\":true"))
|
||||
if (1 == 1 && (flag % 2 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref reSaveProdRst, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = reSaveProdRst;
|
||||
|
||||
if (cell != null)
|
||||
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;
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
if (cell != null)
|
||||
{
|
||||
cell.Value = "上传失败 校验上传失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
}
|
||||
}));
|
||||
return;
|
||||
}
|
||||
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;
|
||||
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
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)
|
||||
{
|
||||
cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
}));
|
||||
}
|
||||
}));
|
||||
return;
|
||||
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;
|
||||
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (cell != null)
|
||||
{
|
||||
cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
}
|
||||
}));
|
||||
return;
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(12000, 15000));
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(12000, 15000));
|
||||
}
|
||||
}
|
||||
|
||||
// Api还原sku替换图
|
||||
if (1 == 2)
|
||||
{
|
||||
JObject prodRstObj = null;
|
||||
if (spec0NameLst.Count > 1)
|
||||
spec0NameLst.RemoveAt(spec0NameLst.Count - 1);
|
||||
|
||||
foreach (var specName in spec0NameLst)
|
||||
{
|
||||
flag++;
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
cell.Value = "商品已上传,进行后续操作中" + " " + (spec0NameLst.IndexOf(specName) + 1) + "/" + spec0NameLst.Count + " " + duration.ParseToInt() + "秒";
|
||||
}));
|
||||
|
||||
List<int> signLst = new List<int>() { 20981, 15996, 21365, 22347 };
|
||||
//while (signLst.Count > 0 && (flag == 1 || flag % 2 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
if (flag == 1 || flag % 1 == 9999 || spec0NameLst.LastOrDefault() == specName)
|
||||
{
|
||||
while (signLst.Count > 0)
|
||||
{
|
||||
var signId = signLst[Randomx.GetId(0, signLst.Count)];
|
||||
signLst.Remove(signId);
|
||||
|
||||
if (signId == 20981 && sign20981)
|
||||
{
|
||||
var activityRst = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_info(shop, prodParam.goods_id.ParseToString(), "20981");
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 15996 && sign15996)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 15996, 18);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 15996, 18);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 21365 && sign21365)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 21365, 27);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(11200, 11800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 21365, 27);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
if (signId == 22347 && sign22347)
|
||||
{
|
||||
var activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 22347, 27);
|
||||
for (int i = 0; i < 2 && !activityRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(1200, 1800));
|
||||
activityRst = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 22347, 27);
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(2000, 4500));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (flag == 1)
|
||||
{
|
||||
var pddApi = new PddApi(shop);
|
||||
pddApi.Data["goods_id"] = prodParam.goods_id.ParseToString();
|
||||
var rst = pddApi.PddGoodsDetailGet();
|
||||
prodRstObj = JsonHelper.JObjectParse(rst)["goods_detail_get_response"] as JObject;
|
||||
}
|
||||
//LoadActivityPage(shop);
|
||||
|
||||
//var fakeImgskuLst = prodParamHighPriceFakeSkuImg.skus.Where(s => s.spec[0].spec_name == specName).ToList();
|
||||
//var skuImg = prodParam.skus.FirstOrDefault(s => s.spec[0].spec_name == specName)?.thumb_url;
|
||||
//foreach (var fakeImgSku in fakeImgskuLst)
|
||||
//{
|
||||
// fakeImgSku.thumb_url = skuImg;
|
||||
// fakeImgSku.thumb_url_file_id = null;
|
||||
//}
|
||||
|
||||
var fakeImgSkuObjLst = prodRstObj["sku_list"].Where(s => s["spec"][0]["spec_name"].ParseToString() == specName);
|
||||
var skuImg = prodParam.skus.FirstOrDefault(s => s.spec[0].spec_name == specName)?.thumb_url;
|
||||
foreach (var fakeImgSkuObj in fakeImgSkuObjLst)
|
||||
{
|
||||
fakeImgSkuObj["thumb_url"] = skuImg;
|
||||
}
|
||||
|
||||
//if (1 == 1 && (flag % 2 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
if (1 == 1 && (flag % 9999 == 0 || spec0NameLst.LastOrDefault() == specName))
|
||||
{
|
||||
var rst = ChangeAndUpdateProd(shop, prodRstObj);
|
||||
Thread.Sleep(Randomx.GetId(12000, 15000));
|
||||
continue;
|
||||
|
||||
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;
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (cell != null)
|
||||
{
|
||||
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;
|
||||
|
||||
|
||||
endTime = DateTime.Now;
|
||||
timeSpan = endTime - startTime;
|
||||
duration = timeSpan.TotalSeconds;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (cell != null)
|
||||
{
|
||||
cell.Value = "上传失败 保存失败 " + error + " " + duration.ParseToInt() + "秒";
|
||||
}
|
||||
}));
|
||||
return;
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(12000, 15000));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
string activityErr = SignActivity(shop, prodParam, sign22347, sign20981, sign21365, sign15996);
|
||||
|
||||
//Thread.Sleep(Randomx.GetId(4000, 8000));
|
||||
@@ -3782,6 +3989,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
if (1 == 1 && sign21365)
|
||||
{
|
||||
activityErr += SignActivity21365(shop, prodParam);
|
||||
int times = 0;
|
||||
if (activityErr.Contains("该商品提交了信息修改") && times++ < 3)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(8000, 10000));
|
||||
}
|
||||
}
|
||||
restoreSkuImg2:
|
||||
|
||||
@@ -6444,6 +6656,249 @@ Content-Type: image/jpeg
|
||||
if (cancelAddProd != null)
|
||||
cancelAddProd.Cancel();
|
||||
}
|
||||
|
||||
private void btnTest20981_Click(object sender, EventArgs e)
|
||||
{
|
||||
var shop = GlobalConfig.ShopLoginList.First(s => s.ShopAccount == "阿杰小铺浦哈哈"); // 926699000463 境达外套店
|
||||
var pddApi = new PddApi(shop);
|
||||
pddApi.Data["goods_id"] = "926703971749";
|
||||
var rst = pddApi.PddGoodsDetailGet();
|
||||
|
||||
var prodRstObj = JsonHelper.JObjectParse(rst)["goods_detail_get_response"] as JObject;
|
||||
ChangeAndUpdateProd(shop, prodRstObj);
|
||||
|
||||
#region
|
||||
//pddApi = new PddApi(shop);
|
||||
//pddApi.Data["page"] = 1;
|
||||
//var rst1 = pddApi.PddGoodsLogisticsTemplateGet();
|
||||
|
||||
//rst = rst.Replace("\"shelf_life\":null", "\"shelf_life\":0");
|
||||
//rst = rst.Replace("\"start_production_date\":null", "\"start_production_date\":0");
|
||||
//rst = rst.Replace("\"end_production_date\":null", "\"end_production_date\":0");
|
||||
//ProductDetailBasex tp = JsonHelper.DeserializeJsonToObject<ProductDetailBasex>(rst);
|
||||
//var r = tp.goods_detail_get_response;
|
||||
|
||||
|
||||
//var api = new PddApi(shop);
|
||||
//api.Data.Add("goods_id", r.goods_id.ToString());
|
||||
//api.Data.Add("goods_name", r.goods_name);
|
||||
//api.Data.Add("goods_type", r.goods_type.ToString());
|
||||
//api.Data.Add("cat_id", r.cat_id.ToString());
|
||||
////api.Data.Add("tiny_name", r.tiny_name);
|
||||
//api.Data.Add("country_id", r.country_id.ToString());
|
||||
//api.Data.Add("is_pre_sale", r.is_pre_sale == 1 ? "true" : "false");
|
||||
//api.Data.Add("shipment_limit_second", r.shipment_limit_second.ToString());
|
||||
//api.Data.Add("cost_template_id", r.cost_template_id.ToString());
|
||||
//api.Data.Add("customer_num", r.customer_num.ToString());
|
||||
//api.Data.Add("is_refundable", r.is_refundable == 1 ? "true" : "false");
|
||||
//api.Data.Add("second_hand", r.second_hand == 1 ? "true" : "false");
|
||||
//api.Data.Add("is_folt", r.is_folt == 1 ? "true" : "false");
|
||||
//api.Data.Add("out_goods_id", r.outer_goods_id);
|
||||
//api.Data.Add("hd_thumb_url", r.hd_thumb_url);
|
||||
//api.Data.Add("thumb_url", r.thumb_url);
|
||||
//api.Data.Add("image_url", r.image_url);
|
||||
//api.Data.Add("goods_desc", r.goods_desc);
|
||||
//api.Data.Add("buy_limit", r.buy_limit.ToString());
|
||||
//api.Data.Add("order_limit", r.order_limit.ToString());
|
||||
//api.Data.Add("pre_sale_time", r.pre_sale_time.ToString());
|
||||
//if (r.shelf_life > 0)
|
||||
//{
|
||||
// api.Data.Add("start_production_date", r.start_production_date.ToString());
|
||||
// api.Data.Add("end_production_date", r.end_production_date.ToString());
|
||||
// api.Data.Add("shelf_life", r.shelf_life.ToString());
|
||||
//}
|
||||
//api.Data.Add("market_price", r.market_price.ToString());
|
||||
//api.Data.Add("warehouse", r.warehouse);
|
||||
//api.Data.Add("is_customs", r.is_customs == 1 ? "true" : "false");
|
||||
//api.Data.Add("customs", r.customs);
|
||||
//api.Data.Add("warm_tips", r.warm_tips);
|
||||
//api.Data.Add("fabric", r.fabricx.ToString());
|
||||
//api.Data.Add("fabric_content", r.fabric_contentx.ToString());
|
||||
//api.Data.Add("mall_id", r.mall_id.ToString());
|
||||
////api.FromWeiDian = true;
|
||||
//// 构造sku属性,计算最高价格和最低价格
|
||||
//var skuApiString = "";
|
||||
//long? minPrice = null;
|
||||
//long? maxPrice = null;
|
||||
//if (r.sku_list.Count > 0)
|
||||
// maxPrice = minPrice = r.sku_list[0].multi_price;
|
||||
//for (int i = 0; i < r.sku_list.Count; i++)
|
||||
//{
|
||||
// string spec = "";
|
||||
// for (int j = 0; j < r.sku_list[i].spec.Count; j++)
|
||||
// spec += "," + r.sku_list[i].spec[j].spec_id;
|
||||
// spec = spec.Trim(',');
|
||||
// skuApiString += ",{\"is_onsale\":" + r.sku_list[i].is_onsale + ",\"limit_quantity\":" + r.sku_list[i].limit_quantity +
|
||||
// ",\"price\":\"" + r.sku_list[i].price + "\",\"weight\":1000,\"multi_price\":\"" + r.sku_list[i].multi_price +
|
||||
// "\",\"thumb_url\":\"" + r.sku_list[i].thumb_url + "\",\"out_sku_sn\":\"" + r.sku_list[i].out_sku_sn +
|
||||
// "\",\"quantity\":" + r.sku_list[i].quantity + ",\"spec_id_list\":\"[" + spec + "]\"}";
|
||||
// if (r.sku_list[i].multi_price > maxPrice)
|
||||
// maxPrice = r.sku_list[i].multi_price;
|
||||
// if (r.sku_list[i].multi_price < minPrice)
|
||||
// minPrice = r.sku_list[i].multi_price;
|
||||
//}
|
||||
//skuApiString = skuApiString.Trim(',');
|
||||
//api.Data.Add("sku_list", "[" + skuApiString + "]");
|
||||
//api.Data.Add("carousel_gallery", JsonHelper.SerializeObject(r.carousel_gallery_list));
|
||||
//api.Data.Add("detail_gallery", JsonHelper.SerializeObject(r.detail_gallery_list));
|
||||
//api.Data.Add("list_desc", JsonHelper.SerializeObject(r.list_desc));
|
||||
//api.Data.Add("galleries", JsonHelper.SerializeObject(r.galleries));
|
||||
//api.Data.Add("goods_property", JsonHelper.SerializeObject(r.goods_property_list));
|
||||
//#region 更新属性
|
||||
////int Cat1 = 0;
|
||||
//// 获取拼多多商品属性
|
||||
////ProductCollectBase pb = new ProductCollectBase();
|
||||
////if (PinduoduoCatList.CatIds.ContainsKey(r.cat_id))
|
||||
//// Cat1 = PinduoduoCatList.CatIds[r.cat_id].cat1;
|
||||
////string mustCode = "";
|
||||
////string goods_properties = UploadPinduoduoProperties.GetNew(r.cat_id, Cat1, ref pb, ref shop, out mustCode); // 获取商品属性信息
|
||||
//string goods_properties = "";
|
||||
//for (int i = 0; i < r.goods_property_list.Count; i++)
|
||||
//{
|
||||
// var p = r.goods_property_list[i];
|
||||
// var str = ",{\"template_pid\":" + p.template_pid + ",\"vid\":" + p.vid + ",\"value\":\"" + p.vvalue + "\",\"value_unit\":\"" + p.punit + "\"}";
|
||||
// string temp = BaseRegex.GetMatchRegexString(ref str, @"(\d{2,4}-\d{1,2}-\d{1,2})");
|
||||
// if (!string.IsNullOrEmpty(temp))
|
||||
// str = ",{\"template_pid\":" + p.template_pid + ",\"vid\":" + p.vid + ",\"value\":\"" + DateTime.Now.ToString("yyyy-MM-dd") + "\",\"value_unit\":\"" + p.punit + "\"}";
|
||||
// goods_properties += str;
|
||||
//}
|
||||
//if (!string.IsNullOrEmpty(goods_properties))
|
||||
//{
|
||||
// api.Data.Remove("goods_properties");
|
||||
// api.Data.Add("goods_properties", "[" + goods_properties.Substring(1) + "]");
|
||||
//}
|
||||
//#endregion
|
||||
////api.Data["sync_goods_operate"] = "1"; // 下架商品编辑后保持原样不上架
|
||||
//api.Data["sync_goods_operate"] = "0"; // 下架商品编辑后更改为上架状态
|
||||
|
||||
//rst = api.PddGoodsInformationUpdate();
|
||||
//return;
|
||||
#endregion
|
||||
}
|
||||
|
||||
string ChangeAndUpdateProd(ShopLoginInfo shop, JObject prodRstObj)
|
||||
{
|
||||
try
|
||||
{
|
||||
var pddApi = new PddApi(shop);
|
||||
pddApi.Data["auto_fill_spu_property"] = false;
|
||||
pddApi.Data["bad_fruit_claim"] = prodRstObj["bad_fruit_claim"];
|
||||
pddApi.Data["buy_limit"] = prodRstObj["buy_limit"];
|
||||
pddApi.Data["carousel_gallery"] = JsonHelper.SerializeObject(prodRstObj["carousel_gallery_list"]);
|
||||
pddApi.Data["cat_id"] = prodRstObj["cat_id"];
|
||||
pddApi.Data["cost_template_id"] = prodRstObj["cost_template_id"].ToString();
|
||||
pddApi.Data["country_id"] = prodRstObj["country_id"];
|
||||
pddApi.Data["customer_num"] = prodRstObj["customer_num"];
|
||||
pddApi.Data["customs"] = prodRstObj["customs"];
|
||||
pddApi.Data["delivery_one_day"] = prodRstObj["delivery_one_day"];
|
||||
pddApi.Data["delivery_type"] = prodRstObj["delivery_type"];
|
||||
pddApi.Data["detail_gallery"] = JsonHelper.SerializeObject(prodRstObj["detail_gallery_list"]);
|
||||
pddApi.Data["elec_goods_attributes"] = prodRstObj["elec_goods_attributes"];
|
||||
pddApi.Data["goods_desc"] = prodRstObj["goods_desc"].ParseToString();
|
||||
pddApi.Data["goods_id"] = prodRstObj["goods_id"];
|
||||
pddApi.Data["goods_name"] = prodRstObj["goods_name"].ParseToString();
|
||||
|
||||
string goods_properties = "";
|
||||
for (int i = 0; i < prodRstObj["goods_property_list"].Count(); i++)
|
||||
{
|
||||
var propObj = JObject.Parse(JsonHelper.SerializeObject(prodRstObj["goods_property_list"][i]));
|
||||
propObj["value"] = propObj["vvalue"];
|
||||
propObj["value_unit"] = propObj["punit"];
|
||||
propObj.Remove("vvalue");
|
||||
propObj.Remove("punit");
|
||||
goods_properties += JsonHelper.SerializeObject(propObj) + ",";
|
||||
}
|
||||
pddApi.Data["goods_properties"] = "[" + goods_properties.Trim(',') + "]";
|
||||
|
||||
pddApi.Data["goods_trade_attr"] = prodRstObj["goods_trade_attr"];
|
||||
pddApi.Data["goods_travel_attr"] = prodRstObj["goods_travel_attr"];
|
||||
pddApi.Data["goods_type"] = prodRstObj["goods_type"];
|
||||
//pddApi.Data["ignore_edit_warn"] = false;
|
||||
pddApi.Data["image_url"] = prodRstObj["image_url"];
|
||||
pddApi.Data["invoice_status"] = prodRstObj["invoice_status"];
|
||||
pddApi.Data["is_customs"] = prodRstObj["is_customs"].ParseToInt() == 1;
|
||||
pddApi.Data["is_folt"] = prodRstObj["is_folt"].ParseToInt() == 1; //是否支持假一赔十,false-不支持,true-支持
|
||||
pddApi.Data["is_group_pre_sale"] = prodRstObj["is_group_pre_sale"];
|
||||
pddApi.Data["is_pre_sale"] = prodRstObj["is_pre_sale"].ParseToInt() == 1;
|
||||
pddApi.Data["is_refundable"] = prodRstObj["is_refundable"].ParseToInt() == 1;
|
||||
pddApi.Data["is_sku_pre_sale"] = prodRstObj["is_sku_pre_sale"];
|
||||
pddApi.Data["lack_of_weight_claim"] = prodRstObj["lack_of_weight_claim"];
|
||||
pddApi.Data["local_service_id_list"] = prodRstObj["local_service_id_list"];
|
||||
//if (!prodRstObj["mai_jia_zi_ti"].IsJTokenNullOrEmpty())
|
||||
// pddApi.Data["mai_jia_zi_ti"] = prodRstObj["mai_jia_zi_ti"];
|
||||
pddApi.Data["market_price"] = prodRstObj["market_price"];
|
||||
//pddApi.Data["operate_type"] = 0; // 是否提交草稿,默认提交 0:提交,1:保存
|
||||
pddApi.Data["order_limit"] = prodRstObj["order_limit"];
|
||||
pddApi.Data["origin_country_id"] = prodRstObj["origin_country_id"];
|
||||
pddApi.Data["out_goods_id"] = prodRstObj["out_goods_id"];
|
||||
pddApi.Data["out_source_goods_id"] = prodRstObj["out_source_goods_id"];
|
||||
pddApi.Data["out_source_type"] = prodRstObj["out_source_type"];
|
||||
pddApi.Data["oversea_goods"] = prodRstObj["oversea_goods"];
|
||||
pddApi.Data["oversea_type"] = prodRstObj["oversea_type"];
|
||||
pddApi.Data["pre_sale_time"] = prodRstObj["pre_sale_time"];
|
||||
pddApi.Data["privacy_delivery"] = prodRstObj["privacy_delivery"];
|
||||
pddApi.Data["quan_guo_lian_bao"] = prodRstObj["quan_guo_lian_bao"];
|
||||
pddApi.Data["second_hand"] = prodRstObj["second_hand"].ParseToInt() == 1;
|
||||
//if (!prodRstObj["shang_men_an_zhuang"].IsJTokenNullOrEmpty())
|
||||
// pddApi.Data["shang_men_an_zhuang"] = prodRstObj["shang_men_an_zhuang"];
|
||||
pddApi.Data["shipment_limit_second"] = prodRstObj["shipment_limit_second"];
|
||||
pddApi.Data["shop_group_id"] = prodRstObj["shop_group_id"];
|
||||
if (!prodRstObj["size_spec_id"].IsJTokenNullOrEmpty())
|
||||
pddApi.Data["size_spec_id"] = prodRstObj["size_spec_id"];
|
||||
|
||||
string skuStr = "";
|
||||
for (int i = 0; i < prodRstObj["sku_list"].Count(); i++)
|
||||
{
|
||||
var skuObj = JObject.Parse(JsonHelper.SerializeObject(prodRstObj["sku_list"][i]));
|
||||
skuObj["sku_properties"] = skuObj["sku_property_list"];
|
||||
skuObj["quantity"] = 0;
|
||||
string spec = "";
|
||||
foreach (var specObj in skuObj["spec"])
|
||||
{
|
||||
spec += "," + specObj["spec_id"].ParseToString();
|
||||
}
|
||||
spec = spec.Trim(',');
|
||||
skuObj["spec_id_list"] = "[" + spec + "]";
|
||||
skuObj.Remove("sku_property_list");
|
||||
//skuObj.Remove("sku_properties");
|
||||
skuObj.Remove("spec");
|
||||
skuStr += JsonHelper.SerializeObject(skuObj) + ",";
|
||||
}
|
||||
skuStr = skuStr.Trim(',');
|
||||
pddApi.Data["sku_list"] = "[" + skuStr + "]";
|
||||
|
||||
pddApi.Data["sku_type"] = prodRstObj["sku_type"];
|
||||
//if (!prodRstObj["song_huo_an_zhuang"].IsJTokenNullOrEmpty())
|
||||
// pddApi.Data["song_huo_an_zhuang"] = prodRstObj["song_huo_an_zhuang"];
|
||||
//if (!prodRstObj["song_huo_ru_hu"].IsJTokenNullOrEmpty())
|
||||
// pddApi.Data["song_huo_ru_hu"] = prodRstObj["song_huo_ru_hu"];
|
||||
//pddApi.Data["sync_goods_operate"] = 1; // 提交后上架状态,0:上架,1:保持原样
|
||||
if (prodRstObj["tiny_name"].ParseToString().Length > 8)
|
||||
pddApi.Data["tiny_name"] = prodRstObj["tiny_name"].ParseToString();
|
||||
pddApi.Data["two_pieces_discount"] = prodRstObj["two_pieces_discount"];
|
||||
pddApi.Data["warehouse"] = prodRstObj["warehouse"];
|
||||
pddApi.Data["warm_tips"] = prodRstObj["warm_tips"];
|
||||
pddApi.Data["zhi_huan_bu_xiu"] = prodRstObj["zhi_huan_bu_xiu"];
|
||||
// 医疗器械 不填
|
||||
//pddApi.Data["medical_device_certificate_gallery"] = "";
|
||||
//pddApi.Data["medical_device_confirm"] = "";
|
||||
|
||||
foreach (var key in pddApi.Data.Select(d => d.Key).ToList())
|
||||
{
|
||||
if (pddApi.Data[key].IsNullOrEmpty())
|
||||
{
|
||||
pddApi.Data.Remove(key);
|
||||
}
|
||||
};
|
||||
|
||||
var rst = pddApi.PddGoodsInformationUpdate();
|
||||
return rst;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "{\"success\":false,\"error_msg\"\"接口转换商品失败 " + ex.Message + "\"}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class AddPriceRule
|
||||
|
||||
@@ -4072,7 +4072,9 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//-------------------------------------------------------------------------------------------------------------------------------------
|
||||
//生成主图base64字符串
|
||||
string getImgError;
|
||||
var image = GetHtml.GetUrlImg(img_url.Replace("https://", "http://"), out getImgError);
|
||||
if (!img_url.Contains("wst.wxapp.tc.qq.com"))
|
||||
img_url = img_url.Replace("https://", "http://");
|
||||
var image = GetHtml.GetUrlImg(img_url, out getImgError);
|
||||
if (image == null)
|
||||
image = new Bitmap(800, 800);
|
||||
if (imgWidth == 0 || imgHeight == 0)
|
||||
@@ -4315,7 +4317,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
data += "&in_ext_codes=" + txtExtCodeFilter.Text;
|
||||
data += "&in_spu_ids=" + txtIdFilter.Text;
|
||||
data += "&in_groups=" + cmbGroupFilter.Text;
|
||||
if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "微信店采")
|
||||
if (cmbSourceType.Text != "厂商直采" && cmbSourceType.Text != "1688厂家" && cmbSourceType.Text != "微信店采" && cmbSourceType.Text != "微信小店")
|
||||
data += "&in_cates=" + cmbCateFilter1.Text;
|
||||
else
|
||||
{
|
||||
|
||||
Reference in new issue
Block a user