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
 | |
| }
 |