pay.callback.log.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package shanghu
  2. import (
  3. orm "duoduo/database"
  4. "time"
  5. )
  6. type PayCallbackLog struct {
  7. ID int64 `gorm:"column:id;type:bigint(20);primary_key;AUTO_INCREMENT" json:"id"`
  8. CallBackLog string `gorm:"column:call_back_log;type:text" json:"call_back_log"`
  9. ErrLog string `gorm:"column:err_log;type:varchar(255)" json:"err_log"` // 处理失败原因
  10. OutTradeNo string `gorm:"column:out_trade_no;type:varchar(255)" json:"out_trade_no"` // 交易id
  11. ThirdTradeNo string `gorm:"column:third_trade_no;type:varchar(255)" json:"third_trade_no"` // 微信交易id
  12. CreateBy int64 `gorm:"column:create_by;type:bigint(20)" json:"create_by"` // 创建者
  13. UpdateBy int64 `gorm:"column:update_by;type:bigint(20)" json:"update_by"` // 更新者
  14. CreatedAt time.Time `gorm:"column:created_at;type:datetime(3)" json:"created_at"` // 创建时间
  15. UpdatedAt time.Time `gorm:"column:updated_at;type:datetime(3)" json:"updated_at"` // 最后更新时间
  16. DeletedAt time.Time `gorm:"column:deleted_at;type:datetime(3);default:null" json:"deleted_at"` // 删除时间
  17. }
  18. func (m *PayCallbackLog) TableName() string {
  19. return "pay_callback_log"
  20. }
  21. func (u *PayCallbackLog) Create() (PayCallbackLog, error) {
  22. var doc PayCallbackLog
  23. var err error
  24. doc = *u
  25. err = orm.ShMysql.Table(u.TableName()).Create(&doc).Error
  26. if err != nil {
  27. return doc, err
  28. }
  29. return doc, nil
  30. }
  31. func (m *PayCallbackLog) UpdateMerchant() error {
  32. if err := orm.ShMysql.Table(m.TableName()).Model(&m).Where("third_trade_no = ? ", m.ThirdTradeNo).Updates(
  33. map[string]interface{}{
  34. "err_log": m.ErrLog,
  35. "updated_at": time.Now()}).Error; err != nil {
  36. return err
  37. }
  38. return nil
  39. }