1拼多多报活动优化

This commit is contained in:
wule committed 2026-05-05 13:44:29 +08:00
1 parent 5470863fff
commit 58798805ed
10 files changed
+2832 -70

No files matched your search

+9
View File
@@ -172,6 +172,12 @@
<Compile Include="PDDForms\ProductSelectForms\JstBanPlatformForm.Designer.cs">
<DependentUpon>JstBanPlatformForm.cs</DependentUpon>
</Compile>
<Compile Include="PDDForms\ProductSelectForms\PDDFissionProdByChanceImgForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="PDDForms\ProductSelectForms\PDDFissionProdByChanceImgForm.Designer.cs">
<DependentUpon>PDDFissionProdByChanceImgForm.cs</DependentUpon>
</Compile>
<Compile Include="PDDForms\ProductSelectForms\PDDGetChanceProdByImgForm.cs">
<SubType>Form</SubType>
</Compile>
@@ -1265,6 +1271,9 @@
<EmbeddedResource Include="PDDForms\ProductSelectForms\JstBanPlatformForm.resx">
<DependentUpon>JstBanPlatformForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDFissionProdByChanceImgForm.resx">
<DependentUpon>PDDFissionProdByChanceImgForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDGetChanceProdByImgForm.resx">
<DependentUpon>PDDGetChanceProdByImgForm.cs</DependentUpon>
</EmbeddedResource>
@@ -110,6 +110,9 @@ namespace TemuKJD.PDDForms.AdminForms
case "以图搜品采集":
SetForm(getChanceProdByImgForm.Value);
break;
case "以图搜品裂变":
SetForm(getChanceProdByImgForm.Value);
break;
case "厂家商品采集":
SetForm(getJuShuitanProdForm.Value);
break;
@@ -658,8 +658,10 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
}
}
activityRst1 = activity_goods_info(shop, prodParams.Select(p => p.goods_id.ParseToString()).ToList(), "20981");
//activityRst1 = activity_goods_price_rule(shop, string.Join(",", prodParams.Select(p => p.goods_id.ParseToString()).ToList()), 20981, 27);
// 老接口
//activityRst1 = activity_goods_info(shop, prodParams.Select(p => p.goods_id.ParseToString()).ToList(), "20981");
// 新接口
activityRst1 = activity_goods_price_rule(shop, string.Join(",", prodParams.Select(p => p.goods_id.ParseToString()).ToList()), 20981, 27);
Thread.Sleep(Randomx.GetId(1000, 2000));
Thread.Sleep((moreSleepTime * 1000).ParseToInt());
}
@@ -678,34 +680,70 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
try
{
var jObj = JObject.Parse(activityRst1);
var jStr = JsonHelper.SerializeObject(jObj["result"]["result"]);
var queryActivityInfoRstLst = (JsonHelper.DeserializeJsonToObject<PDDActivitiInfo>(jStr)?.theme_activity_quick_enroll_goods_render_form_list).ToList();
if (queryActivityInfoRstLst == null)
queryActivityInfoRstLst = new List<PDDActivitiGoodsRenderFormItem>();
// 老接口
//var jStr = JsonHelper.SerializeObject(jObj["result"]["result"]);
//var queryActivityInfoRstLst = (JsonHelper.DeserializeJsonToObject<PDDActivitiInfo>(jStr)?.theme_activity_quick_enroll_goods_render_form_list).ToList();
//if (queryActivityInfoRstLst == null)
// queryActivityInfoRstLst = new List<PDDActivitiGoodsRenderFormItem>();
//foreach (var prodParam in prodParams)
//{
// var pddActivitiInfo = queryActivityInfoRstLst.FirstOrDefault(act => act.goods_id == prodParam.goods_id);
// if (pddActivitiInfo == null)
// {
// addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 981查询/新建失败 商品未提交成功或不满足参加活动条件" });
// continue;
// }
// foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
// {
// var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
// if (sku == null)
// {
// addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 981sku丢失 " + activitySku.sku_name });
// break;
// }
// if (sku.multi_price > activitySku.suggest_price)
// {
// // 此处临时用sku69_code记录一下需要改动库存的sku,库存为0的也记录后面再处理
// sku.sku69_code = "yes";
// sku.multi_price = activitySku.suggest_price;
// }
// }
// if (prodParam.skus.All(s => s.sku69_code == "yes"))
// {
// addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 所有活动报价均低于产品期望价格" });
// }
//}
var jStr = JsonHelper.SerializeObject(jObj["result"]);
var pddActivitiPriceInfo = JsonHelper.DeserializeJsonToObject<PDDActivitySuggestPriceInfo>(jStr);
foreach (var prodParam in prodParams)
{
var pddActivitiInfo = queryActivityInfoRstLst.FirstOrDefault(act => act.goods_id == prodParam.goods_id);
if (pddActivitiInfo == null)
var pddActivitiPriceProd = pddActivitiPriceInfo.enroll_goods_rule_vos.FirstOrDefault(p => p.goods_id == prodParam.goods_id);
if (pddActivitiPriceProd == null)
{
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 981查询/新建失败 商品未提交成功或不满足参加活动条件" });
activityErr = "校验失败 981查询/新建失败 商品未提交成功或不满足参加活动条件";
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = activityErr });
continue;
}
foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
foreach (var activitySkuInfo in pddActivitiPriceProd.enroll_rule_param.enroll_goods_big_sale_price.sku_info_list)
{
var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySkuInfo.spec_info_str);
if (sku == null)
{
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 981sku丢失 " + activitySku.sku_name });
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 981sku丢失 " + activitySkuInfo.spec_info_str });
break;
}
if (sku.multi_price > activitySku.suggest_price)
if (sku.multi_price > activitySkuInfo.require_price)
{
// 此处临时用sku69_code记录一下需要改动库存的sku,库存为0的也记录后面再处理
sku.sku69_code = "yes";
sku.multi_price = activitySku.suggest_price;
sku.multi_price = activitySkuInfo.require_price;
}
}
if (prodParam.skus.All(s => s.sku69_code == "yes"))
{
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "校验失败 所有活动报价均低于产品期望价格" });
@@ -754,8 +792,10 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
}
}
activityRst1 = activity_goods_info(shop, prodParams.Select(p => p.goods_id.ParseToString()).ToList(), "20981");
//activityRst1 = activity_goods_price_rule(shop, string.Join(",", prodParams.Select(p => p.goods_id.ParseToString()).ToList()), 20981, 27);
// 老接口
//activityRst1 = activity_goods_info(shop, prodParams.Select(p => p.goods_id.ParseToString()).ToList(), "20981");
// 新接口
activityRst1 = activity_goods_price_rule(shop, string.Join(",", prodParams.Select(p => p.goods_id.ParseToString()).ToList()), 20981, 27);
Thread.Sleep(Randomx.GetId(1000, 2000));
Thread.Sleep((moreSleepTime * 1000).ParseToInt());
}
@@ -773,41 +813,105 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
}
try
{
var jObj = JObject.Parse(activityRst1);
var jStr = JsonHelper.SerializeObject(jObj["result"]["result"]);
var queryActivityInfoRstLst = (JsonHelper.DeserializeJsonToObject<PDDActivitiInfo>(jStr)?.theme_activity_quick_enroll_goods_render_form_list).ToList();
if (queryActivityInfoRstLst == null)
queryActivityInfoRstLst = new List<PDDActivitiGoodsRenderFormItem>();
PDDActivitySubmitParam actSubmitParam = new PDDActivitySubmitParam();
actSubmitParam.activity_id = 20981;
actSubmitParam.enroll_source_ctx.enroll_type = 34; //入口1
//actSubmitParam.enroll_source_ctx.enroll_type = 3; //入口2
actSubmitParam.enroll_source_ctx.scene_full_coverage = "mmsActQuickEnrollMultiActivityRealTableV1"; //入口1
//actSubmitParam.enroll_source_ctx.scene_full_coverage = "mmsActBatchEnrollV1"; //入口2
actSubmitParam.enroll_source_ctx.source_type = "OwnHome_MultiActEnrollMMS"; //入口1
//actSubmitParam.enroll_source_ctx.source_type = "MMSActicon"; //入口2
actSubmitParam.enroll_source_ctx.scene_type = null; //入口1
//actSubmitParam.enroll_source_ctx.scene_type = "ActivityCard"; //入口2
// 入口1
//actSubmitParam.enroll_source_ctx.enroll_type = 34; //入口1
//actSubmitParam.enroll_source_ctx.scene_full_coverage = "mmsActQuickEnrollMultiActivityRealTableV1"; //入口1
//actSubmitParam.enroll_source_ctx.source_type = "OwnHome_MultiActEnrollMMS"; //入口1
//actSubmitParam.enroll_source_ctx.scene_type = null; //入口1
// 入口2
actSubmitParam.enroll_source_ctx.enroll_type = 3; //入口2
actSubmitParam.enroll_source_ctx.scene_full_coverage = "mmsActBatchEnrollV1"; //入口2
actSubmitParam.enroll_source_ctx.source_type = "MMSActicon"; //入口2
actSubmitParam.enroll_source_ctx.scene_type = "ActivityCard"; //入口2
actSubmitParam.create_protocol_vo.need_create_cost_template = true;
var jObj = JObject.Parse(activityRst1);
//var jStr = JsonHelper.SerializeObject(jObj["result"]["result"]);
//var queryActivityInfoRstLst = (JsonHelper.DeserializeJsonToObject<PDDActivitiInfo>(jStr)?.theme_activity_quick_enroll_goods_render_form_list).ToList();
//if (queryActivityInfoRstLst == null)
// queryActivityInfoRstLst = new List<PDDActivitiGoodsRenderFormItem>();
//foreach (var prodParam in prodParams)
//{
// var pddActivitiInfo = queryActivityInfoRstLst.FirstOrDefault(act => act.goods_id == prodParam.goods_id);
// if (pddActivitiInfo == null)
// {
// addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "报名错误 981查询/新建失败 商品未提交成功或不满足参加活动条件" });
// continue;
// }
// foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
// {
// //var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
// var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
// if (sku != null && sku.multi_price == activitySku.suggest_price + 1)
// sku.multi_price -= 1;
// if (sku == null || sku.multi_price > activitySku.suggest_price)
// {
// activityErr = "报名错误 981价格低于产品价 " + activitySku.suggest_price + " < " + sku.multi_price;
// addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = activityErr });
// break;
// }
// }
// if (addActivityFailLst.Any(aa => aa.goods_id == prodParam.goods_id))
// continue;
// var goods_vo_item = new goods_vo_param();
// goods_vo_item.goods_id = prodParam.goods_id;
// var skuSamePrice = prodParam.skus.Max(s => s.multi_price);
// foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
// {
// //var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
// var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
// if (sku == null)
// {
// activityErr = "报名错误 981价格sku未找到";
// addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = activityErr });
// break;
// }
// create_sku_vo_param sku_vo_item = new create_sku_vo_param();
// sku_vo_item.sku_id = activitySku.sku_id;
// sku_vo_item.sku_activity_price = sku.multi_price; //skuSamePrice; //sku.multi_price; //activitySku.suggest_price;
// sku_vo_item.sku_front_ctx_vo = new sku_front_ctx_vo_param()
// {
// filling_sku_price = sku.multi_price, //skuSamePrice, //sku.multi_price, //activitySku.suggest_price,
// gear_rule = activitySku.gear_rule,
// require_price = sku.multi_price, //skuSamePrice, //sku.multi_price, //activitySku.suggest_price,
// };
// goods_vo_item.create_activity_price_vo.create_sku_vos.Add(sku_vo_item);
// }
// if (addActivityFailLst.Any(aa => aa.goods_id == prodParam.goods_id))
// continue;
// if (pddActivitiInfo.need_goods_activity_price == true)
// goods_vo_item.view_confirmed_goods_protocol_vo.confirm_hit_cut_price = true;
// actSubmitParam.goods_volist.Add(goods_vo_item);
//}
var jStr = JsonHelper.SerializeObject(jObj["result"]);
var pddActivitiPriceInfo = JsonHelper.DeserializeJsonToObject<PDDActivitySuggestPriceInfo>(jStr);
foreach (var prodParam in prodParams)
{
var pddActivitiInfo = queryActivityInfoRstLst.FirstOrDefault(act => act.goods_id == prodParam.goods_id);
if (pddActivitiInfo == null)
var pddActivitiPriceProd = pddActivitiPriceInfo.enroll_goods_rule_vos.FirstOrDefault(p => p.goods_id == prodParam.goods_id);
if (pddActivitiPriceProd == null)
{
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = "报名错误 981查询/新建失败 商品未提交成功或不满足参加活动条件" });
activityErr = "报名错误 347查询/新建失败 商品未提交成功或不满足参加活动条件";
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = activityErr });
continue;
}
foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
foreach (var activitySkuInfo in pddActivitiPriceProd.enroll_rule_param.enroll_goods_big_sale_price.sku_info_list)
{
//var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
if (sku != null && sku.multi_price == activitySku.suggest_price + 1)
sku.multi_price -= 1;
if (sku == null || sku.multi_price > activitySku.suggest_price)
var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySkuInfo.spec_info_str);
if (sku == null || sku.multi_price > activitySkuInfo.require_price)
{
activityErr = "报名错误 981价格低于产品价 " + activitySku.suggest_price + " < " + sku.multi_price;
activityErr = "报名错误 981价格低于产品价 " + activitySkuInfo.require_price + " < " + sku.multi_price;
addActivityFailLst.Add(new AddActivityFailInfo { goods_id = prodParam.goods_id, error_msg = activityErr });
break;
}
@@ -818,10 +922,10 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
var goods_vo_item = new goods_vo_param();
goods_vo_item.goods_id = prodParam.goods_id;
var skuSamePrice = prodParam.skus.Max(s => s.multi_price);
foreach (var activitySku in pddActivitiInfo.activity_price_render.sku_activity_price_render_dtolist)
foreach (var activitySkuInfo in pddActivitiPriceProd.enroll_rule_param.enroll_goods_big_sale_price.sku_info_list)
{
//var sku = prodParam.skus.FirstOrDefault(s => s.sku_id == activitySku.sku_id);
var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySku.sku_name);
var sku = prodParam.skus.FirstOrDefault(sk => string.Join(",", sk.spec.Select(s => s.spec_name)) == activitySkuInfo.spec_info_str);
if (sku == null)
{
activityErr = "报名错误 981价格sku未找到";
@@ -830,24 +934,26 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
}
create_sku_vo_param sku_vo_item = new create_sku_vo_param();
sku_vo_item.sku_id = activitySku.sku_id;
sku_vo_item.sku_id = activitySkuInfo.sku_id;
sku_vo_item.sku_activity_price = sku.multi_price; //skuSamePrice; //sku.multi_price; //activitySku.suggest_price;
sku_vo_item.sku_front_ctx_vo = new sku_front_ctx_vo_param()
{
filling_sku_price = sku.multi_price, //skuSamePrice, //sku.multi_price, //activitySku.suggest_price,
gear_rule = activitySku.gear_rule,
require_price = sku.multi_price, //skuSamePrice, //sku.multi_price, //activitySku.suggest_price,
filling_sku_price = sku.multi_price,
gear_rule = activitySkuInfo.gear_rule,
require_price = sku.multi_price,
filling_sku_price_gear_rule = activitySkuInfo.filling_sku_price_gear_rule,
};
goods_vo_item.create_activity_price_vo.create_sku_vos.Add(sku_vo_item);
}
if (addActivityFailLst.Any(aa => aa.goods_id == prodParam.goods_id))
continue;
if (pddActivitiInfo.need_goods_activity_price == true)
goods_vo_item.view_confirmed_goods_protocol_vo.confirm_hit_cut_price = true;
//if (pddActivitiInfo.need_goods_activity_price == true)
goods_vo_item.view_confirmed_goods_protocol_vo.confirm_hit_cut_price = true;
actSubmitParam.goods_volist.Add(goods_vo_item);
}
if (actSubmitParam.goods_volist.Count == 0)
{
return "{\"success\":true,\"msg\":\"" + activityErr + "\",\"fail_list\":" + JsonHelper.SerializeObject(addActivityFailLst) + "}";
@@ -1214,7 +1320,7 @@ namespace TemuKJD.PDDForms.ProductForms.ActivityForms
Thread.Sleep((moreSleepTime * 1000).ParseToInt());
if (!activityRst2.Contains("\"success\":true"))
{
activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 23513, 414);
activityRst2 = activity_goods_price_rule(shop, prodParam.goods_id.ParseToString(), 23513, 414);
Thread.Sleep(Randomx.GetId(1000, 2000));
Thread.Sleep((moreSleepTime * 1000).ParseToInt());
}
@@ -772,7 +772,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"",
"是",
"否"});
this.cmbPddRelation.Location = new System.Drawing.Point(743, 7);
this.cmbPddRelation.Location = new System.Drawing.Point(743, 5);
this.cmbPddRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbPddRelation.Name = "cmbPddRelation";
this.cmbPddRelation.Size = new System.Drawing.Size(47, 25);
@@ -827,7 +827,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.cmbCat2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.cmbCat2.FormattingEnabled = true;
this.cmbCat2.Location = new System.Drawing.Point(278, 75);
this.cmbCat2.Location = new System.Drawing.Point(278, 77);
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat2.Name = "cmbCat2";
this.cmbCat2.Size = new System.Drawing.Size(46, 25);
@@ -912,7 +912,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"机会商品",
"以图搜品",
"外部数据"});
this.cmbSourceType.Location = new System.Drawing.Point(278, 40);
this.cmbSourceType.Location = new System.Drawing.Point(278, 42);
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbSourceType.Name = "cmbSourceType";
this.cmbSourceType.Size = new System.Drawing.Size(46, 25);
@@ -958,7 +958,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"",
"是",
"否"});
this.cmbWxCat.Location = new System.Drawing.Point(622, 5);
this.cmbWxCat.Location = new System.Drawing.Point(622, 7);
this.cmbWxCat.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbWxCat.Name = "cmbWxCat";
this.cmbWxCat.Size = new System.Drawing.Size(47, 25);
@@ -980,7 +980,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
this.cmbSort.Items.AddRange(new object[] {
"入库时间",
"认领总数"});
this.cmbSort.Location = new System.Drawing.Point(381, 40);
this.cmbSort.Location = new System.Drawing.Point(381, 42);
this.cmbSort.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbSort.Name = "cmbSort";
this.cmbSort.Size = new System.Drawing.Size(46, 25);
@@ -1056,7 +1056,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.cmbGroupFilter.FormattingEnabled = true;
this.cmbGroupFilter.Location = new System.Drawing.Point(175, 40);
this.cmbGroupFilter.Location = new System.Drawing.Point(175, 42);
this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbGroupFilter.Name = "cmbGroupFilter";
this.cmbGroupFilter.Size = new System.Drawing.Size(46, 25);
@@ -1071,7 +1071,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"是",
"否",
"导出未拉回"});
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 40);
this.cmbExportToOutServer.Location = new System.Drawing.Point(622, 42);
this.cmbExportToOutServer.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbExportToOutServer.Name = "cmbExportToOutServer";
this.cmbExportToOutServer.Size = new System.Drawing.Size(47, 25);
@@ -1107,7 +1107,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"安全商品",
"违规商品",
"未校验"});
this.cmbWxSafe.Location = new System.Drawing.Point(501, 40);
this.cmbWxSafe.Location = new System.Drawing.Point(501, 42);
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbWxSafe.Name = "cmbWxSafe";
this.cmbWxSafe.Size = new System.Drawing.Size(47, 25);
@@ -1149,7 +1149,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.cmbCat1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.cmbCat1.FormattingEnabled = true;
this.cmbCat1.Location = new System.Drawing.Point(175, 75);
this.cmbCat1.Location = new System.Drawing.Point(175, 77);
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat1.Name = "cmbCat1";
this.cmbCat1.Size = new System.Drawing.Size(46, 25);
@@ -1171,7 +1171,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
//
this.cmbCat3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.cmbCat3.FormattingEnabled = true;
this.cmbCat3.Location = new System.Drawing.Point(381, 75);
this.cmbCat3.Location = new System.Drawing.Point(381, 77);
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat3.Name = "cmbCat3";
this.cmbCat3.Size = new System.Drawing.Size(46, 25);
@@ -1268,7 +1268,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
"是",
"否",
"修复回传未拉回"});
this.cmbHasReturn.Location = new System.Drawing.Point(743, 40);
this.cmbHasReturn.Location = new System.Drawing.Point(743, 42);
this.cmbHasReturn.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbHasReturn.Name = "cmbHasReturn";
this.cmbHasReturn.Size = new System.Drawing.Size(47, 25);
@@ -1638,7 +1638,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms
prodParam.nutrition_gallery = new List<object>();
prodParam.origin_country_id = prodInfo.detail.origin_country_id;
prodParam.origin_is_pre_sale = 0;
prodParam.out_goods_sn = dbProd.ext_code; //prodInfo.detail.out_goods_sn;
var extCode = dbProd.ext_code.IsNullOrEmpty() ? prodInfo.detail.out_goods_sn : dbProd.ext_code;
if (extCode.IsNullOrEmpty() || extCode.Length < 4)
extCode = "EC1" + dbProd.spu_id + "A";
prodParam.out_goods_sn = extCode; //prodInfo.detail.out_goods_sn;
prodParam.oversea_goods = prodInfo.detail.oversea_goods == null ? new object() : prodInfo.detail.oversea_goods;
prodParam.prefillWhitePic = ""; // 白底图,需要研究如何获取
// 白底图
@@ -7466,7 +7471,12 @@ Content-Type: image/jpeg
pddApi.Data["is_refundable"] = false; // 7天无理由退换货
pddApi.Data["market_price"] = prodInfo.detail.market_price;
pddApi.Data["out_goods_id"] = prodInfo.detail.out_goods_sn;
var extCode = dbProd.ext_code.IsNullOrEmpty() ? prodInfo.detail.out_goods_sn : dbProd.ext_code;
if (extCode.IsNullOrEmpty() || extCode.Length < 4)
extCode = "EC1" + dbProd.spu_id + "A";
pddApi.Data["out_goods_id"] = extCode;
pddApi.Data["second_hand"] = false; // 是否二手商品
pddApi.Data["shipment_limit_second"] = 172800;
@@ -9601,7 +9611,10 @@ Content-Type: image/jpeg
//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"] = prodInfo.detail.out_goods_sn; //prodRstObj["out_goods_id"];
var extCode = dbProd.ext_code.IsNullOrEmpty() ? prodInfo.detail.out_goods_sn : dbProd.ext_code;
if (extCode.IsNullOrEmpty() || extCode.Length < 4)
extCode = "EC1" + dbProd.spu_id + "A";
pddApi.Data["out_goods_id"] = extCode; //prodRstObj["out_goods_id"];
if (!prodRstObj["out_source_goods_id"].IsJTokenNullOrEmpty())
pddApi.Data["out_source_goods_id"] = prodRstObj["out_source_goods_id"];
if (!prodRstObj["out_source_type"].IsJTokenNullOrEmpty())
File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopLoginName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCanUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMessage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colChanceId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colImg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colGoodsName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colHotValue.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colCate.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colPrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colDel.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>
@@ -1779,7 +1779,7 @@ namespace TemuKJD.WXForms.ProductForms
#region 设置货号
var extCode = dbProd.ext_code.IsNullOrEmpty() ? prodInfo.detail.out_goods_sn : dbProd.ext_code;
if (extCode.IsNullOrEmpty())
if (extCode.IsNullOrEmpty() || extCode.Length < 4)
{
//extCode = "EC" + Randomx.GetId(1000).ToString().PadLeft(3, '0') + dbProd.spu_id + "C";
extCode = "EC1" + dbProd.spu_id + "A";
+7 -7
View File
@@ -420,7 +420,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat3.DropDownWidth = 1;
this.cmbCat3.FormattingEnabled = true;
this.cmbCat3.IntegralHeight = false;
this.cmbCat3.Location = new System.Drawing.Point(718, 5);
this.cmbCat3.Location = new System.Drawing.Point(718, 7);
this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat3.Name = "cmbCat3";
this.cmbCat3.Size = new System.Drawing.Size(146, 25);
@@ -448,7 +448,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat2.DropDownWidth = 1;
this.cmbCat2.FormattingEnabled = true;
this.cmbCat2.IntegralHeight = false;
this.cmbCat2.Location = new System.Drawing.Point(515, 5);
this.cmbCat2.Location = new System.Drawing.Point(515, 7);
this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat2.Name = "cmbCat2";
this.cmbCat2.Size = new System.Drawing.Size(146, 25);
@@ -476,7 +476,7 @@ namespace TemuKJD.WXForms.ProductForms
this.cmbCat1.DropDownWidth = 1;
this.cmbCat1.FormattingEnabled = true;
this.cmbCat1.IntegralHeight = false;
this.cmbCat1.Location = new System.Drawing.Point(293, 7);
this.cmbCat1.Location = new System.Drawing.Point(293, 5);
this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbCat1.Name = "cmbCat1";
this.cmbCat1.Size = new System.Drawing.Size(146, 25);
@@ -536,7 +536,7 @@ namespace TemuKJD.WXForms.ProductForms
"安全+未校验",
"安全商品",
"未校验"});
this.cmbWxSafe.Location = new System.Drawing.Point(71, 42);
this.cmbWxSafe.Location = new System.Drawing.Point(71, 40);
this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbWxSafe.Name = "cmbWxSafe";
this.cmbWxSafe.Size = new System.Drawing.Size(146, 25);
@@ -559,7 +559,7 @@ namespace TemuKJD.WXForms.ProductForms
//
this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.cmbGroupFilter.FormattingEnabled = true;
this.cmbGroupFilter.Location = new System.Drawing.Point(938, 5);
this.cmbGroupFilter.Location = new System.Drawing.Point(938, 7);
this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbGroupFilter.Name = "cmbGroupFilter";
this.cmbGroupFilter.Size = new System.Drawing.Size(146, 25);
@@ -580,7 +580,7 @@ namespace TemuKJD.WXForms.ProductForms
"机会商品",
"以图搜品",
"外部数据"});
this.cmbSourceType.Location = new System.Drawing.Point(718, 40);
this.cmbSourceType.Location = new System.Drawing.Point(718, 42);
this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbSourceType.Name = "cmbSourceType";
this.cmbSourceType.Size = new System.Drawing.Size(146, 25);
@@ -610,7 +610,7 @@ namespace TemuKJD.WXForms.ProductForms
"",
"是",
"否"});
this.cmbRelation.Location = new System.Drawing.Point(938, 40);
this.cmbRelation.Location = new System.Drawing.Point(938, 42);
this.cmbRelation.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
this.cmbRelation.Name = "cmbRelation";
this.cmbRelation.Size = new System.Drawing.Size(146, 25);