diff --git a/internal/container/container.go b/internal/container/container.go index d49dbbf..c39ab9c 100644 --- a/internal/container/container.go +++ b/internal/container/container.go @@ -88,6 +88,7 @@ import ( api_app "tyapi-server/internal/application/api" domain_api_repo "tyapi-server/internal/domains/api/repositories" api_services "tyapi-server/internal/domains/api/services" + api_processors "tyapi-server/internal/domains/api/services/processors" finance_services "tyapi-server/internal/domains/finance/services" product_services "tyapi-server/internal/domains/product/services" domain_statistics_repo "tyapi-server/internal/domains/statistics/repositories" @@ -1208,11 +1209,16 @@ func NewContainer() *Container { }, ), // 企业全景报告 PDF 异步预生成(依赖 PDF 缓存目录与公网可访问基址) + // 同时以 processors.QYGLReportPDFScheduler 注入 ApiRequestService fx.Provide( - func(cfg *config.Config, logger *zap.Logger, cache *pdf.PDFCacheManager) *pdf.QYGLReportPDFPregen { - base := config.ResolveAPIPublicBaseURL(&cfg.API) - return pdf.NewQYGLReportPDFPregen(logger, cache, base) - }, + fx.Annotate( + func(cfg *config.Config, logger *zap.Logger, cache *pdf.PDFCacheManager) *pdf.QYGLReportPDFPregen { + base := config.ResolveAPIPublicBaseURL(&cfg.API) + return pdf.NewQYGLReportPDFPregen(logger, cache, base) + }, + fx.As(new(api_processors.QYGLReportPDFScheduler)), + fx.As(fx.Self()), // 同时保留 *pdf.QYGLReportPDFPregen,供 QYGLReportHandler 等注入 + ), ), // 本地文件存储服务 fx.Provide(