机会商品采集功能
This commit is contained in:
1 parent
dae2bea6ef
commit
c0b3583fef
18 files changed
+913
-157
No files matched your search
@@ -43,7 +43,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
var msg = getPDDProductWidthEdit(shop, sProdId, "", false, notSaveDb);
|
||||
var msg = getPDDProductWidthEdit(shop, sProdId);
|
||||
if (!string.IsNullOrEmpty(msg))
|
||||
{
|
||||
if (!msg.StartsWith("success") && !msg.StartsWith("商品采集保存成功"))
|
||||
@@ -66,7 +66,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return "success";
|
||||
}
|
||||
|
||||
public string getPDDProductWidthEdit(ShopLoginInfo shop, string prodId, string commitId = "", bool isChance = false, bool notSaveDb = false)
|
||||
public string getPDDProductWidthEdit(ShopLoginInfo shop, string prodId, string commitId = "", string catId = "", bool isChance = false, bool notSaveDb = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -140,17 +140,17 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var property_json = "{}";
|
||||
var property_template_json = "{}";
|
||||
PDDProductPropertyInfo property = null;
|
||||
if (!isChance)
|
||||
if (!isChance) // 非机会商品编辑可以直接获取属性
|
||||
{
|
||||
try
|
||||
{
|
||||
var prod_property_rst = GetPddProdProperty(sourceShop, sourceProdId.ToString(), commitId);
|
||||
prod_property_rst = GetHtml.Unicode2String(prod_property_rst);
|
||||
JObject prod_property_obj = JObject.Parse(prod_property_rst);
|
||||
property_json = JsonHelper.SerializeObject(prod_property_obj["result"]);
|
||||
property = JsonHelper.DeserializeJsonToObject<PDDProductPropertyInfo>(property_json);
|
||||
property_template_json = JsonHelper.SerializeObject(prod_property_obj["result"]);
|
||||
property = JsonHelper.DeserializeJsonToObject<PDDProductPropertyInfo>(property_template_json);
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
if (property == null)
|
||||
@@ -159,22 +159,47 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return "商品获取失败!商品属性获取失败!";
|
||||
}
|
||||
}
|
||||
else
|
||||
else // 机会商品通过类目id获取属性
|
||||
{
|
||||
try
|
||||
{
|
||||
var prod_property_rst = get_chance_cat_prop_template(sourceShop, "", sourceProdId.ToString(), commitId);
|
||||
prod_property_rst = GetHtml.Unicode2String(prod_property_rst);
|
||||
JObject prod_property_obj = JObject.Parse(prod_property_rst);
|
||||
property_json = JsonHelper.SerializeObject(prod_property_obj["result"]);
|
||||
property = JsonHelper.DeserializeJsonToObject<PDDProductPropertyInfo>(property_json);
|
||||
var prod_property_template_rst = get_chance_cat_prop_template(sourceShop, catId, sourceProdId.ToString(), commitId);
|
||||
prod_property_template_rst = GetHtml.Unicode2String(prod_property_template_rst);
|
||||
JObject prod_property_template_obj = JObject.Parse(prod_property_template_rst);
|
||||
var prod_property_template_json = JsonHelper.SerializeObject(prod_property_template_obj["result"]["modules"][0]);
|
||||
var temp_module_info = JsonHelper.DeserializeJsonToObject<pdd_module_item>(prod_property_template_json);
|
||||
property = new PDDProductPropertyInfo() { goods_properties = new List<goods_propertie_item>(), sku_properties = new object() };
|
||||
foreach (var propInfo in temp_module_info.propertys)
|
||||
{
|
||||
if (propInfo.goods_properties != null)
|
||||
{
|
||||
goods_propertie_item propParam = new goods_propertie_item() { values = new List<value_item>() };
|
||||
property.goods_properties.Add(propParam);
|
||||
propParam.name = propInfo.name_alias;
|
||||
propParam.ref_pid = propInfo.ref_pid;
|
||||
foreach (var goodsPropInfo in propInfo.goods_properties)
|
||||
{
|
||||
propParam.values.Add(new value_item()
|
||||
{
|
||||
raw_value = goodsPropInfo.v_value,
|
||||
unit = goodsPropInfo.p_unit,
|
||||
value = goodsPropInfo.v_value,
|
||||
vid = goodsPropInfo.vid,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception ex) { }
|
||||
if (property == null)
|
||||
catch (Exception ex)
|
||||
{
|
||||
return "商品获取失败!商品属性获取失败!" + ex.Message;
|
||||
}
|
||||
if (property == null || property.goods_properties == null || property.goods_properties.Count == 0)
|
||||
{
|
||||
//OnInfoReceived("商品获取失败!商品属性获取失败!");
|
||||
return "商品获取失败!商品属性获取失败!";
|
||||
}
|
||||
property_template_json = JsonHelper.SerializeObject(property);
|
||||
}
|
||||
|
||||
|
||||
@@ -378,7 +403,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
|
||||
string product_json = "{\"detail\":" + detail_json + ",\"size\":" + size_json + ",\"decoration\":" + decoration_json +
|
||||
",\"material3\":" + material3_json + ",\"material1\":" + material1_json + ",\"property\":" + property_json + "}";
|
||||
",\"material3\":" + material3_json + ",\"material1\":" + material1_json + ",\"property\":" + property_template_json + "}";
|
||||
|
||||
if (notSaveDb)
|
||||
{
|
||||
@@ -395,6 +420,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
dbProd.from_shop_id = shop.ShopId;
|
||||
dbProd.spu_id = product.goods_id.ParseToString();
|
||||
dbProd.skc_id = product.goods_id.ParseToString();
|
||||
dbProd.price_text = product.sku.Min(s => s.multi_price).ParseToInt() * 0.01m + "-" + product.sku.Max(s => s.multi_price).ParseToInt() * 0.01m;
|
||||
dbProd.main_cat_id = (product.cat_ids?.FirstOrDefault(c => c != null)).ParseToString();
|
||||
dbProd.main_cat_name = (product.cats?.FirstOrDefault(c => !string.IsNullOrEmpty(c))).ParseToString();
|
||||
dbProd.cat_id = (product.cat_id).ParseToString();
|
||||
|
||||
Reference in new issue
Block a user