package processors import ( "context" "tyapi-server/internal/application/api/commands" "tyapi-server/internal/infrastructure/external/tianyancha" "tyapi-server/internal/infrastructure/external/westdex" "tyapi-server/internal/infrastructure/external/yushan" "tyapi-server/internal/shared/interfaces" ) // CombServiceInterface 组合包服务接口 type CombServiceInterface interface { ProcessCombRequest(ctx context.Context, params []byte, deps *ProcessorDependencies, packageCode string) ([]byte, error) } // ProcessorDependencies 处理器依赖容器 type ProcessorDependencies struct { WestDexService *westdex.WestDexService YushanService *yushan.YushanService TianYanChaService *tianyancha.TianYanChaService Validator interfaces.RequestValidator CombService CombServiceInterface // Changed to interface to break import cycle Options *commands.ApiCallOptions // 添加Options支持 } // NewProcessorDependencies 创建处理器依赖容器 func NewProcessorDependencies( westDexService *westdex.WestDexService, yushanService *yushan.YushanService, tianYanChaService *tianyancha.TianYanChaService, validator interfaces.RequestValidator, combService CombServiceInterface, // Changed to interface ) *ProcessorDependencies { return &ProcessorDependencies{ WestDexService: westDexService, YushanService: yushanService, TianYanChaService: tianYanChaService, Validator: validator, CombService: combService, Options: nil, // 初始化为nil,在调用时设置 } } // WithOptions 设置Options的便捷方法 func (deps *ProcessorDependencies) WithOptions(options *commands.ApiCallOptions) *ProcessorDependencies { deps.Options = options return deps } // ProcessorFunc 处理器函数类型定义 type ProcessorFunc func(ctx context.Context, params []byte, deps *ProcessorDependencies) ([]byte, error)