Files
KJD/Store.Product/Publish/Steps/Wx/SetProductExtCodeStep.cs
T
2026-09-11 19:11:12 +08:00

49 lines
1.6 KiB
C#

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;
/// <summary>
/// 由 WXDBProdUploadForm.UploadProduct 的“设置商品货号”区段迁移。
/// TODO(迁移): 原区段中的 TEMUKJD/WXUpload/窗体服务引用需按 Store.Product 运行时适配逐项核对。
/// </summary>
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;
}
}