This commit is contained in:
邹宗楠
2025-05-13 09:34:55 +08:00
parent a1d34525da
commit a0c22a1183

View File

@@ -216,11 +216,12 @@ func skuInfo2Param(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (param *jd
}
func (p *PurchaseHandler) CreateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSyncInfo) (err error) {
jdApi := getAPI(sku.VendorOrgCode)
param := skuInfo2Param(ctx, sku)
if globals.EnableJdStoreWrite {
sku.VendorSkuID, err = getAPI(sku.VendorOrgCode).AddSku2(param)
sku.VendorSkuID, err = jdApi.AddSku2(param)
if err != nil && strings.Contains(err.Error(), jdapi.ErrMustUPC) {
result, err2 := getAPI(sku.VendorOrgCode).BatchAddSkuByUPC([]*jdapi.CreateByUpcParam2{
result, err2 := jdApi.BatchAddSkuByUPC([]*jdapi.CreateByUpcParam2{
&jdapi.CreateByUpcParam2{
OutSkuId: utils.Int2Str(sku.SkuID),
Upc: sku.Upc,
@@ -233,7 +234,29 @@ func (p *PurchaseHandler) CreateSku2(ctx *jxcontext.Context, sku *dao.StoreSkuSy
} else {
err = err2
}
} else if err != nil && strings.Contains(err.Error(), "类目ID不存在") {
recommendCategory, _ := jdApi.GetSkuCategoryBySkuName(param.SkuName)
if recommendCategory != nil && recommendCategory.CategoryId != model.NO {
param.CategoryID = int64(recommendCategory.CategoryId)
sku.VendorSkuID, _ = jdApi.AddSku2(param)
if sku.VendorSkuID != "" {
skuVendorCategory := &model.SkuVendorCategoryMap{
NameID: sku.NameID,
VendorID: model.VendorIDJD,
}
skuVendorCategory.VendorCategoryID = utils.Int2Str(recommendCategory.CategoryId)
if err = dao.GetEntity(dao.GetDB(), skuVendorCategory, "NameID", "VendorID"); err != nil {
dao.WrapAddIDCULDEntity(skuVendorCategory, ctx.GetUserName())
dao.CreateEntity(dao.GetDB(), skuVendorCategory)
} else {
dao.UpdateEntity(dao.GetDB(), skuVendorCategory, "VendorCategoryID")
}
}
//dao.ExecuteSQL(dao.GetDB(), ` UPDATE sku_category SET jd_category_id = ? WHERE id = ? `, []interface{}{recommendCategory.CategoryId, sku.LocalCategoryId}...)
//dao.ExecuteSQL(dao.GetDB(), ` UPDATE sku_name SET jd_category_id = ? WHERE id = ? `, []interface{}{recommendCategory.CategoryId, sku.NameID})
}
}
} else {
sku.VendorSkuID = utils.Int64ToStr(jxutils.GenFakeID())
}