- jd SyncStoreSku.

This commit is contained in:
gazebo
2018-09-16 16:37:46 +08:00
parent b9497d028f
commit 30d94bf688
8 changed files with 117 additions and 15 deletions

View File

@@ -83,7 +83,7 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID int, store *model.Store,
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(store.ID); err == nil {
if err = handler.UpdateStore(store.ID, userName); err == nil {
storeMap.SyncStatus = 0
_, err = dao.UpdateEntity(db, storeMap, model.FieldSyncStatus)
}
@@ -103,9 +103,7 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
// handler := GetPurchaseHandler(storeMap.VendorID).(partner.ISingleStoreHandler)
// return nil, nil
// })
globals.SugarLogger.Debug("SyncSku1")
err = v.LoopMultiStoresVendors(db, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
globals.SugarLogger.Debug("SyncSku2")
multiStoresHandler := batchItemList[0].(partner.IMultipleStoresHandler)
var skuList []*model.Sku
cond := make(map[string]interface{})
@@ -118,7 +116,6 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
if err = dao.GetEntities(db, &skuList, cond, true); err == nil {
tasksch.RunTask("", func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
sku := batchItemList[0].(*model.Sku)
globals.SugarLogger.Debug("fuck:", sku)
if (skuID == -1 || skuID == sku.ID) && (isForce || sku.JdSyncStatus != 0) {
updateFields := []string{model.FieldJdSyncStatus}
if sku.JdSyncStatus&model.SyncFlagDeletedMask != 0 { // 删除
@@ -142,8 +139,19 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
return err
}
//
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)
}
return nil, err
})
return err
}