生成门店商品备份表
This commit is contained in:
@@ -3844,3 +3844,48 @@ func getSkuNamePrice(db *dao.DaoDB, skuID int, orgPrice int64) (price int64, nam
|
||||
}
|
||||
return price, nameID
|
||||
}
|
||||
|
||||
func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError bool) (hint string, err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
storeSkuBinds []*model.StoreSkuBind
|
||||
snapshotAt = time.Now()
|
||||
)
|
||||
storeSkuBindHis := &model.StoreSkuBindHistory{
|
||||
SnapshotAt: snapshotAt.AddDate(0, 0, -3),
|
||||
}
|
||||
storeSkuBindHis2 := &model.StoreSkuBindHistory{
|
||||
SnapshotAt: snapshotAt,
|
||||
}
|
||||
dao.DeleteEntity(db, storeSkuBindHis, "SnapShotAt")
|
||||
dao.DeleteEntity(db, storeSkuBindHis2, "SnapShotAt")
|
||||
sql := `SELECT * FROM store_sku_bind WHERE deleted_at = ?`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||
err = dao.GetRows(db, &storeSkuBinds, sql, sqlParams)
|
||||
task := tasksch.NewParallelTask("RefreshOrdersPriceInfo", tasksch.NewParallelConfig().SetIsContinueWhenError(isContinueWhenError), ctx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
v := batchItemList[0].(*model.StoreSkuBind)
|
||||
dao.Begin(db)
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
dao.Rollback(db)
|
||||
panic(r)
|
||||
}
|
||||
}()
|
||||
storeSkuBindHis := &model.StoreSkuBindHistory{}
|
||||
storeSkuBindHis.StoreSkuBind = *v
|
||||
storeSkuBindHis.StoreSkuBindID = v.ID
|
||||
storeSkuBindHis.SnapshotAt = snapshotAt
|
||||
dao.CreateEntity(db, storeSkuBindHis)
|
||||
dao.Commit(db)
|
||||
return retVal, err
|
||||
}, storeSkuBinds)
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
if isAsync {
|
||||
hint = task.GetID()
|
||||
} else {
|
||||
_, err = task.GetResult(0)
|
||||
hint = "1"
|
||||
}
|
||||
return hint, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user