- remove many useless isForce parameters.

- isSync to isAsync.
This commit is contained in:
gazebo
2018-10-16 11:52:40 +08:00
parent d7de24715b
commit d7b93b8bf2
10 changed files with 74 additions and 48 deletions

View File

@@ -112,7 +112,7 @@ func ReorderCategories(parentID int, categoryIDs []int, userName string) (err er
return err
}
func DeleteCategory(categoryID int, isForce bool, userName string) (num int64, err error) {
func DeleteCategory(categoryID int, userName string) (num int64, err error) {
cat := &model.SkuCategory{}
cat.ID = categoryID
var countInfos []*struct{ Ct int }
@@ -354,7 +354,7 @@ func AddSkuName(skuNameExt *model.SkuNameExt, userName string) (outSkuNameExt *m
return nil, ErrEntityNotExist
}
outSkuNameExt = tmpInfo.SkuNames[0]
err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, -1, false, userName)
err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, -1, userName)
return outSkuNameExt, err
}
@@ -398,7 +398,7 @@ func UpdateSkuName(nameID int, payload map[string]interface{}, userName string)
}, model.FieldJdSyncStatus)
if err = err2; err == nil {
dao.Commit(db)
err2 = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
err2 = CurVendorSync.SyncSku(db, nameID, -1, userName)
}
}
}
@@ -433,7 +433,7 @@ func DeleteSkuName(nameID int, userName string) (num int64, err error) {
if err2 == nil {
dao.Commit(db)
if num2 > 0 {
err = CurVendorSync.SyncSku(db, skuName.ID, -1, false, userName)
err = CurVendorSync.SyncSku(db, skuName.ID, -1, userName)
}
return num, err
}
@@ -453,7 +453,7 @@ func AddSku(nameID int, sku *model.Sku, userName string) (outSkuNameExt *model.S
if err = err2; err == nil {
if result.TotalCount == 1 {
outSkuNameExt = result.SkuNames[0]
err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, sku.ID, false, userName)
err = CurVendorSync.SyncSku(db, outSkuNameExt.SkuName.ID, sku.ID, userName)
} else {
err = ErrEntityNotExist
}
@@ -470,7 +470,7 @@ func UpdateSku(skuID int, payload map[string]interface{}, userName string) (num
db := dao.GetDB()
if num, err = dao.UpdateEntityLogicallyAndUpdateSyncStatus(db, sku, valid, userName, nil, model.FieldJdSyncStatus); err == nil {
if num == 1 {
err = CurVendorSync.SyncSku(db, -1, sku.ID, false, userName)
err = CurVendorSync.SyncSku(db, -1, sku.ID, userName)
} else {
err = ErrEntityNotExist
}
@@ -488,7 +488,7 @@ func DeleteSku(skuID int, userName string) (num int64, err error) {
model.FieldJdSyncStatus: model.SyncFlagDeletedMask,
}, userName, nil); err == nil {
if num == 1 {
err = CurVendorSync.SyncSku(db, -1, sku.ID, false, userName)
err = CurVendorSync.SyncSku(db, -1, sku.ID, userName)
} else {
err = ErrEntityNotExist
}
@@ -504,7 +504,7 @@ func AddSkuNamePlace(nameID, placeCode int, userName string) (outPlaceBind *mode
}
dao.WrapAddIDCULEntity(placeBind, userName)
if err = dao.CreateEntity(db, placeBind); err == nil {
err = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
err = CurVendorSync.SyncSku(db, nameID, -1, userName)
}
return placeBind, err
}
@@ -516,7 +516,7 @@ func DeleteSkuNamePlace(nameID, placeCode int, userName string) (num int64, err
placeBind.PlaceCode = placeCode
if num, err = dao.DeleteEntity(db, placeBind, model.FieldNameID, model.FieldPlaceCode); err == nil {
if num == 1 {
err = CurVendorSync.SyncSku(db, nameID, -1, false, userName)
err = CurVendorSync.SyncSku(db, nameID, -1, userName)
} else {
err = ErrEntityNotExist
}

View File

@@ -235,7 +235,7 @@ func UpdateStoreSkus(storeID int, skuBindInfos []*StoreSkuBindInfo, userName str
skuIDs, err := updateStoreSkusWithoutSync(storeID, skuBindInfos, userName)
if err == nil {
db := dao.GetDB()
err = CurVendorSync.SyncStoresSkus(db, []int{storeID}, skuIDs, false, userName)
_, err = CurVendorSync.SyncStoresSkus(db, nil, []int{storeID}, skuIDs, false, userName)
return int64(len(skuIDs)), err
}
return 0, err
@@ -382,7 +382,7 @@ func UpdateStoresSkus(storeIDs []int, skuBindInfos []*StoreSkuBindInfo, userName
}
}
db := dao.GetDB()
err = CurVendorSync.SyncStoresSkus(db, storeIDs, skuIDs, false, userName)
_, err = CurVendorSync.SyncStoresSkus(db, nil, storeIDs, skuIDs, false, userName)
return int64(len(skuIDs)), err
}

View File

@@ -176,8 +176,8 @@ func (v *VendorSync) SyncStore(db *dao.DaoDB, vendorID, storeID int, isForce boo
return err
}
func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, userName string) (err error) {
globals.SugarLogger.Debugf("SyncSku, nameID:%d, skuID:%d, isForce:%t, userName:%s", nameID, skuID, isForce, userName)
func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, userName string) (err error) {
globals.SugarLogger.Debugf("SyncSku, nameID:%d, skuID:%d, userName:%s", nameID, skuID, userName)
err = v.LoopMultiStoresVendors(db, "SyncSku", userName, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
multiStoresHandler := v.GetMultiStoreHandler(batchItemList[0].(int))
syncStatusFieldName := multiStoresHandler.GetFieldSyncStatusName()
@@ -196,7 +196,7 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
for _, v := range batchItemList {
sku := v.(*model.Sku)
syncStatus := jxutils.GetObjFieldByName(sku, syncStatusFieldName).(int8)
if (skuID == -1 || skuID == sku.ID) && (isForce || syncStatus != 0) {
if (skuID == -1 || skuID == sku.ID) && (syncStatus != 0) {
updateFields := []string{syncStatusFieldName}
if syncStatus&model.SyncFlagDeletedMask != 0 { // 删除
err = multiStoresHandler.DeleteSku(db, sku, userName)
@@ -224,14 +224,14 @@ func (v *VendorSync) SyncSku(db *dao.DaoDB, nameID, skuID int, isForce bool, use
}
//
func (v *VendorSync) SyncStoresSkus(db *dao.DaoDB, storeIDs []int, skuIDs []int, isForce bool, userName string) (err error) {
func (v *VendorSync) SyncStoresSkus(db *dao.DaoDB, vendorIDs []int, storeIDs []int, skuIDs []int, isAsync bool, userName string) (hint string, err error) {
globals.SugarLogger.Debug("SyncStoresSkus")
err = v.LoopStoreVendors(db, "SyncStoresSkus", userName, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
hint, err = v.LoopStoreVendors(db, isAsync, vendorIDs, "SyncStoresSkus", userName, func(batchItemList []interface{}, params ...interface{}) (interface{}, error) {
handler := v.GetStoreHandler(batchItemList[0].(int))
err = handler.SyncStoresSkus(db, storeIDs, skuIDs, isForce, userName)
_, err = handler.SyncStoresSkus(db, storeIDs, skuIDs, false, userName)
return nil, err
})
return err
return hint, err
}
func (v *VendorSync) LoopStoreMap(db *dao.DaoDB, taskName, userName string, storeID int, handler tasksch.WorkFunc) (err error) {
@@ -252,16 +252,36 @@ func (v *VendorSync) LoopMultiStoresVendors(db *dao.DaoDB, taskName, userName st
return makeSyncError(err)
}
func (v *VendorSync) LoopStoreVendors(db *dao.DaoDB, taskName, userName string, handler tasksch.WorkFunc) (err error) {
func (v *VendorSync) LoopStoreVendors(db *dao.DaoDB, isAsync bool, vendorIDs []int, taskName, userName string, handler tasksch.WorkFunc) (hint string, err error) {
if taskName == "" {
taskName = "LoopStoreVendors"
}
var vendorIDMap map[int]int
if len(vendorIDs) != 0 {
vendorIDMap = make(map[int]int)
for _, v := range vendorIDs {
vendorIDMap[v] = 1
}
}
allHandlers := make([]int, len(v.MultiStoreVendorIDs)+len(v.SingleStoreVendorIDs))
copy(allHandlers, v.MultiStoreVendorIDs)
copy(allHandlers[len(v.MultiStoreVendorIDs):], v.SingleStoreVendorIDs)
if vendorIDMap != nil {
count := 0
for _, v := range allHandlers {
if vendorIDMap[v] == 1 {
allHandlers[count] = v
count++
}
}
allHandlers = allHandlers[:count]
}
task := tasksch.RunManagedTask(taskName, false, nil, len(allHandlers), 1, userName, handler, allHandlers)
if isAsync {
return task.ID, nil
}
_, err = task.GetResult(0)
return makeSyncError(err)
return "", makeSyncError(err)
}
func (v *VendorSync) LoopSingleStoreVendors(db *dao.DaoDB, taskName, userName string, handler tasksch.WorkFunc) (err error) {
@@ -283,7 +303,7 @@ func (v *VendorSync) LoopSingleStoreVendors(db *dao.DaoDB, taskName, userName st
return makeSyncError(err)
}
func (v *VendorSync) RefreshSkuIDs(nameID, skuID int, isForce bool, userName string) (err error) {
func (v *VendorSync) RefreshSkuIDs(nameID, skuID int, userName string) (err error) {
sql := `
SELECT t1.id
FROM sku t1