备份恢复

This commit is contained in:
苏尹岚
2020-03-06 18:31:17 +08:00
parent 0a400582cf
commit bbd4d649c3
2 changed files with 40 additions and 2 deletions

View File

@@ -3885,7 +3885,36 @@ func BackUpStoreSkuBind(ctx *jxcontext.Context, isAsync, isContinueWhenError boo
return hint, err
}
func ReturnStoreSkuBind(ctx *jxcontext.Context, snapshotAt string, storeIDs, skuIDs []int)(err error) {
func ReturnStoreSkuBind(ctx *jxcontext.Context, snapshotAt string, storeIDs, skuIDs []int) (err error) {
var (
spAt = utils.Time2Date(utils.Str2Time(snapshotAt))
db = dao.GetDB()
)
if len(storeIDs) == 0 {
return fmt.Errorf("必须选择一个门店!")
}
if len(storeIDs) > 1 {
return fmt.Errorf("暂时只支持一次操作一个门店!")
}
//删除原门店商品
sql := `DELETE FROM store_sku_bind WHERE store_id IN(` + dao.GenQuestionMarks(len(storeIDs)) + `)`
sqlParams := []interface{}{storeIDs}
_, err = dao.ExecuteSQL(db, sql, sqlParams)
//查询备份的门店商品
var storeHiss []*model.StoreSkuBindHistory
sql2 := `SELECT * FROM store_sku_bind WHERE snapshot_at = ? AND store_id IN(` + dao.GenQuestionMarks(len(storeIDs)) + `)`
sqlParams2 := []interface{}{spAt, storeIDs}
err = dao.GetRows(db, storeHiss, sql2, sqlParams2)
//插入到现在
var storeSkus []*model.StoreSkuBind
for _, v := range storeHiss {
storeSku := &model.StoreSkuBind{}
storeSku = &v.StoreSkuBind
storeSku.ID = v.StoreSkuBindID
storeSkus = append(storeSkus, storeSku)
}
dao.CreateMultiEntities(db, storeSkus)
return err
}

View File

@@ -1962,6 +1962,15 @@ func init() {
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
beego.ControllerComments{
Method: "ReturnStoreSkuBind",
Router: `/ReturnStoreSkuBind`,
AllowHTTPMethods: []string{"post"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:StoreSkuController"],
beego.ControllerComments{
Method: "SendSeckillSkusCountMsg",