payment.go 394 B

12345678910111213141516171819
  1. package repository
  2. import req "sghgogs.com/micro/shopping-service/domain/model/request"
  3. func (u *Repository) CreatePayment(payment *req.Payment) 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(&payment).Error; err != nil {
  13. tx.Rollback()
  14. return err
  15. }
  16. return tx.Commit().Error
  17. }