package repository import req "sghgogs.com/micro/shopping-service/domain/model/request" func (u *Repository) CreateOrder(order *req.Order) error { // 开始事务 tx := u.db.Begin() // 错误处理 defer func() { if r := recover(); r != nil { tx.Rollback() } }() if err := tx.Create(&order).Error; err != nil { tx.Rollback() return err } return tx.Commit().Error } func (u *Repository) CreateOrderItem(item *req.OrderItem) error { // 开始事务 tx := u.db.Begin() // 错误处理 defer func() { if r := recover(); r != nil { tx.Rollback() } }() if err := tx.Create(&item).Error; err != nil { tx.Rollback() return err } return tx.Commit().Error }