- 新版同步逻辑基本OK

This commit is contained in:
gazebo
2019-07-17 17:02:31 +08:00
parent 6bb543f544
commit f6cf334567
7 changed files with 398 additions and 22 deletions

View File

@@ -150,11 +150,18 @@ func AddStoreCategoryMap(db *DaoDB, storeID, categoryID int, vendorID int, vendo
if err = GetEntity(db, storeCat, model.FieldStoreID, model.FieldCategoryID, model.FieldDeletedAt); err != nil && err != orm.ErrNoRows {
return err
}
if vendorID == model.VendorIDEBAI {
if vendorCategoryID != "" {
storeCat.EbaiID = utils.Str2Int64(vendorCategoryID)
if vendorID == model.VendorIDMTWM {
storeCat.MtwmID = vendorCategoryID
storeCat.MtwmSyncStatus = status
} else if vendorID == model.VendorIDEBAI || vendorID == model.VendorIDWSC {
intVendorCategoryID := utils.Str2Int64WithDefault(vendorCategoryID, 0)
if vendorID == model.VendorIDEBAI {
storeCat.EbaiID = intVendorCategoryID
storeCat.EbaiSyncStatus = status
} else {
storeCat.WscID = intVendorCategoryID
storeCat.WscSyncStatus = status
}
storeCat.EbaiSyncStatus = status
} else {
panic("unsupported vendor")
}

View File

@@ -33,11 +33,13 @@ type SkuStoreCatInfo struct {
type StoreSkuSyncInfo struct {
// 平台无关的store sku信息
BindID int `orm:"column(bind_id)"` // 换名的原因是与Sku.ID同名区别
StoreID int `orm:"column(store_id)"`
SkuID int `orm:"column(sku_id)"` // 这个与Sku.ID的区别是SkuID是必然存在的
Price int64
UnitPrice int64
BindID int `orm:"column(bind_id)"` // 换名的原因是与Sku.ID同名区别
StoreID int `orm:"column(store_id)"`
SkuID int `orm:"column(sku_id)"` // 这个与Sku.ID的区别是SkuID是必然存在的
Price int64
UnitPrice int64
VendorPrice int64
// 平台相关的store sku信息
StoreSkuStatus int

View File

@@ -95,6 +95,14 @@ func IsSyncStatusUpdate(syncStatus int8) bool {
return (syncStatus & SyncFlagModifiedMask) != 0
}
func IsSyncStatusSale(syncStatus int8) bool {
return (syncStatus & SyncFlagSaleMask) != 0
}
func IsSyncStatusPrice(syncStatus int8) bool {
return (syncStatus & SyncFlagPriceMask) != 0
}
func IsSyncStatusNeedCreate(syncStatus int8) bool {
return IsSyncStatusNew(syncStatus) && !IsSyncStatusDelete(syncStatus)
}