package product import ( "context" "tyapi-server/internal/application/product/dto/commands" "tyapi-server/internal/application/product/dto/queries" "tyapi-server/internal/application/product/dto/responses" ) // SubscriptionApplicationService 订阅应用服务接口 type SubscriptionApplicationService interface { // 订阅管理 UpdateSubscriptionPrice(ctx context.Context, cmd *commands.UpdateSubscriptionPriceCommand) error // 订阅管理 CreateSubscription(ctx context.Context, cmd *commands.CreateSubscriptionCommand) error GetSubscriptionByID(ctx context.Context, query *queries.GetSubscriptionQuery) (*responses.SubscriptionInfoResponse, error) ListSubscriptions(ctx context.Context, query *queries.ListSubscriptionsQuery) (*responses.SubscriptionListResponse, error) // 我的订阅(用户专用) ListMySubscriptions(ctx context.Context, userID string, query *queries.ListSubscriptionsQuery) (*responses.SubscriptionListResponse, error) GetMySubscriptionStats(ctx context.Context, userID string) (*responses.SubscriptionStatsResponse, error) // 业务查询 GetUserSubscriptions(ctx context.Context, query *queries.GetUserSubscriptionsQuery) ([]*responses.SubscriptionInfoResponse, error) GetProductSubscriptions(ctx context.Context, query *queries.GetProductSubscriptionsQuery) ([]*responses.SubscriptionInfoResponse, error) GetSubscriptionUsage(ctx context.Context, subscriptionID string) (*responses.SubscriptionUsageResponse, error) // 统计 GetSubscriptionStats(ctx context.Context) (*responses.SubscriptionStatsResponse, error) // 一键改价 BatchUpdateSubscriptionPrices(ctx context.Context, cmd *commands.BatchUpdateSubscriptionPricesCommand) error }