updateStoresSkusWithoutSync中

关注商品时,如果有删除的相应门店商品,使用恢复删除(而不是新建)
需要处理,在删除某个门店商品,同步失败的情况下,又把商品重新关注。
所以统一处理成恢复删除的记录,这样避免问题
This commit is contained in:
gazebo
2019-12-24 11:11:13 +08:00
parent f6e7cb2551
commit 904acbf3de
2 changed files with 22 additions and 4 deletions

View File

@@ -1021,11 +1021,24 @@ func updateStoresSkusWithoutSync(ctx *jxcontext.Context, db *dao.DaoDB, storeIDs
setStoreSkuBindStatus(skuBind, model.SyncFlagNewMask)
dao.WrapAddIDCULDEntity(skuBind, userName)
globals.SugarLogger.Debug(utils.Format4Output(skuBind, false))
if err = dao.CreateEntity(db, skuBind); err != nil {
dao.Rollback(db)
return nil, err
if deletedSku := dao.GetDeletedStoreSkuBind(db, skuBind.StoreID, skuBind.SkuID); deletedSku == nil {
if err = dao.CreateEntity(db, skuBind); err != nil {
dao.Rollback(db)
return nil, err
}
num = 1
} else {
// 需要处理,在删除某个门店商品,同步失败的情况下,又把商品重新关注。
// 所以统一处理成恢复删除的记录,这样避免问题
skuBind.ID = deletedSku.ID
// vendorSkuID的赋值意义不大
skuBind.MtwmID = deletedSku.MtwmID
skuBind.EbaiID = deletedSku.EbaiID
if num, err = dao.UpdateEntity(db, skuBind); err != nil {
dao.Rollback(db)
return nil, err
}
}
num = 1
}
} else {
skuBind = &v.StoreSkuBind