shoppingcart.go 727 B

1234567891011121314151617181920212223242526272829303132333435
  1. package repository
  2. import req "sghgogs.com/micro/shopping-service/domain/model/request"
  3. func (u *Repository) CreateShoppingCart(cart *req.ShoppingCart) error {
  4. // 开始事务
  5. tx := u.db.Begin()
  6. // 错误处理
  7. defer func() {
  8. if r := recover(); r != nil {
  9. tx.Rollback()
  10. }
  11. }()
  12. if err := tx.Create(&cart).Error; err != nil {
  13. tx.Rollback()
  14. return err
  15. }
  16. return tx.Commit().Error
  17. }
  18. func (u *Repository) CreateMultipleShoppingCartItem(items []*req.ShoppingCartItem) error {
  19. // 开始事务
  20. tx := u.db.Begin()
  21. // 错误处理
  22. defer func() {
  23. if r := recover(); r != nil {
  24. tx.Rollback()
  25. }
  26. }()
  27. if err := tx.Create(&items).Error; err != nil {
  28. tx.Rollback()
  29. return err
  30. }
  31. return tx.Commit().Error
  32. }