35 lines
1.7 KiB
Go
35 lines
1.7 KiB
Go
|
|
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
|
||
|
|
}
|