- fix possible transaction bug in UpdateStore

This commit is contained in:
gazebo
2018-10-31 21:10:14 +08:00
parent 26742d4fbf
commit 169a5bd374

View File

@@ -262,10 +262,7 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
db := dao.GetDB() db := dao.GetDB()
dao.Begin(db) dao.Begin(db)
defer func() { defer func() {
if r := recover(); r != nil { dao.Rollback(db)
dao.Rollback(db)
panic(r)
}
}() }()
if num, err = dao.UpdateEntityLogically(db, store, valid, userName, nil); err == nil && num == 1 { if num, err = dao.UpdateEntityLogically(db, store, valid, userName, nil); err == nil && num == 1 {
dummy := &model.StoreMap{} dummy := &model.StoreMap{}
@@ -277,9 +274,6 @@ func UpdateStore(ctx *jxcontext.Context, storeID int, payload map[string]interfa
_, err = CurVendorSync.SyncStore(ctx, db, -1, store.ID, false, userName) _, err = CurVendorSync.SyncStore(ctx, db, -1, store.ID, false, userName)
} }
} }
if err != nil {
dao.Rollback(db)
}
} }
return num, err return num, err
} }