diff --git a/app/admin/service/tm_recharge_log.go b/app/admin/service/tm_recharge_log.go index 807d37c..c1512fc 100644 --- a/app/admin/service/tm_recharge_log.go +++ b/app/admin/service/tm_recharge_log.go @@ -367,6 +367,14 @@ func (e *TmRechargeLog) PayCallBack(logs *[]dto.TmRechargeCallbackReq) error { continue } + var count int64 + e.Orm.Model(&models.TmRechargeLog{}).Where("tx_hash = ?", log.TxHash).Count(&count) + + if count > 0 { + e.Log.Errorf("订单已存在:%s \r\n", log.TxHash) + continue + } + var data models.TmRechargeLog if err := e.Orm.Model(&models.TmRechargeLog{}).Where("order_no = ?", orderNo).First(&data).Error; err != nil { e.Log.Errorf("获取充值记录失败 error:%s \r\n", err) @@ -398,7 +406,7 @@ func (e *TmRechargeLog) PayCallBack(logs *[]dto.TmRechargeCallbackReq) error { ExpireAt: data.ExpireAt.Unix(), } err = e.Orm.Transaction(func(tx *gorm.DB) error { - if err1 := e.Orm.Model(&models.TmRechargeLog{}).Where("id =?", data.Id).Updates(map[string]interface{}{"tx_hash": log.TxHash, "status": 2, "pay_time": now}).Error; err1 != nil { + if err1 := tx.Model(&models.TmRechargeLog{}).Where("id =?", data.Id).Updates(map[string]interface{}{"tx_hash": log.TxHash, "status": 2, "pay_time": now}).Error; err1 != nil { e.Log.Errorf("发起充值记录失败 error:%s \r\n", err1) return err1 } diff --git a/cmd/api/server.go b/cmd/api/server.go index fb00de7..4839e5a 100644 --- a/cmd/api/server.go +++ b/cmd/api/server.go @@ -227,8 +227,8 @@ func initRouter() { r.Use(handler.TlsHandler()) } //r.Use(middleware.Metrics()) - r.Use(common.Sentinel()). - Use(common.RequestId(pkg.TrafficKey)). + // r.Use(common.Sentinel()). + r.Use(common.RequestId(pkg.TrafficKey)). Use(api.SetRequestLogger) common.InitMiddleware(r)