diff --git a/business/jxstore/cms/sync_store_sku.go b/business/jxstore/cms/sync_store_sku.go index f9b9bb45b..f81426d38 100644 --- a/business/jxstore/cms/sync_store_sku.go +++ b/business/jxstore/cms/sync_store_sku.go @@ -218,6 +218,12 @@ func sku2Update(vendorID int, sku *dao.StoreSkuSyncInfo, syncStatus int8) (item // kvs[model.FieldDeletedAt] = time.Now() // } } + } else if syncStatus&model.SyncFlagStockMask != 0 { + if isStoreSkuSyncNeedDelete(sku) { + sku.StoreSkuSyncStatus = 0 + } else { + sku.StoreSkuSyncStatus = sku.StoreSkuSyncStatus & (model.SyncFlagPriceMask | model.SyncFlagSaleMask) + } } else { sku.StoreSkuSyncStatus = sku.StoreSkuSyncStatus & ^syncStatus } @@ -287,6 +293,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo } else if model.IsSyncStatusNew(sku.StoreSkuSyncStatus) { calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage)) if singleStoreHandler == nil { + sku.StoreSkuSyncStatus |= model.SyncFlagSaleMask | model.SyncFlagPriceMask bareSku = storeSkuSyncInfo2Bare(calVendorPrice4StoreSku(sku, storeDetail.PricePercentagePackObj, int(storeDetail.PricePercentage))) stockList = append(stockList, bareSku) priceList = append(priceList, bareSku) @@ -418,7 +425,7 @@ func syncStoreSkuNew(ctx *jxcontext.Context, parentTask tasksch.ITask, isFull bo successList = batchedStoreSkuList } if k == 0 && len(successList) > 0 { - updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagModifiedMask) // ? + updateStoreSku(dao.GetDB(), vendorID, bareSku2Sync(successList), model.SyncFlagStockMask) } return nil, len(successList), err }, ctx, task, list, storeSkuHandler.GetStoreSkusBatchSize(partner.FuncUpdateStoreSkusStock), isContinueWhenError) diff --git a/business/model/model.go b/business/model/model.go index c8c2ca3e5..f7d383c51 100644 --- a/business/model/model.go +++ b/business/model/model.go @@ -73,9 +73,10 @@ const ( SyncFlagSaleMask = 8 // 改了门店商品可售状态必须设置此标志 SyncFlagPriceMask = 16 // 改了门店商品价格必须设置此标志 - SyncFlagSpecMask = 32 + SyncFlagStockMask = 32 // 修改库存同步标识,当前只有多门店平台才会用到 + SyncFlagSpecMask = 64 // 原值32 - SyncFlagStoreSkuOnlyMask = SyncFlagSaleMask | SyncFlagPriceMask + SyncFlagStoreSkuOnlyMask = SyncFlagSaleMask | SyncFlagPriceMask | SyncFlagStockMask SyncFlagStoreSkuModifiedMask = SyncFlagStoreSkuOnlyMask | SyncFlagModifiedMask SyncFlagChangedMask = SyncFlagSpecMask | SyncFlagNewMask | SyncFlagDeletedMask | SyncFlagStoreSkuModifiedMask