生成门店商品备份表优化

This commit is contained in:
苏尹岚
2020-03-06 17:03:55 +08:00
parent 2fa0858249
commit 8f7a023d89

View File

@@ -3859,12 +3859,14 @@ func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError boo
} }
dao.DeleteEntity(db, storeSkuBindHis, "SnapShotAt") dao.DeleteEntity(db, storeSkuBindHis, "SnapShotAt")
dao.DeleteEntity(db, storeSkuBindHis2, "SnapShotAt") dao.DeleteEntity(db, storeSkuBindHis2, "SnapShotAt")
storeList, err := dao.GetStoreList(db, nil, nil, nil, nil, "")
sql := `SELECT * FROM store_sku_bind WHERE deleted_at = ?` sql := `SELECT * FROM store_sku_bind WHERE deleted_at = ?`
sqlParams := []interface{}{utils.DefaultTimeValue} sqlParams := []interface{}{utils.DefaultTimeValue}
err = dao.GetRows(db, &storeSkuBinds, sql, sqlParams) err = dao.GetRows(db, &storeSkuBinds, sql, sqlParams)
task := tasksch.NewParallelTask("RefreshOrdersPriceInfo", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx, task := tasksch.NewParallelTask("RefreshOrdersPriceInfo", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) { func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
v := batchItemList[0].(*model.StoreSkuBind) store := batchItemList[0].(*model.Store)
storeSku, err := dao.GetStoresSkusInfo(db, []int{store.ID}, nil)
dao.Begin(db) dao.Begin(db)
defer func() { defer func() {
if r := recover(); r != nil { if r := recover(); r != nil {
@@ -3872,14 +3874,16 @@ func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError boo
panic(r) panic(r)
} }
}() }()
storeSkuBindHis := &model.StoreSkuBindHistory{} for _, v := range storeSku {
storeSkuBindHis.StoreSkuBind = *v storeSkuBindHis := &model.StoreSkuBindHistory{}
storeSkuBindHis.StoreSkuBindID = v.ID storeSkuBindHis.StoreSkuBind = *v
storeSkuBindHis.SnapshotAt = snapshotAt storeSkuBindHis.StoreSkuBindID = v.ID
dao.CreateEntity(db, storeSkuBindHis) storeSkuBindHis.SnapshotAt = snapshotAt
dao.CreateEntity(db, storeSkuBindHis)
}
dao.Commit(db) dao.Commit(db)
return retVal, err return retVal, err
}, storeSkuBinds) }, storeList)
tasksch.HandleTask(task, nil, true).Run() tasksch.HandleTask(task, nil, true).Run()
if isAsync { if isAsync {
hint = task.GetID() hint = task.GetID()