1.修改订购成功回调通知的逻辑;
This commit is contained in:
parent
d372c69e32
commit
aa4a350da7
|
@ -1,12 +1,14 @@
|
||||||
package migumanage
|
package migumanage
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/gin-gonic/gin"
|
"github.com/gin-gonic/gin"
|
||||||
"github.com/go-admin-team/go-admin-core/logger"
|
"github.com/go-admin-team/go-admin-core/logger"
|
||||||
"go-admin/app/admin/models"
|
"go-admin/app/admin/models"
|
||||||
"go-admin/tools"
|
"go-admin/tools"
|
||||||
"go-admin/tools/app"
|
"go-admin/tools/app"
|
||||||
|
"gorm.io/gorm"
|
||||||
"net/http"
|
"net/http"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
@ -56,26 +58,28 @@ func (e MiGuDeployService) SubscribeNotice(c *gin.Context) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// 查询订单表是否有记录
|
|
||||||
var orderInfo models.MgOrder
|
var orderInfo models.MgOrder
|
||||||
err = e.Orm.Table("mg_order").Where("external_order_id = ?", orderId).First(&orderInfo).Error
|
for i := 0; i < 3; i++ {
|
||||||
if err != nil && err.Error() != "record not found" {
|
// 查询订单表是否有记录
|
||||||
logger.Errorf("SubscribeNotice query mg_order err:", err.Error())
|
err = e.Orm.Table("mg_order").Where("external_order_id = ?", orderId).First(&orderInfo).Error
|
||||||
app.MiGuNoticeOK(c, "failed")
|
if err != nil && err.Error() != "record not found" {
|
||||||
return
|
logger.Errorf("SubscribeNotice query mg_order err:", err.Error())
|
||||||
}
|
|
||||||
|
|
||||||
if err.Error() == "record not found" { // 订单表没有记录
|
|
||||||
if extData == "" { // 没有返回平台订单号
|
|
||||||
logger.Error("extData is null")
|
|
||||||
app.MiGuNoticeOK(c, "failed")
|
app.MiGuNoticeOK(c, "failed")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if errors.Is(err, gorm.ErrRecordNotFound) { // 没有查询到记录,循环查询3次
|
||||||
|
time.Sleep(800 * time.Millisecond)
|
||||||
|
} else if err == nil { // 查询到记录,则跳出循环
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if errors.Is(err, gorm.ErrRecordNotFound) { // 订单表没有记录
|
||||||
// 查询交易流水表
|
// 查询交易流水表
|
||||||
var logInfo models.MgTransactionLog
|
var logInfo models.MgTransactionLog
|
||||||
err = e.Orm.Table("mg_transaction_log").
|
err = e.Orm.Table("mg_transaction_log").
|
||||||
Where("out_trade_no = ? and verification_code <> ''", extData).First(&logInfo).Error
|
Where("link_id = ?", orderId).First(&logInfo).Error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Errorf("SubscribeNotice query mg_transaction_log err:", err.Error())
|
logger.Errorf("SubscribeNotice query mg_transaction_log err:", err.Error())
|
||||||
app.MiGuNoticeOK(c, "failed")
|
app.MiGuNoticeOK(c, "failed")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user