feat(01-03): AutoPurchaseHandler 注入 asynqClient,触发佣金并注册处理器(CRITICAL-04/05)
- AutoPurchaseHandler struct 新增 asynqClient *asynq.Client 字段 - NewAutoPurchaseHandler() 新增 asynqClient 参数 - ProcessTask 事务成功后入队 TaskTypeCommission(事务外,防止一致性问题) - pkg/queue/handler.go 新增 registerAutoPurchaseHandler() 方法 - RegisterHandlers() 调用 registerAutoPurchaseHandler()
This commit is contained in:
@@ -71,6 +71,7 @@ func (h *Handler) RegisterHandlers() *asynq.ServeMux {
|
||||
h.registerOrderExpireHandler()
|
||||
h.registerAlertCheckHandler()
|
||||
h.registerDataCleanupHandler()
|
||||
h.registerAutoPurchaseHandler()
|
||||
|
||||
h.logger.Info("所有任务处理器注册完成")
|
||||
return h.mux
|
||||
@@ -204,6 +205,22 @@ func (h *Handler) registerDataCleanupHandler() {
|
||||
h.logger.Info("注册数据清理任务处理器", zap.String("task_type", constants.TaskTypeDataCleanup))
|
||||
}
|
||||
|
||||
func (h *Handler) registerAutoPurchaseHandler() {
|
||||
autoPurchaseHandler := task.NewAutoPurchaseHandler(
|
||||
h.db,
|
||||
h.workerResult.Stores.Order,
|
||||
nil, // AssetRechargeStore:在 NewAutoPurchaseHandler 内按需初始化
|
||||
h.workerResult.Stores.AssetWallet,
|
||||
nil, // AssetWalletTransactionStore:在 NewAutoPurchaseHandler 内按需初始化
|
||||
h.workerResult.Stores.PackageUsage,
|
||||
h.redis,
|
||||
h.asynqClient,
|
||||
h.logger,
|
||||
)
|
||||
h.mux.HandleFunc(constants.TaskTypeAutoPurchaseAfterRecharge, autoPurchaseHandler.ProcessTask)
|
||||
h.logger.Info("注册自动购包任务处理器", zap.String("task_type", constants.TaskTypeAutoPurchaseAfterRecharge))
|
||||
}
|
||||
|
||||
// GetMux 获取 ServeMux(用于启动 Worker 服务器)
|
||||
func (h *Handler) GetMux() *asynq.ServeMux {
|
||||
return h.mux
|
||||
|
||||
Reference in New Issue
Block a user