- remove many useless isForce parameters.
- isSync to isAsync.
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user