From 740464a8ec2384f1310f1237f4ce5a3747e6fec0 Mon Sep 17 00:00:00 2001 From: liangzai <2440983361@qq.com> Date: Tue, 3 Jun 2025 21:39:36 +0800 Subject: [PATCH] fix --- app/main/api/internal/logic/pay/alipaycallbacklogic.go | 1 + app/main/api/internal/service/payService.go | 9 ++++++++- app/main/api/internal/svc/servicecontext.go | 5 +++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/main/api/internal/logic/pay/alipaycallbacklogic.go b/app/main/api/internal/logic/pay/alipaycallbacklogic.go index 5c71933..ed3fbbe 100644 --- a/app/main/api/internal/logic/pay/alipaycallbacklogic.go +++ b/app/main/api/internal/logic/pay/alipaycallbacklogic.go @@ -31,6 +31,7 @@ func (l *AlipayCallbackLogic) AlipayCallback(w http.ResponseWriter, r *http.Requ logx.Errorf("支付宝支付回调,%+v", err) return nil } + alipay.ACKNotification(w) return nil } diff --git a/app/main/api/internal/service/payService.go b/app/main/api/internal/service/payService.go index 55691c8..59f5611 100644 --- a/app/main/api/internal/service/payService.go +++ b/app/main/api/internal/service/payService.go @@ -11,6 +11,7 @@ import ( "tyc-server/common/ctxdata" "tyc-server/pkg/core/payment" + "github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/stores/sqlx" ) @@ -22,13 +23,14 @@ type PayService struct { productModel model.ProductModel userAuthModel model.UserAuthModel userModel model.UserModel + asyncService *AsynqService alipayService *payment.AliPayService wechatService *payment.WechatPayService appleService *payment.ApplePayService } // NewPayService 创建支付服务 -func NewPayService(c config.Config, orderModel model.OrderModel, orderRefundModel model.OrderRefundModel, productModel model.ProductModel, userAuthModel model.UserAuthModel, userModel model.UserModel) *PayService { +func NewPayService(c config.Config, orderModel model.OrderModel, orderRefundModel model.OrderRefundModel, productModel model.ProductModel, userAuthModel model.UserAuthModel, userModel model.UserModel, asyncService *AsynqService) *PayService { ps := &PayService{ config: c, orderModel: orderModel, @@ -36,6 +38,7 @@ func NewPayService(c config.Config, orderModel model.OrderModel, orderRefundMode productModel: productModel, userAuthModel: userAuthModel, userModel: userModel, + asyncService: asyncService, } // 根据配置选择性初始化支付服务 @@ -265,6 +268,10 @@ func (p *PayService) HandlePaymentCallback(ctx context.Context, payType string, if err != nil { return fmt.Errorf("更新订单状态失败: %v", err) } + if asyncErr := p.asyncService.SendQueryTask(order.Id); asyncErr != nil { + logx.Errorf("异步任务调度失败: %v", asyncErr) + return asyncErr + } return nil }) } diff --git a/app/main/api/internal/svc/servicecontext.go b/app/main/api/internal/svc/servicecontext.go index 37752c5..a142c1b 100644 --- a/app/main/api/internal/svc/servicecontext.go +++ b/app/main/api/internal/svc/servicecontext.go @@ -139,6 +139,7 @@ func initBusinessServices(c config.Config, models *BaseModels, adminModels *Admi westDexService := service.NewWestDexService(c) yushanService := service.NewYushanService(c) tianjuService := service.NewTianjuService(c) + asynqService := service.NewAsynqService(c) // 初始化API请求服务 apiRequestService := service.NewApiRequestService( @@ -158,15 +159,15 @@ func initBusinessServices(c config.Config, models *BaseModels, adminModels *Admi }) return &BusinessServices{ - PayService: service.NewPayService(c, models.OrderModel, models.OrderRefundModel, models.ProductModel, models.UserAuthModel, models.UserModel), + PayService: service.NewPayService(c, models.OrderModel, models.OrderRefundModel, models.ProductModel, models.UserAuthModel, models.UserModel, asynqService), WestDexService: westDexService, YushanService: yushanService, TianjuService: tianjuService, ApiRequestService: apiRequestService, - AsynqService: service.NewAsynqService(c), VerificationService: service.NewVerificationService(c, westDexService, apiRequestService), DictService: service.NewDictService(adminModels.AdminDictTypeModel, adminModels.AdminDictDataModel), AdminPromotionLinkStatsService: adminPromotionLinkStatsService, + AsynqService: asynqService, } }