using AllBase; using AllBase.Extension; using AllBase.Helper; using AllBase.Model.Config; using AllBase.Model.DBModel; using AllBase.Model.Param.WXParam; using AllBase.Model.Result; using AllBase.Model.Result.PDDResult; using AllBase.Model.Result.WXResult; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Store.Product.Models.PublishParameters.Wx; using Store.Product.Publish; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Drawing2D; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using Work; namespace Store.Product.Publish.Steps.Wx; /// /// 由 WXDBProdUploadForm.UploadProduct 的“设置商品货号”区段迁移。 /// TODO(迁移): 原区段中的 TEMUKJD/WXUpload/窗体服务引用需按 Store.Product 运行时适配逐项核对。 /// public sealed class SetProductExtCodeStep : WxProductPublishStepBase { public override string Description => "设置商品货号"; protected override Task ExecuteProvider(WXPublishContext context, CancellationToken cancellationToken) { extCode = dbProd.ext_code.IsNullOrEmpty() ? prodInfo.detail.out_goods_sn : dbProd.ext_code; if (extCode.IsNullOrEmpty() || extCode.Length <= 10) { //extCode = "EC" + Randomx.GetId(1000).ToString().PadLeft(3, '0') + dbProd.spu_id + "C"; extCode = GetEC1ExtCode(dbProd.spu_id); } upProdParam.product.info.spuCode = extCode; upProdParam.product.info.outProductId = extCode; upProdParam.product.info.out_product_id = extCode; upProdParam.product.productKey.outProductId = extCode; } }