- handle mulitple skus in a single spu when creating spu
This commit is contained in:
@@ -327,14 +327,23 @@ func (p *PurchaseHandler) RefreshAllSkusID(ctx *jxcontext.Context, parentTask ta
|
||||
return rootTask.ID, err
|
||||
}
|
||||
|
||||
// 这个处理JD SPU,补丁形式
|
||||
func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt *tSkuInfoExt, price int, skuName string, shopCategories []int64, addParams map[string]interface{}) (vendorSkuID string, err error) {
|
||||
updateFields := []string{
|
||||
model.FieldJdSyncStatus,
|
||||
}
|
||||
|
||||
// 这样写的原因是在sync里面已经把数据全部取出来了,在这个函数里对于数据库的改动不能体现,打个补丁
|
||||
skuNameJdID := skuExt.JdID
|
||||
if skuNameJdID == 0 {
|
||||
if err = dao.GetEntity(db, &skuExt.SkuName); err != nil {
|
||||
return "", err
|
||||
}
|
||||
skuNameJdID = skuExt.JdID
|
||||
}
|
||||
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除SKU
|
||||
err = api.JdAPI.UpdateSkuBaseInfo(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
|
||||
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && skuExt.JdSyncStatus&model.SyncFlagNewMask == 0 { // 非首次新增SKU
|
||||
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 && skuNameJdID != 0 { // 非首次新增SKU
|
||||
if globals.EnableStoreWrite {
|
||||
vendorSkuID2, err2 := api.JdAPI.AppendSku(utils.Int2Str(skuExt.ID), utils.Int2Str(sku.ID), skuExt.JdCategoryID, shopCategories, skuExt.BrandID, skuName, price, jxutils.IntWeight2Float(sku.Weight), []string{skuExt.Img}, jxStatus2jdStatus(sku.Status), true, addParams)
|
||||
if err = err2; err == nil {
|
||||
@@ -372,7 +381,7 @@ func (p *PurchaseHandler) syncSkuNameAsSpu(db *dao.DaoDB, sku *model.Sku, skuExt
|
||||
err = api.JdAPI.UpdateSpu(utils.Int2Str(skuExt.ID), utils.Params2Map(jdapi.KeyFixedStatus, jdapi.SkuFixedStatusDeleted))
|
||||
}
|
||||
}
|
||||
} else if skuExt.JdSyncStatus&model.SyncFlagNewMask != 0 {
|
||||
} else if skuExt.JdSyncStatus&model.SyncFlagNewMask != 0 && skuNameJdID == 0 {
|
||||
if globals.EnableStoreWrite {
|
||||
spuName := jxutils.ComposeSpuName(skuExt.Prefix, skuExt.Name, 0)
|
||||
skus := []map[string]interface{}{
|
||||
|
||||
Reference in New Issue
Block a user