生成门店商品备份表

This commit is contained in:
苏尹岚
2020-03-06 16:49:44 +08:00
parent fd9611c32a
commit 2fa0858249
4 changed files with 81 additions and 37 deletions

View File

@@ -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
}