This commit is contained in:
2025-07-20 20:53:26 +08:00
parent 83bf9aea7d
commit 8ad1d7288e
158 changed files with 18156 additions and 13188 deletions

View File

@@ -130,7 +130,8 @@ func (db *DB) GetStats() (map[string]interface{}, error) {
}, nil
}
// BeginTx 开始事务
// BeginTx 开始事务已废弃请使用shared/database.TransactionManager
// @deprecated 请使用 shared/database.TransactionManager
func (db *DB) BeginTx() *gorm.DB {
return db.DB.Begin()
}
@@ -153,47 +154,5 @@ func (db *DB) WithContext(ctx interface{}) *gorm.DB {
return db.DB
}
// 事务包装器
type TxWrapper struct {
tx *gorm.DB
}
// NewTxWrapper 创建事务包装器
func (db *DB) NewTxWrapper() *TxWrapper {
return &TxWrapper{
tx: db.BeginTx(),
}
}
// Commit 提交事务
func (tx *TxWrapper) Commit() error {
return tx.tx.Commit().Error
}
// Rollback 回滚事务
func (tx *TxWrapper) Rollback() error {
return tx.tx.Rollback().Error
}
// GetDB 获取事务数据库实例
func (tx *TxWrapper) GetDB() *gorm.DB {
return tx.tx
}
// WithTx 在事务中执行函数
func (db *DB) WithTx(fn func(*gorm.DB) error) error {
tx := db.BeginTx()
defer func() {
if r := recover(); r != nil {
tx.Rollback()
panic(r)
}
}()
if err := fn(tx); err != nil {
tx.Rollback()
return err
}
return tx.Commit().Error
}
// 注意:事务相关功能已迁移到 shared/database.TransactionManager
// 请使用 TransactionManager 进行事务管理