package repository import req "sghgogs.com/micro/shopping-service/domain/model/request" func (u *Repository) CreateShoppingCart(cart *req.ShoppingCart) error { // 开始事务 tx := u.db.Begin() // 错误处理 defer func() { if r := recover(); r != nil { tx.Rollback() } }() if err := tx.Create(&cart).Error; err != nil { tx.Rollback() return err } return tx.Commit().Error } func (u *Repository) CreateMultipleShoppingCartItem(items []*req.ShoppingCartItem) error { // 开始事务 tx := u.db.Begin() // 错误处理 defer func() { if r := recover(); r != nil { tx.Rollback() } }() if err := tx.Create(&items).Error; err != nil { tx.Rollback() return err } return tx.Commit().Error }