- refactor partner.
This commit is contained in:
@@ -37,15 +37,6 @@ func Init() {
|
||||
}
|
||||
|
||||
func (v *VendorSync) SyncCategory(db *dao.DaoDB, categoryID int, isForce bool, userName string) (err error) {
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
// v.LoopSingleStoreVendors(db, "SyncCategory", userName, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
// storeMap := batchItemList[0].(*model.StoreMap)
|
||||
// handler := GetPurchaseHandler(storeMap.VendorID).(partner.ISingleStoreHandler)
|
||||
// return nil, nil
|
||||
// })
|
||||
|
||||
err = v.LoopMultiStoresVendors(db, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
multiStoresHandler := batchItemList[0].(partner.IMultipleStoresHandler)
|
||||
var cats []*model.SkuCategory
|
||||
@@ -57,11 +48,11 @@ func (v *VendorSync) SyncCategory(db *dao.DaoDB, categoryID int, isForce bool, u
|
||||
tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
cat := batchItemList[0].(*model.SkuCategory)
|
||||
if (cat.JdSyncStatus & model.SyncFlagDeletedMask) != 0 { //删除
|
||||
err = multiStoresHandler.DeleteCategory(cat, userName)
|
||||
err = multiStoresHandler.DeleteCategory(db, cat, userName)
|
||||
} else if (cat.JdSyncStatus&model.SyncFlagNewMask) != 0 || isForce { // 新增
|
||||
err = multiStoresHandler.CreateCategory(cat, userName)
|
||||
err = multiStoresHandler.CreateCategory(db, cat, userName)
|
||||
} else if (cat.JdSyncStatus & model.SyncFlagModifiedMask) != 0 { // 修改
|
||||
err = multiStoresHandler.UpdateCategory(cat, userName)
|
||||
err = multiStoresHandler.UpdateCategory(db, cat, userName)
|
||||
}
|
||||
if err == nil {
|
||||
cat.JdSyncStatus = 0
|
||||
@@ -75,16 +66,21 @@ func (v *VendorSync) SyncCategory(db *dao.DaoDB, categoryID int, isForce bool, u
|
||||
return err
|
||||
}
|
||||
|
||||
func (v *VendorSync) SyncReorderCategories(db *dao.DaoDB, categoryID int, isForce bool, userName string) (err error) {
|
||||
// todo
|
||||
if handler := GetPurchaseHandler(model.VendorIDJD); handler != nil {
|
||||
err = handler.(partner.IMultipleStoresHandler).ReorderCategories(db, categoryID, userName)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID, storeID int, isForce bool, userName string) (err error) {
|
||||
globals.SugarLogger.Debugf("SyncStore, storeID:%d", storeID)
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
err = v.LoopStoreMap(db, storeID, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
storeMap := batchItemList[0].(*model.StoreMap)
|
||||
if (vendorID == -1 || vendorID == storeMap.VendorID) && (isForce || storeMap.SyncStatus != 0) {
|
||||
if handler := GetPurchaseHandler(storeMap.VendorID); handler != nil {
|
||||
if err = handler.UpdateStore(storeID, userName); err == nil {
|
||||
if err = handler.UpdateStore(db, storeID, userName); err == nil {
|
||||
storeMap.SyncStatus = 0
|
||||
_, err = dao.UpdateEntity(db, storeMap, model.FieldSyncStatus)
|
||||
}
|
||||
@@ -96,14 +92,6 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID, storeID int, isForce boo
|
||||
}
|
||||
|
||||
func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, userName string) (err error) {
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
// v.LoopSingleStoreVendors(db, "SyncSku", userName, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
// storeMap := batchItemList[0].(*model.StoreMap)
|
||||
// handler := GetPurchaseHandler(storeMap.VendorID).(partner.ISingleStoreHandler)
|
||||
// return nil, nil
|
||||
// })
|
||||
err = v.LoopMultiStoresVendors(db, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
multiStoresHandler := batchItemList[0].(partner.IMultipleStoresHandler)
|
||||
var skuList []*model.Sku
|
||||
@@ -120,12 +108,12 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
|
||||
if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) {
|
||||
updateFields := []string{model.FieldJdSyncStatus}
|
||||
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
|
||||
err = multiStoresHandler.CreateSku(sku, userName)
|
||||
err = multiStoresHandler.CreateSku(db, sku, userName)
|
||||
updateFields = append(updateFields, model.FieldJdID)
|
||||
} else if sku.JdSyncStatus&model.SyncFlagNewMask != 0 { // 新增
|
||||
err = multiStoresHandler.DeleteSku(sku, userName)
|
||||
err = multiStoresHandler.DeleteSku(db, sku, userName)
|
||||
} else if sku.JdSyncStatus&model.SyncFlagModifiedMask != 0 { // 修改
|
||||
err = multiStoresHandler.UpdateSku(sku, userName)
|
||||
err = multiStoresHandler.UpdateSku(db, sku, userName)
|
||||
}
|
||||
if err == nil {
|
||||
sku.JdSyncStatus = 0
|
||||
@@ -143,13 +131,10 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
|
||||
//
|
||||
func (v *VendorSync) SyncStoreSku(db *dao.DaoDB, storeID int, skuIDs []int, isForce bool, userName string) (err error) {
|
||||
globals.SugarLogger.Debug("SyncStoreSku")
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
err = v.LoopStoreMap(db, storeID, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
|
||||
storeMap := batchItemList[0].(*model.StoreMap)
|
||||
if handler := GetPurchaseHandler(storeMap.VendorID); handler != nil {
|
||||
err = handler.SyncStoreSku(storeID, skuIDs, isForce, userName)
|
||||
err = handler.SyncStoreSkus(db, []int{storeID}, skuIDs, isForce, userName)
|
||||
}
|
||||
return nil, err
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user