框架优化
This commit is contained in:
+7
-7
@@ -43,32 +43,32 @@ func (that *HoTimeDB) GetType() string {
|
||||
}
|
||||
|
||||
// Action 事务,如果action返回true则执行成功;false则回滚
|
||||
func (that *HoTimeDB) Action(action func(db HoTimeDB) bool) bool {
|
||||
func (that *HoTimeDB) Action(action func(db HoTimeDB) (isSuccess bool)) (isSuccess bool) {
|
||||
db := HoTimeDB{DB: that.DB, HoTimeCache: that.HoTimeCache, Prefix: that.Prefix}
|
||||
tx, err := db.Begin()
|
||||
if err != nil {
|
||||
that.LastErr.SetError(err)
|
||||
return false
|
||||
return isSuccess
|
||||
}
|
||||
|
||||
db.Tx = tx
|
||||
|
||||
result := action(db)
|
||||
isSuccess = action(db)
|
||||
|
||||
if !result {
|
||||
if !isSuccess {
|
||||
err = db.Tx.Rollback()
|
||||
if err != nil {
|
||||
that.LastErr.SetError(err)
|
||||
return false
|
||||
return isSuccess
|
||||
}
|
||||
return result
|
||||
return isSuccess
|
||||
}
|
||||
err = db.Tx.Commit()
|
||||
if err != nil {
|
||||
that.LastErr.SetError(err)
|
||||
return false
|
||||
}
|
||||
return result
|
||||
return true
|
||||
}
|
||||
|
||||
func (that *HoTimeDB) InitDb(err ...*Error) *Error {
|
||||
|
||||
Reference in New Issue
Block a user