- refactor partner.
This commit is contained in:
@@ -97,9 +97,7 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
|
||||
}
|
||||
// todo 这里应该也需要先置标记
|
||||
if err == nil {
|
||||
if handler := GetPurchaseHandler(model.VendorIDJD); handler != nil {
|
||||
err = handler.(partner.IMultipleStoresHandler).ReorderCategories(parentCat, userName)
|
||||
}
|
||||
err = CurVendorSync.SyncReorderCategories(db, parentID, false, userName)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -264,6 +264,9 @@ func AddStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, storeMap *model.Sto
|
||||
}
|
||||
|
||||
func DeleteStoreVendorMap(db *dao.DaoDB, storeID, vendorID int, userName string) (num int64, err error) {
|
||||
if db == nil {
|
||||
db = dao.GetDB()
|
||||
}
|
||||
storeMap := &model.StoreMap{}
|
||||
if num, err = dao.DeleteEntityLogically(db, storeMap, map[string]interface{}{
|
||||
model.FieldSyncStatus: model.SyncFlagDeletedMask,
|
||||
|
||||
@@ -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