优化交易状态检查逻辑

This commit is contained in:
2025-06-24 11:36:27 +08:00
parent 2fd17dde22
commit 065a7c77c3
10 changed files with 218 additions and 283 deletions

View File

@@ -45,10 +45,18 @@ func TradeCancelByTask(c *fiber.Ctx) error {
return err
}
// 取消支付
err = s.Trade.CancelTrade(req.TradeNo, req.Method)
// 检查订单状态
err = s.Trade.CheckTradeIfCanceled(&s.CheckTradeData{
TradeNo: req.TradeNo,
Method: req.Method,
})
if err != nil {
slog.Warn("取消交易失败", "trade_no", req.TradeNo, "method", req.Method, "error", err)
slog.Debug(fmt.Sprintf("订单无需取消:%s", err.Error()))
} else {
err = s.Trade.CancelTrade(req.TradeNo, req.Method)
if err != nil {
slog.Warn("取消交易失败", "trade_no", req.TradeNo, "method", req.Method, "error", err)
}
}
return c.SendStatus(fiber.StatusNoContent)