Documentation
¶
Index ¶
- type ActorManagementHandler
- func (h *ActorManagementHandler) AddTeamMember(c *gin.Context)
- func (h *ActorManagementHandler) AssignActorToSeries(c *gin.Context)
- func (h *ActorManagementHandler) AssignToProject(c *gin.Context)
- func (h *ActorManagementHandler) CreateActor(c *gin.Context)
- func (h *ActorManagementHandler) CreateActorContract(c *gin.Context)
- func (h *ActorManagementHandler) CreateProductionTeam(c *gin.Context)
- func (h *ActorManagementHandler) DeleteActor(c *gin.Context)
- func (h *ActorManagementHandler) GetActor(c *gin.Context)
- func (h *ActorManagementHandler) GetActorContracts(c *gin.Context)
- func (h *ActorManagementHandler) GetActorPerformanceStats(c *gin.Context)
- func (h *ActorManagementHandler) GetActorWorks(c *gin.Context)
- func (h *ActorManagementHandler) GetActors(c *gin.Context)
- func (h *ActorManagementHandler) GetExpiringContracts(c *gin.Context)
- func (h *ActorManagementHandler) GetPopularActors(c *gin.Context)
- func (h *ActorManagementHandler) GetProductionTeam(c *gin.Context)
- func (h *ActorManagementHandler) GetProductionTeams(c *gin.Context)
- func (h *ActorManagementHandler) GetProjectAssignments(c *gin.Context)
- func (h *ActorManagementHandler) GetSeriesActors(c *gin.Context)
- func (h *ActorManagementHandler) GetTeamMembers(c *gin.Context)
- func (h *ActorManagementHandler) SearchActors(c *gin.Context)
- func (h *ActorManagementHandler) UpdateActor(c *gin.Context)
- type AdminHandler
- func (h *AdminHandler) BatchContentReview(c *gin.Context)
- func (h *AdminHandler) BatchReviewEpisodes(c *gin.Context)
- func (h *AdminHandler) BatchUpdateUsers(c *gin.Context)
- func (h *AdminHandler) ExportUsers(c *gin.Context)
- func (h *AdminHandler) GetAnalytics(c *gin.Context)
- func (h *AdminHandler) GetContent(c *gin.Context)
- func (h *AdminHandler) GetDashboard(c *gin.Context)
- func (h *AdminHandler) GetOperationLogs(c *gin.Context)
- func (h *AdminHandler) GetPayments(c *gin.Context)
- func (h *AdminHandler) GetPendingReviewEpisodes(c *gin.Context)
- func (h *AdminHandler) GetRevenueStats(c *gin.Context)
- func (h *AdminHandler) GetReviewStats(c *gin.Context)
- func (h *AdminHandler) GetSystemSettings(c *gin.Context)
- func (h *AdminHandler) GetSystemStatus(c *gin.Context)
- func (h *AdminHandler) GetUsers(c *gin.Context)
- func (h *AdminHandler) ReviewContent(c *gin.Context)
- func (h *AdminHandler) ReviewEpisode(c *gin.Context)
- func (h *AdminHandler) UpdateSystemSettings(c *gin.Context)
- func (h *AdminHandler) UpdateUserStatus(c *gin.Context)
- type AdvancedAnalyticsHandler
- func (h *AdvancedAnalyticsHandler) AcknowledgeInsight(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) CreatePredictionModel(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GenerateComprehensiveAnalytics(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GenerateDataInsights(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GetAnalyticsReport(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GetAnalyticsReports(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GetDataInsights(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GetInsightsDashboard(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) GetPredictionModels(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) RunAnomalyDetection(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) RunCorrelationAnalysis(c *gin.Context)
- func (h *AdvancedAnalyticsHandler) RunPredictionAnalysis(c *gin.Context)
- type AdvertisementHandler
- func (h *AdvertisementHandler) GetActiveAds(c *gin.Context)
- func (h *AdvertisementHandler) GetAdStatistics(c *gin.Context)
- func (h *AdvertisementHandler) GetAdsByCategory(c *gin.Context)
- func (h *AdvertisementHandler) ScheduleAds(c *gin.Context)
- func (h *AdvertisementHandler) TrackAdEvent(c *gin.Context)
- type AudioSubtitleHandler
- func (h *AudioSubtitleHandler) AnalyzeAudio(c *gin.Context)
- func (h *AudioSubtitleHandler) CancelTask(c *gin.Context)
- func (h *AudioSubtitleHandler) EnhanceAudio(c *gin.Context)
- func (h *AudioSubtitleHandler) ExtractAudio(c *gin.Context)
- func (h *AudioSubtitleHandler) GenerateSubtitle(c *gin.Context)
- func (h *AudioSubtitleHandler) GetSupportedFormats(c *gin.Context)
- func (h *AudioSubtitleHandler) GetTaskStatus(c *gin.Context)
- func (h *AudioSubtitleHandler) GetUserTasks(c *gin.Context)
- func (h *AudioSubtitleHandler) ProcessAudio(c *gin.Context)
- func (h *AudioSubtitleHandler) ProcessSubtitle(c *gin.Context)
- func (h *AudioSubtitleHandler) SyncSubtitle(c *gin.Context)
- func (h *AudioSubtitleHandler) TranslateSubtitle(c *gin.Context)
- type AudioSubtitleManagementHandler
- func (h *AudioSubtitleManagementHandler) CheckSyncStatus(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) CreateAudioTrack(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) CreateSubtitle(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) DeleteAudioTrack(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) DeleteSubtitle(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GenerateQualityReport(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetAudioQualityCheck(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetAudioQualityHistory(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetAudioTrack(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetAudioTracksByEpisode(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetQualityAnalytics(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetSubtitle(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetSubtitleQualityCheck(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetSubtitleQualityHistory(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) GetSubtitlesByEpisode(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) RunAudioQualityCheck(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) RunSubtitleQualityCheck(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) SetDefaultAudioTrack(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) SetDefaultSubtitle(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) SyncAudioSubtitle(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) UpdateAudioTrack(c *gin.Context)
- func (h *AudioSubtitleManagementHandler) UpdateSubtitle(c *gin.Context)
- type AuditLogHandler
- func (h *AuditLogHandler) ExportAuditLogs(c *gin.Context)
- func (h *AuditLogHandler) GetAdminAuditLogs(c *gin.Context)
- func (h *AuditLogHandler) GetExportTaskStatus(c *gin.Context)
- func (h *AuditLogHandler) GetLoginHistory(c *gin.Context)
- func (h *AuditLogHandler) GetUserActivityLog(c *gin.Context)
- func (h *AuditLogHandler) GetUserAuditDetail(c *gin.Context)
- func (h *AuditLogHandler) GetUserDevices(c *gin.Context)
- func (h *AuditLogHandler) LogoutDevice(c *gin.Context)
- type AuthHandler
- type BanUserRequest
- type CSRFHandler
- type ChatHandler
- func (h *ChatHandler) CreateRoom(c *gin.Context)
- func (h *ChatHandler) DeleteMessage(c *gin.Context)
- func (h *ChatHandler) GetEpisodeRoom(c *gin.Context)
- func (h *ChatHandler) GetMessageByID(c *gin.Context)
- func (h *ChatHandler) GetMessages(c *gin.Context)
- func (h *ChatHandler) GetRoom(c *gin.Context)
- func (h *ChatHandler) GetRoomUsers(c *gin.Context)
- func (h *ChatHandler) GetRooms(c *gin.Context)
- func (h *ChatHandler) JoinRoom(c *gin.Context)
- func (h *ChatHandler) KickUser(c *gin.Context)
- func (h *ChatHandler) MuteUser(c *gin.Context)
- func (h *ChatHandler) SendMessage(c *gin.Context)
- type ConfigHandler
- type ContentHandler
- func (h *ContentHandler) GetCategories(c *gin.Context)
- func (h *ContentHandler) GetEpisodeDetail(c *gin.Context)
- func (h *ContentHandler) GetFeatured(c *gin.Context)
- func (h *ContentHandler) GetLatest(c *gin.Context)
- func (h *ContentHandler) GetSeriesByCategory(c *gin.Context)
- func (h *ContentHandler) GetSeriesDetail(c *gin.Context)
- func (h *ContentHandler) GetTrending(c *gin.Context)
- func (h *ContentHandler) SearchContent(c *gin.Context)
- type ContentManagementHandler
- func (h *ContentManagementHandler) BatchCreateContent(c *gin.Context)
- func (h *ContentManagementHandler) BatchUpdateContent(c *gin.Context)
- func (h *ContentManagementHandler) CheckContentDuplicate(c *gin.Context)
- func (h *ContentManagementHandler) CheckContentQuality(c *gin.Context)
- func (h *ContentManagementHandler) CreateCategory(c *gin.Context)
- func (h *ContentManagementHandler) CreateEpisode(c *gin.Context)
- func (h *ContentManagementHandler) CreateSeries(c *gin.Context)
- func (h *ContentManagementHandler) DeleteCategory(c *gin.Context)
- func (h *ContentManagementHandler) DeleteSeries(c *gin.Context)
- func (h *ContentManagementHandler) ExportContent(c *gin.Context)
- func (h *ContentManagementHandler) GetContentAnalytics(c *gin.Context)
- func (h *ContentManagementHandler) GetContentPerformance(c *gin.Context)
- func (h *ContentManagementHandler) GetContentSchedule(c *gin.Context)
- func (h *ContentManagementHandler) GetImportTemplate(c *gin.Context)
- func (h *ContentManagementHandler) ImportContent(c *gin.Context)
- func (h *ContentManagementHandler) ScheduleContent(c *gin.Context)
- func (h *ContentManagementHandler) UpdateCategory(c *gin.Context)
- func (h *ContentManagementHandler) UpdateSeries(c *gin.Context)
- type ContentSecurityHandler
- func (h *ContentSecurityHandler) AssignReviewTasks(c *gin.Context)
- func (h *ContentSecurityHandler) CreateAIModel(c *gin.Context)
- func (h *ContentSecurityHandler) CreateReviewWorkflow(c *gin.Context)
- func (h *ContentSecurityHandler) CreateViolationReport(c *gin.Context)
- func (h *ContentSecurityHandler) GetAIModels(c *gin.Context)
- func (h *ContentSecurityHandler) GetActiveTakedowns(c *gin.Context)
- func (h *ContentSecurityHandler) GetComplianceMetrics(c *gin.Context)
- func (h *ContentSecurityHandler) GetPendingScans(c *gin.Context)
- func (h *ContentSecurityHandler) GetReviewQueue(c *gin.Context)
- func (h *ContentSecurityHandler) GetReviewWorkflows(c *gin.Context)
- func (h *ContentSecurityHandler) GetReviewerPerformance(c *gin.Context)
- func (h *ContentSecurityHandler) GetSecurityAnalytics(c *gin.Context)
- func (h *ContentSecurityHandler) GetSecurityScan(c *gin.Context)
- func (h *ContentSecurityHandler) GetUserReviewTasks(c *gin.Context)
- func (h *ContentSecurityHandler) GetViolationReports(c *gin.Context)
- func (h *ContentSecurityHandler) ProcessViolationReport(c *gin.Context)
- func (h *ContentSecurityHandler) RestoreContent(c *gin.Context)
- func (h *ContentSecurityHandler) StartSecurityScan(c *gin.Context)
- func (h *ContentSecurityHandler) SubmitReviewDecision(c *gin.Context)
- func (h *ContentSecurityHandler) TakedownContent(c *gin.Context)
- func (h *ContentSecurityHandler) TrainAIModel(c *gin.Context)
- type CopyrightManagementHandler
- func (h *CopyrightManagementHandler) ApproveLicense(c *gin.Context)
- func (h *CopyrightManagementHandler) CalculateRoyalty(c *gin.Context)
- func (h *CopyrightManagementHandler) CheckLicenseCompliance(c *gin.Context)
- func (h *CopyrightManagementHandler) CreateCopyright(c *gin.Context)
- func (h *CopyrightManagementHandler) CreateDispute(c *gin.Context)
- func (h *CopyrightManagementHandler) CreateLicense(c *gin.Context)
- func (h *CopyrightManagementHandler) GenerateRoyaltyReport(c *gin.Context)
- func (h *CopyrightManagementHandler) GetActiveDisputes(c *gin.Context)
- func (h *CopyrightManagementHandler) GetComplianceReport(c *gin.Context)
- func (h *CopyrightManagementHandler) GetCopyright(c *gin.Context)
- func (h *CopyrightManagementHandler) GetCopyrightAnalytics(c *gin.Context)
- func (h *CopyrightManagementHandler) GetCopyrightLicenses(c *gin.Context)
- func (h *CopyrightManagementHandler) GetCopyrights(c *gin.Context)
- func (h *CopyrightManagementHandler) GetExpiringCopyrights(c *gin.Context)
- func (h *CopyrightManagementHandler) GetLicense(c *gin.Context)
- func (h *CopyrightManagementHandler) GetLicenses(c *gin.Context)
- func (h *CopyrightManagementHandler) GetPendingRoyalties(c *gin.Context)
- func (h *CopyrightManagementHandler) ProcessRoyaltyPayment(c *gin.Context)
- func (h *CopyrightManagementHandler) ResolveDispute(c *gin.Context)
- func (h *CopyrightManagementHandler) VerifyCopyright(c *gin.Context)
- type CreatorHandler
- func (h *CreatorHandler) BatchUploadEpisodes(c *gin.Context)
- func (h *CreatorHandler) CreateProject(c *gin.Context)
- func (h *CreatorHandler) DeleteProject(c *gin.Context)
- func (h *CreatorHandler) GetAnalytics(c *gin.Context)
- func (h *CreatorHandler) GetEarnings(c *gin.Context)
- func (h *CreatorHandler) GetPendingReview(c *gin.Context)
- func (h *CreatorHandler) GetProject(c *gin.Context)
- func (h *CreatorHandler) GetProjectAnalytics(c *gin.Context)
- func (h *CreatorHandler) GetProjects(c *gin.Context)
- func (h *CreatorHandler) GetReviewHistory(c *gin.Context)
- func (h *CreatorHandler) GetWithdrawHistory(c *gin.Context)
- func (h *CreatorHandler) PublishProject(c *gin.Context)
- func (h *CreatorHandler) RequestWithdraw(c *gin.Context)
- func (h *CreatorHandler) UpdateProject(c *gin.Context)
- func (h *CreatorHandler) UploadEpisode(c *gin.Context)
- type DanmakuHandler
- func (h *DanmakuHandler) BanUser(c *gin.Context)
- func (h *DanmakuHandler) DeleteDanmaku(c *gin.Context)
- func (h *DanmakuHandler) GetDanmakus(c *gin.Context)
- func (h *DanmakuHandler) GetDanmakusByTimeRange(c *gin.Context)
- func (h *DanmakuHandler) GetOnlineUsers(c *gin.Context)
- func (h *DanmakuHandler) GetRoomStats(c *gin.Context)
- func (h *DanmakuHandler) SendDanmaku(c *gin.Context)
- func (h *DanmakuHandler) WebSocketDanmaku(c *gin.Context)
- type DownloadHandler
- func (h *DownloadHandler) CancelDownload(c *gin.Context)
- func (h *DownloadHandler) DeleteDownload(c *gin.Context)
- func (h *DownloadHandler) DownloadFile(c *gin.Context)
- func (h *DownloadHandler) GetDownloadHistory(c *gin.Context)
- func (h *DownloadHandler) GetDownloadProgress(c *gin.Context)
- func (h *DownloadHandler) GetDownloadQuota(c *gin.Context)
- func (h *DownloadHandler) GetUserDownloads(c *gin.Context)
- func (h *DownloadHandler) PauseDownload(c *gin.Context)
- func (h *DownloadHandler) ResumeDownload(c *gin.Context)
- func (h *DownloadHandler) RetryDownload(c *gin.Context)
- func (h *DownloadHandler) StartDownload(c *gin.Context)
- type EmailConfigHandler
- func (h *EmailConfigHandler) CreateEmailProvider(c *gin.Context)
- func (h *EmailConfigHandler) DeleteEmailProvider(c *gin.Context)
- func (h *EmailConfigHandler) GetEmailProvider(c *gin.Context)
- func (h *EmailConfigHandler) GetEmailProviders(c *gin.Context)
- func (h *EmailConfigHandler) SetDefaultEmailProvider(c *gin.Context)
- func (h *EmailConfigHandler) TestEmailProvider(c *gin.Context)
- func (h *EmailConfigHandler) ToggleEmailProviderStatus(c *gin.Context)
- func (h *EmailConfigHandler) UpdateEmailProvider(c *gin.Context)
- type EpisodeWithCreator
- type ErrorResponse
- type FinanceManagementHandler
- func (h *FinanceManagementHandler) ApproveExpense(c *gin.Context)
- func (h *FinanceManagementHandler) CalculateCreatorEarnings(c *gin.Context)
- func (h *FinanceManagementHandler) ConfirmCreatorEarnings(c *gin.Context)
- func (h *FinanceManagementHandler) CreateBudget(c *gin.Context)
- func (h *FinanceManagementHandler) CreateExpense(c *gin.Context)
- func (h *FinanceManagementHandler) GenerateFinancialReport(c *gin.Context)
- func (h *FinanceManagementHandler) GetBudgetAlerts(c *gin.Context)
- func (h *FinanceManagementHandler) GetBudgetStatus(c *gin.Context)
- func (h *FinanceManagementHandler) GetBudgets(c *gin.Context)
- func (h *FinanceManagementHandler) GetCashFlowStatement(c *gin.Context)
- func (h *FinanceManagementHandler) GetCreatorEarnings(c *gin.Context)
- func (h *FinanceManagementHandler) GetCreatorEarningsDetail(c *gin.Context)
- func (h *FinanceManagementHandler) GetExpenses(c *gin.Context)
- func (h *FinanceManagementHandler) GetFinancialAnalytics(c *gin.Context)
- func (h *FinanceManagementHandler) GetFinancialReport(c *gin.Context)
- func (h *FinanceManagementHandler) GetFinancialReports(c *gin.Context)
- func (h *FinanceManagementHandler) GetPendingWithdrawals(c *gin.Context)
- func (h *FinanceManagementHandler) GetProfitLossStatement(c *gin.Context)
- func (h *FinanceManagementHandler) GetReconciliations(c *gin.Context)
- func (h *FinanceManagementHandler) GetRevenueProjection(c *gin.Context)
- func (h *FinanceManagementHandler) GetWithdrawRequests(c *gin.Context)
- func (h *FinanceManagementHandler) ProcessWithdrawRequest(c *gin.Context)
- func (h *FinanceManagementHandler) ReviewWithdrawRequest(c *gin.Context)
- func (h *FinanceManagementHandler) StartReconciliation(c *gin.Context)
- type FollowHandler
- func (h *FollowHandler) GetFollowStats(c *gin.Context)
- func (h *FollowHandler) GetFollowers(c *gin.Context)
- func (h *FollowHandler) GetFollowing(c *gin.Context)
- func (h *FollowHandler) GetRecommendedUsers(c *gin.Context)
- func (h *FollowHandler) GetUserProfile(c *gin.Context)
- func (h *FollowHandler) ToggleFollow(c *gin.Context)
- type InternationalizationHandler
- func (h *InternationalizationHandler) AutoTranslate(c *gin.Context)
- func (h *InternationalizationHandler) BatchCreateTranslations(c *gin.Context)
- func (h *InternationalizationHandler) CreateLanguage(c *gin.Context)
- func (h *InternationalizationHandler) CreateTranslation(c *gin.Context)
- func (h *InternationalizationHandler) CreateTranslationProject(c *gin.Context)
- func (h *InternationalizationHandler) DeleteLanguage(c *gin.Context)
- func (h *InternationalizationHandler) ExportTranslations(c *gin.Context)
- func (h *InternationalizationHandler) GetAllLocalizationConfigs(c *gin.Context)
- func (h *InternationalizationHandler) GetContentTranslations(c *gin.Context)
- func (h *InternationalizationHandler) GetLanguage(c *gin.Context)
- func (h *InternationalizationHandler) GetLanguageCompletionStats(c *gin.Context)
- func (h *InternationalizationHandler) GetLanguages(c *gin.Context)
- func (h *InternationalizationHandler) GetLocalizationConfig(c *gin.Context)
- func (h *InternationalizationHandler) GetLocalizedContent(c *gin.Context)
- func (h *InternationalizationHandler) GetSupportedLanguages(c *gin.Context)
- func (h *InternationalizationHandler) GetTranslationProjects(c *gin.Context)
- func (h *InternationalizationHandler) GetTranslationStats(c *gin.Context)
- func (h *InternationalizationHandler) GetTranslations(c *gin.Context)
- func (h *InternationalizationHandler) ImportTranslations(c *gin.Context)
- func (h *InternationalizationHandler) SetDefaultLanguage(c *gin.Context)
- func (h *InternationalizationHandler) TranslateContent(c *gin.Context)
- func (h *InternationalizationHandler) UpdateLanguage(c *gin.Context)
- func (h *InternationalizationHandler) UpdateLocalizationConfig(c *gin.Context)
- func (h *InternationalizationHandler) UpdateTranslation(c *gin.Context)
- func (h *InternationalizationHandler) ValidateTranslations(c *gin.Context)
- type LiveHandler
- func (h *LiveHandler) BanUser(c *gin.Context)
- func (h *LiveHandler) CreateLiveRoom(c *gin.Context)
- func (h *LiveHandler) CreateSchedule(c *gin.Context)
- func (h *LiveHandler) DeleteLiveRoom(c *gin.Context)
- func (h *LiveHandler) GetCreatorLiveRooms(c *gin.Context)
- func (h *LiveHandler) GetCreatorSchedules(c *gin.Context)
- func (h *LiveHandler) GetLiveGifts(c *gin.Context)
- func (h *LiveHandler) GetLiveLiveRooms(c *gin.Context)
- func (h *LiveHandler) GetLiveRoom(c *gin.Context)
- func (h *LiveHandler) GetLiveStats(c *gin.Context)
- func (h *LiveHandler) GetRoomGiftRecords(c *gin.Context)
- func (h *LiveHandler) GetRoomStats(c *gin.Context)
- func (h *LiveHandler) GetRooms(c *gin.Context)
- func (h *LiveHandler) GetUpcomingSchedules(c *gin.Context)
- func (h *LiveHandler) JoinRoom(c *gin.Context)
- func (h *LiveHandler) LeaveRoom(c *gin.Context)
- func (h *LiveHandler) MuteUser(c *gin.Context)
- func (h *LiveHandler) SendGift(c *gin.Context)
- func (h *LiveHandler) StartLive(c *gin.Context)
- func (h *LiveHandler) StopLive(c *gin.Context)
- func (h *LiveHandler) UpdateLiveRoom(c *gin.Context)
- type MediaDeliveryHandler
- type MediaUploadHandler
- func (h *MediaUploadHandler) BatchUploadThumbnails(c *gin.Context)
- func (h *MediaUploadHandler) BatchUploadVideos(c *gin.Context)
- func (h *MediaUploadHandler) CheckUploadStatus(c *gin.Context)
- func (h *MediaUploadHandler) DeleteMediaFile(c *gin.Context)
- func (h *MediaUploadHandler) GetBatchUploadProgress(c *gin.Context)
- func (h *MediaUploadHandler) GetMediaLibrary(c *gin.Context)
- func (h *MediaUploadHandler) GetUploadProgress(c *gin.Context)
- func (h *MediaUploadHandler) InitResumableUpload(c *gin.Context)
- func (h *MediaUploadHandler) MergeChunks(c *gin.Context)
- func (h *MediaUploadHandler) UploadChunk(c *gin.Context)
- func (h *MediaUploadHandler) UploadThumbnail(c *gin.Context)
- func (h *MediaUploadHandler) UploadVideo(c *gin.Context)
- type NotificationHandler
- func (h *NotificationHandler) GetNotifications(c *gin.Context)
- func (h *NotificationHandler) GetUnreadCount(c *gin.Context)
- func (h *NotificationHandler) MarkAllAsRead(c *gin.Context)
- func (h *NotificationHandler) MarkAsRead(c *gin.Context)
- func (h *NotificationHandler) RegisterPushSubscription(c *gin.Context)
- func (h *NotificationHandler) SendTestNotification(c *gin.Context)
- func (h *NotificationHandler) WebSocketEndpoint(c *gin.Context)
- type NotificationManagementHandler
- func (h *NotificationManagementHandler) CreateNotificationCampaign(c *gin.Context)
- func (h *NotificationManagementHandler) CreateNotificationProvider(c *gin.Context)
- func (h *NotificationManagementHandler) CreateNotificationSchedule(c *gin.Context)
- func (h *NotificationManagementHandler) CreateNotificationTemplate(c *gin.Context)
- func (h *NotificationManagementHandler) DeleteNotificationSchedule(c *gin.Context)
- func (h *NotificationManagementHandler) DeleteNotificationTemplate(c *gin.Context)
- func (h *NotificationManagementHandler) GetCampaignStats(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationAnalytics(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationCampaign(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationCampaigns(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationMessages(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationProviders(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationSchedules(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationSummary(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationTemplate(c *gin.Context)
- func (h *NotificationManagementHandler) GetNotificationTemplates(c *gin.Context)
- func (h *NotificationManagementHandler) GetTemplatesByType(c *gin.Context)
- func (h *NotificationManagementHandler) GetUnreadCount(c *gin.Context)
- func (h *NotificationManagementHandler) GetUserNotificationSettings(c *gin.Context)
- func (h *NotificationManagementHandler) GetUserNotifications(c *gin.Context)
- func (h *NotificationManagementHandler) MarkMessageAsRead(c *gin.Context)
- func (h *NotificationManagementHandler) SendBulkNotification(c *gin.Context)
- func (h *NotificationManagementHandler) SendNotification(c *gin.Context)
- func (h *NotificationManagementHandler) StartNotificationCampaign(c *gin.Context)
- func (h *NotificationManagementHandler) StopNotificationCampaign(c *gin.Context)
- func (h *NotificationManagementHandler) TestNotificationProvider(c *gin.Context)
- func (h *NotificationManagementHandler) UpdateNotificationProvider(c *gin.Context)
- func (h *NotificationManagementHandler) UpdateNotificationSchedule(c *gin.Context)
- func (h *NotificationManagementHandler) UpdateNotificationTemplate(c *gin.Context)
- func (h *NotificationManagementHandler) UpdateUserNotificationSettings(c *gin.Context)
- type PaymentHandler
- func (h *PaymentHandler) AlipayCallback(c *gin.Context)
- func (h *PaymentHandler) CreateOrder(c *gin.Context)
- func (h *PaymentHandler) GetOrderByID(c *gin.Context)
- func (h *PaymentHandler) GetOrderStatus(c *gin.Context)
- func (h *PaymentHandler) GetPaymentURL(c *gin.Context)
- func (h *PaymentHandler) GetTransactionHistory(c *gin.Context)
- func (h *PaymentHandler) GetUserBalance(c *gin.Context)
- func (h *PaymentHandler) PayWithBalance(c *gin.Context)
- func (h *PaymentHandler) WechatCallback(c *gin.Context)
- type PlayerHandler
- func (h *PlayerHandler) GetPlaybackStats(c *gin.Context)
- func (h *PlayerHandler) GetPlayerConfig(c *gin.Context)
- func (h *PlayerHandler) GetPlayerInfo(c *gin.Context)
- func (h *PlayerHandler) GetUserWatchHistory(c *gin.Context)
- func (h *PlayerHandler) GetVideoQualityInfo(c *gin.Context)
- func (h *PlayerHandler) TrackPlaybackEvent(c *gin.Context)
- func (h *PlayerHandler) UpdatePlayerConfig(c *gin.Context)
- type ProgressMessage
- type ProgressService
- type PromotionManagementHandler
- func (h *PromotionManagementHandler) CreateHotRecommendation(c *gin.Context)
- func (h *PromotionManagementHandler) CreatePromotionItem(c *gin.Context)
- func (h *PromotionManagementHandler) CreatePromotionSlot(c *gin.Context)
- func (h *PromotionManagementHandler) CreateSpecialActivity(c *gin.Context)
- func (h *PromotionManagementHandler) DeleteHotRecommendation(c *gin.Context)
- func (h *PromotionManagementHandler) DeletePromotionItem(c *gin.Context)
- func (h *PromotionManagementHandler) DeletePromotionSlot(c *gin.Context)
- func (h *PromotionManagementHandler) DeleteSpecialActivity(c *gin.Context)
- func (h *PromotionManagementHandler) GetHotRecommendation(c *gin.Context)
- func (h *PromotionManagementHandler) GetHotRecommendations(c *gin.Context)
- func (h *PromotionManagementHandler) GetPromotionAnalytics(c *gin.Context)
- func (h *PromotionManagementHandler) GetPromotionItem(c *gin.Context)
- func (h *PromotionManagementHandler) GetPromotionItems(c *gin.Context)
- func (h *PromotionManagementHandler) GetPromotionOverview(c *gin.Context)
- func (h *PromotionManagementHandler) GetPromotionSlot(c *gin.Context)
- func (h *PromotionManagementHandler) GetPromotionSlots(c *gin.Context)
- func (h *PromotionManagementHandler) GetSpecialActivities(c *gin.Context)
- func (h *PromotionManagementHandler) GetSpecialActivity(c *gin.Context)
- func (h *PromotionManagementHandler) UpdateHotRecommendation(c *gin.Context)
- func (h *PromotionManagementHandler) UpdatePromotionItem(c *gin.Context)
- func (h *PromotionManagementHandler) UpdatePromotionSlot(c *gin.Context)
- func (h *PromotionManagementHandler) UpdateSpecialActivity(c *gin.Context)
- type RBACManagementHandler
- func (h *RBACManagementHandler) AssignPermissionsToRole(c *gin.Context)
- func (h *RBACManagementHandler) AssignRolesToUser(c *gin.Context)
- func (h *RBACManagementHandler) CheckPermission(c *gin.Context)
- func (h *RBACManagementHandler) CreatePermission(c *gin.Context)
- func (h *RBACManagementHandler) CreatePermissionGroup(c *gin.Context)
- func (h *RBACManagementHandler) CreateRole(c *gin.Context)
- func (h *RBACManagementHandler) DeletePermission(c *gin.Context)
- func (h *RBACManagementHandler) DeleteRole(c *gin.Context)
- func (h *RBACManagementHandler) GetPermission(c *gin.Context)
- func (h *RBACManagementHandler) GetPermissionGroups(c *gin.Context)
- func (h *RBACManagementHandler) GetPermissions(c *gin.Context)
- func (h *RBACManagementHandler) GetPermissionsByModule(c *gin.Context)
- func (h *RBACManagementHandler) GetRBACAnalytics(c *gin.Context)
- func (h *RBACManagementHandler) GetRole(c *gin.Context)
- func (h *RBACManagementHandler) GetRolePermissions(c *gin.Context)
- func (h *RBACManagementHandler) GetRoles(c *gin.Context)
- func (h *RBACManagementHandler) GetUserPermissions(c *gin.Context)
- func (h *RBACManagementHandler) GetUserResourcePermissions(c *gin.Context)
- func (h *RBACManagementHandler) GrantResourcePermission(c *gin.Context)
- func (h *RBACManagementHandler) RevokeResourcePermission(c *gin.Context)
- func (h *RBACManagementHandler) RevokeRolesFromUser(c *gin.Context)
- func (h *RBACManagementHandler) UpdatePermission(c *gin.Context)
- func (h *RBACManagementHandler) UpdateRole(c *gin.Context)
- type RateLimitManagementHandler
- func (h *RateLimitManagementHandler) ClearRateLimit(c *gin.Context)
- func (h *RateLimitManagementHandler) GetCircuitBreakerByName(c *gin.Context)
- func (h *RateLimitManagementHandler) GetCircuitBreakerStats(c *gin.Context)
- func (h *RateLimitManagementHandler) GetRateLimitStats(c *gin.Context)
- func (h *RateLimitManagementHandler) ResetCircuitBreaker(c *gin.Context)
- type RecommendationHandler
- func (h *RecommendationHandler) AnalyzeUserPreferences(c *gin.Context)
- func (h *RecommendationHandler) GetPersonalizedRecommendations(c *gin.Context)
- func (h *RecommendationHandler) GetRecommendedTags(c *gin.Context)
- func (h *RecommendationHandler) GetSimilarContent(c *gin.Context)
- func (h *RecommendationHandler) GetTagBasedRecommendations(c *gin.Context)
- func (h *RecommendationHandler) GetTrendingContent(c *gin.Context)
- func (h *RecommendationHandler) GetTrendingTags(c *gin.Context)
- func (h *RecommendationHandler) GetUserTagPreferences(c *gin.Context)
- func (h *RecommendationHandler) RecordUserBehavior(c *gin.Context)
- func (h *RecommendationHandler) TrackRecommendationClick(c *gin.Context)
- type SearchEnhancementHandler
- func (h *SearchEnhancementHandler) ClearSearchHistory(c *gin.Context)
- func (h *SearchEnhancementHandler) GetHotSearches(c *gin.Context)
- func (h *SearchEnhancementHandler) GetSearchAnalytics(c *gin.Context)
- func (h *SearchEnhancementHandler) GetSearchHistory(c *gin.Context)
- func (h *SearchEnhancementHandler) GetSearchSuggestions(c *gin.Context)
- func (h *SearchEnhancementHandler) SaveSearchHistory(c *gin.Context)
- type SocialHandler
- func (h *SocialHandler) CreateComment(c *gin.Context)
- func (h *SocialHandler) DeleteComment(c *gin.Context)
- func (h *SocialHandler) GetComments(c *gin.Context)
- func (h *SocialHandler) GetLikeStats(c *gin.Context)
- func (h *SocialHandler) GetUserComments(c *gin.Context)
- func (h *SocialHandler) GetUserLikes(c *gin.Context)
- func (h *SocialHandler) ToggleLike(c *gin.Context)
- func (h *SocialHandler) UpdateComment(c *gin.Context)
- type StorageManagementHandler
- func (h *StorageManagementHandler) CancelMigration(c *gin.Context)
- func (h *StorageManagementHandler) CheckQuotaUsage(c *gin.Context)
- func (h *StorageManagementHandler) GetBackupStatus(c *gin.Context)
- func (h *StorageManagementHandler) GetCleanupStatus(c *gin.Context)
- func (h *StorageManagementHandler) GetMigrationStatus(c *gin.Context)
- func (h *StorageManagementHandler) GetMigrations(c *gin.Context)
- func (h *StorageManagementHandler) GetProviderPricing(c *gin.Context)
- func (h *StorageManagementHandler) GetProviderRegions(c *gin.Context)
- func (h *StorageManagementHandler) GetQuotaSettings(c *gin.Context)
- func (h *StorageManagementHandler) GetStorageSettings(c *gin.Context)
- func (h *StorageManagementHandler) GetStorageStatistics(c *gin.Context)
- func (h *StorageManagementHandler) GetStorageStatus(c *gin.Context)
- func (h *StorageManagementHandler) GetSupportedProviders(c *gin.Context)
- func (h *StorageManagementHandler) RefreshStorageStats(c *gin.Context)
- func (h *StorageManagementHandler) RestoreFromBackup(c *gin.Context)
- func (h *StorageManagementHandler) RollbackMigration(c *gin.Context)
- func (h *StorageManagementHandler) StartBackup(c *gin.Context)
- func (h *StorageManagementHandler) StartStorageCleanup(c *gin.Context)
- func (h *StorageManagementHandler) StartStorageMigration(c *gin.Context)
- func (h *StorageManagementHandler) TestStorageConnection(c *gin.Context)
- func (h *StorageManagementHandler) UpdateQuotaSettings(c *gin.Context)
- func (h *StorageManagementHandler) UpdateStorageSettings(c *gin.Context)
- type StreamingHandler
- func (h *StreamingHandler) AddToFavorites(c *gin.Context)
- func (h *StreamingHandler) BroadcastProgress(progress *service.StreamingProgress)
- func (h *StreamingHandler) GetProgress(c *gin.Context)
- func (h *StreamingHandler) GetVideoStream(c *gin.Context)
- func (h *StreamingHandler) GetWatchHistory(c *gin.Context)
- func (h *StreamingHandler) LikeVideo(c *gin.Context)
- func (h *StreamingHandler) ProcessVideoWithProgress(c *gin.Context)
- func (h *StreamingHandler) RemoveFromFavorites(c *gin.Context)
- func (h *StreamingHandler) StreamProgress(c *gin.Context)
- func (h *StreamingHandler) UnlikeVideo(c *gin.Context)
- func (h *StreamingHandler) UpdateProgress(c *gin.Context)
- type SubscriptionHandler
- type SuccessResponse
- type SyncHandler
- func (h *SyncHandler) EndSyncSession(c *gin.Context)
- func (h *SyncHandler) GetActiveSessions(c *gin.Context)
- func (h *SyncHandler) GetConflictHistory(c *gin.Context)
- func (h *SyncHandler) GetSyncState(c *gin.Context)
- func (h *SyncHandler) GetSyncStatistics(c *gin.Context)
- func (h *SyncHandler) GetUserDevices(c *gin.Context)
- func (h *SyncHandler) ResolveConflict(c *gin.Context)
- func (h *SyncHandler) StartSyncSession(c *gin.Context)
- func (h *SyncHandler) SubscribeSync(c *gin.Context)
- func (h *SyncHandler) UpdateProgress(c *gin.Context)
- type SystemMonitoringHandler
- func (h *SystemMonitoringHandler) GetAlerts(c *gin.Context)
- func (h *SystemMonitoringHandler) GetHistoricalMetrics(c *gin.Context)
- func (h *SystemMonitoringHandler) GetMetricsOverview(c *gin.Context)
- func (h *SystemMonitoringHandler) GetPerformanceAnalysis(c *gin.Context)
- func (h *SystemMonitoringHandler) GetSystemHealth(c *gin.Context)
- func (h *SystemMonitoringHandler) GetSystemStats(c *gin.Context)
- type TagHandler
- type UserHandler
- func (h *UserHandler) ChangePassword(c *gin.Context)
- func (h *UserHandler) GetBalance(c *gin.Context)
- func (h *UserHandler) GetProfile(c *gin.Context)
- func (h *UserHandler) GetSubscription(c *gin.Context)
- func (h *UserHandler) UpdateAvatar(c *gin.Context)
- func (h *UserHandler) UpdateProfile(c *gin.Context)
- type UserManagementHandler
- func (h *UserManagementHandler) AddAdminNote(c *gin.Context)
- func (h *UserManagementHandler) BanUser(c *gin.Context)
- func (h *UserManagementHandler) BatchUpdateUsers(c *gin.Context)
- func (h *UserManagementHandler) CreateUserSegment(c *gin.Context)
- func (h *UserManagementHandler) ExportUsers(c *gin.Context)
- func (h *UserManagementHandler) GetInactiveUsers(c *gin.Context)
- func (h *UserManagementHandler) GetSuspiciousUsers(c *gin.Context)
- func (h *UserManagementHandler) GetUserActivity(c *gin.Context)
- func (h *UserManagementHandler) GetUserBehaviorAnalysis(c *gin.Context)
- func (h *UserManagementHandler) GetUserFullProfile(c *gin.Context)
- func (h *UserManagementHandler) GetUserGrowthAnalytics(c *gin.Context)
- func (h *UserManagementHandler) GetUserRiskAssessment(c *gin.Context)
- func (h *UserManagementHandler) GetUserSecurityLog(c *gin.Context)
- func (h *UserManagementHandler) GetUserSegmentAnalysis(c *gin.Context)
- func (h *UserManagementHandler) GetUserSegments(c *gin.Context)
- func (h *UserManagementHandler) ListUsers(c *gin.Context)
- func (h *UserManagementHandler) ResetUserPassword(c *gin.Context)
- func (h *UserManagementHandler) SearchUsers(c *gin.Context)
- func (h *UserManagementHandler) SendBulkNotification(c *gin.Context)
- func (h *UserManagementHandler) SendUserNotification(c *gin.Context)
- func (h *UserManagementHandler) SuspendUser(c *gin.Context)
- func (h *UserManagementHandler) UnbanUser(c *gin.Context)
- func (h *UserManagementHandler) UpdateUserProfile(c *gin.Context)
- func (h *UserManagementHandler) UpdateUserStatus(c *gin.Context)
- type VectorRecommendationHandler
- func (h *VectorRecommendationHandler) ComputeContentVector(c *gin.Context)
- func (h *VectorRecommendationHandler) GetPersonalizedRecommendations(c *gin.Context)
- func (h *VectorRecommendationHandler) GetSimilarContent(c *gin.Context)
- func (h *VectorRecommendationHandler) GetUserSimilarity(c *gin.Context)
- func (h *VectorRecommendationHandler) RefreshVectorIndex(c *gin.Context)
- func (h *VectorRecommendationHandler) UpdateUserVector(c *gin.Context)
- type VideoEditingHandler
- func (h *VideoEditingHandler) AddWatermark(c *gin.Context)
- func (h *VideoEditingHandler) ApplyEffect(c *gin.Context)
- func (h *VideoEditingHandler) CancelTask(c *gin.Context)
- func (h *VideoEditingHandler) ExportVideo(c *gin.Context)
- func (h *VideoEditingHandler) GetTaskStatus(c *gin.Context)
- func (h *VideoEditingHandler) GetUserTasks(c *gin.Context)
- func (h *VideoEditingHandler) GetVideoInfo(c *gin.Context)
- func (h *VideoEditingHandler) MergeVideos(c *gin.Context)
- func (h *VideoEditingHandler) ProcessAudio(c *gin.Context)
- func (h *VideoEditingHandler) TrimVideo(c *gin.Context)
- type VideoHandler
- func (h *VideoHandler) BatchUploadVideos(c *gin.Context)
- func (h *VideoHandler) DeleteVideo(c *gin.Context)
- func (h *VideoHandler) GetBatchUploadProgress(c *gin.Context)
- func (h *VideoHandler) GetUploadProgress(c *gin.Context)
- func (h *VideoHandler) GetVideoAnalytics(c *gin.Context)
- func (h *VideoHandler) GetVideoStream(c *gin.Context)
- func (h *VideoHandler) GetWatchHistory(c *gin.Context)
- func (h *VideoHandler) ToggleFavorite(c *gin.Context)
- func (h *VideoHandler) ToggleLike(c *gin.Context)
- func (h *VideoHandler) UpdateWatchProgress(c *gin.Context)
- func (h *VideoHandler) UploadVideo(c *gin.Context)
- type VideoProcessingHandler
- type WebSocketClient
- type WebSocketHandler
- func (h *WebSocketHandler) BroadcastProgress(userID int64, message ProgressMessage)
- func (h *WebSocketHandler) BroadcastProgressByTaskID(userID int64, taskID string, messageType string, progress float64, ...)
- func (h *WebSocketHandler) BroadcastToAll(message any)
- func (h *WebSocketHandler) GetConnectedClients() int
- func (h *WebSocketHandler) GetUserClients(userID int64) []*WebSocketClient
- func (h *WebSocketHandler) GetWebSocketStats(c *gin.Context)
- func (h *WebSocketHandler) HandleUploadProgress(c *gin.Context)
- func (h *WebSocketHandler) HandleWebSocket(c *gin.Context)
- func (h *WebSocketHandler) SendToUser(userID int64, message any)
- type WithdrawHandler
- func (h *WithdrawHandler) GetPendingWithdrawals(c *gin.Context)
- func (h *WithdrawHandler) GetWithdrawDetail(c *gin.Context)
- func (h *WithdrawHandler) GetWithdrawHistory(c *gin.Context)
- func (h *WithdrawHandler) GetWithdrawStats(c *gin.Context)
- func (h *WithdrawHandler) GetWithdrawSummary(c *gin.Context)
- func (h *WithdrawHandler) ProcessWithdrawRequest(c *gin.Context)
- func (h *WithdrawHandler) RequestWithdraw(c *gin.Context)
- func (h *WithdrawHandler) ValidateWithdraw(c *gin.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ActorManagementHandler ¶
type ActorManagementHandler struct {
// contains filtered or unexported fields
}
ActorManagementHandler 演员管理处理器
func NewActorManagementHandler ¶
func NewActorManagementHandler(actorService service.ActorManagementServiceInterface) *ActorManagementHandler
NewActorManagementHandler 创建演员管理处理器
func (*ActorManagementHandler) AddTeamMember ¶
func (h *ActorManagementHandler) AddTeamMember(c *gin.Context)
AddTeamMember 添加团队成员 @Summary 添加团队成员 @Description 向指定制作团队添加新成员 @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param team_id path int true "团队ID" @Param request body model.TeamMemberCreateRequest true "团队成员信息" @Success 201 {object} map[string]any{message=string,member=model.TeamMember} "团队成员添加成功" @Failure 400 {object} map[string]any "团队ID无效或添加失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/team-members/{team_id} [post]
func (*ActorManagementHandler) AssignActorToSeries ¶
func (h *ActorManagementHandler) AssignActorToSeries(c *gin.Context)
AssignActorToSeries 分配演员到剧集 @Summary 分配演员到剧集 @Description 将演员分配到指定剧集并指定角色信息(角色名、类型、报酬等) @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param actor_id path int true "演员ID" @Param series_id path int true "剧集ID" @Param request body map[string]any true "角色数据(character_name, role_type, role_description, payment等)" @Success 201 {object} map[string]any{message=string,role=model.ActorRole} "演员分配成功" @Failure 400 {object} map[string]any "演员ID或剧集ID无效,或分配失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/actor-roles/{actor_id}/series/{series_id}/assign [post]
func (*ActorManagementHandler) AssignToProject ¶
func (h *ActorManagementHandler) AssignToProject(c *gin.Context)
AssignToProject 分配到项目 @Summary 分配到项目 @Description 将演员、团队或成员分配到指定项目,包含角色、时间、预算等信息 @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ProjectAssignmentRequest true "项目分配信息" @Success 201 {object} map[string]any{message=string,assignment=model.ProjectAssignment} "项目分配成功" @Failure 400 {object} map[string]any "请求数据无效或分配失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/projects/assignments [post]
func (*ActorManagementHandler) CreateActor ¶
func (h *ActorManagementHandler) CreateActor(c *gin.Context)
CreateActor 创建演员 @Summary 创建演员 @Description 创建新的演员档案,包含演员基本信息、联系方式、专业技能等 @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ActorCreateRequest true "演员创建信息" @Success 201 {object} map[string]any{message=string,actor=model.Actor} "演员创建成功" @Failure 400 {object} map[string]any "请求数据无效或演员创建失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/actors [post]
func (*ActorManagementHandler) CreateActorContract ¶
func (h *ActorManagementHandler) CreateActorContract(c *gin.Context)
CreateActorContract 创建演员合同 @Summary 创建演员合同 @Description 为指定演员创建新的合同,包含合同类型、期限、薪酬等信息 @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param actor_id path int true "演员ID" @Param request body map[string]any true "合同数据(contract_type, start_date, end_date, base_payment等)" @Success 201 {object} map[string]any{message=string,contract=model.ActorContract} "演员合同创建成功" @Failure 400 {object} map[string]any "演员ID无效或创建合同失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/actor-contracts/{actor_id} [post]
func (*ActorManagementHandler) CreateProductionTeam ¶
func (h *ActorManagementHandler) CreateProductionTeam(c *gin.Context)
CreateProductionTeam 创建制作团队 @Summary 创建制作团队 @Description 创建新的制作团队档案,包含公司信息、专业能力、联系方式等 @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ProductionTeamCreateRequest true "制作团队创建信息" @Success 201 {object} map[string]any{message=string,team=model.ProductionTeam} "制作团队创建成功" @Failure 400 {object} map[string]any "请求数据无效或创建失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/production-teams [post]
func (*ActorManagementHandler) DeleteActor ¶
func (h *ActorManagementHandler) DeleteActor(c *gin.Context)
DeleteActor 删除演员 @Summary 删除演员 @Description 删除指定演员档案(需要检查演员是否有活跃项目) @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param id path int true "演员ID" @Success 200 {object} map[string]any{message=string} "演员删除成功" @Failure 400 {object} map[string]any "演员ID无效或删除失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/actors/{id} [delete]
func (*ActorManagementHandler) GetActor ¶
func (h *ActorManagementHandler) GetActor(c *gin.Context)
GetActor 获取演员信息 @Summary 获取演员详细信息 @Description 根据演员ID获取演员的完整档案信息 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param id path int true "演员ID" @Success 200 {object} model.Actor "演员信息" @Failure 400 {object} map[string]any "演员ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 404 {object} map[string]any "演员不存在" @Router /api/v1/admin/actors/{id} [get]
func (*ActorManagementHandler) GetActorContracts ¶
func (h *ActorManagementHandler) GetActorContracts(c *gin.Context)
GetActorContracts 获取演员合同 @Summary 获取演员合同列表 @Description 获取指定演员的所有合同记录 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param actor_id path int true "演员ID" @Success 200 {object} map[string]any{contracts=[]model.ActorContract,total=int} "合同列表" @Failure 400 {object} map[string]any "演员ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取合同失败" @Router /api/v1/admin/actor-contracts/{actor_id} [get]
func (*ActorManagementHandler) GetActorPerformanceStats ¶
func (h *ActorManagementHandler) GetActorPerformanceStats(c *gin.Context)
GetActorPerformanceStats 获取演员表现统计 @Summary 获取演员表现统计 @Description 获取指定演员的综合表现数据统计,包括项目数、收益、评分、人气趋势等 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param actor_id path int true "演员ID" @Success 200 {object} model.ActorPerformanceStats "演员表现统计" @Failure 400 {object} map[string]any "演员ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 404 {object} map[string]any "演员不存在" @Failure 500 {object} map[string]any "获取演员统计失败" @Router /api/v1/admin/actor-stats/{actor_id} [get]
func (*ActorManagementHandler) GetActorWorks ¶
func (h *ActorManagementHandler) GetActorWorks(c *gin.Context)
GetActorWorks 获取演员作品 @Summary 获取演员作品列表 @Description 获取指定演员参演的所有作品(剧集及角色) @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param actor_id path int true "演员ID" @Success 200 {object} map[string]any{works=[]model.ActorRole,total=int} "演员作品列表" @Failure 400 {object} map[string]any "演员ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取演员作品失败" @Router /api/v1/admin/actor-roles/{actor_id}/works [get]
func (*ActorManagementHandler) GetActors ¶
func (h *ActorManagementHandler) GetActors(c *gin.Context)
GetActors 获取演员列表 @Summary 获取演员列表 @Description 获取演员列表,支持分页、搜索、筛选和排序 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param search query string false "搜索关键词(姓名、艺名)" @Param gender query string false "性别筛选" Enums(male, female, other) @Param status query string false "状态筛选" Enums(active, inactive, retired, banned) @Param is_verified query boolean false "是否认证" @Param is_exclusive query boolean false "是否独家" @Param sort_by query string false "排序字段" default(created_at) @Param sort_order query string false "排序方式" default(desc) Enums(asc, desc) @Success 200 {object} model.ActorListResponse "演员列表" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取演员列表失败" @Router /api/v1/admin/actors [get]
func (*ActorManagementHandler) GetExpiringContracts ¶
func (h *ActorManagementHandler) GetExpiringContracts(c *gin.Context)
GetExpiringContracts 获取即将到期的合同 @Summary 获取即将到期的合同 @Description 获取未来指定天数内即将到期的演员合同列表,用于合同续签提醒 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param days query int false "未来天数" default(30) @Success 200 {object} map[string]any{contracts=[]model.ActorContract,total=int} "即将到期合同列表" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取即将到期合同失败" @Router /api/v1/admin/actor-contracts/expiring [get]
func (*ActorManagementHandler) GetPopularActors ¶
func (h *ActorManagementHandler) GetPopularActors(c *gin.Context)
GetPopularActors 获取热门演员 @Summary 获取热门演员列表 @Description 获取平台热门演员排行榜,按人气分数排序 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param limit query int false "返回数量限制" default(10) @Success 200 {object} map[string]any{actors=[]model.ActorInfo,total=int} "热门演员列表" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取热门演员失败" @Router /api/v1/admin/actors/popular [get]
func (*ActorManagementHandler) GetProductionTeam ¶
func (h *ActorManagementHandler) GetProductionTeam(c *gin.Context)
GetProductionTeam 获取制作团队 @Summary 获取制作团队详情 @Description 根据团队ID获取制作团队的完整档案信息 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param id path int true "团队ID" @Success 200 {object} model.ProductionTeam "制作团队信息" @Failure 400 {object} map[string]any "团队ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 404 {object} map[string]any "制作团队不存在" @Router /api/v1/admin/production-teams/{id} [get]
func (*ActorManagementHandler) GetProductionTeams ¶
func (h *ActorManagementHandler) GetProductionTeams(c *gin.Context)
GetProductionTeams 获取制作团队列表 @Summary 获取制作团队列表 @Description 获取制作团队列表,支持分页、搜索和筛选 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param search query string false "搜索关键词(团队名称)" @Param company_type query string false "公司类型筛选" Enums(production_company, studio, agency, freelance) @Param status query string false "状态筛选" Enums(active, inactive, blacklisted, pending_review) @Param is_preferred query boolean false "是否优选团队" @Success 200 {object} map[string]any{teams=[]model.ProductionTeam,total=int,page=int,limit=int} "制作团队列表" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取制作团队失败" @Router /api/v1/admin/production-teams [get]
func (*ActorManagementHandler) GetProjectAssignments ¶
func (h *ActorManagementHandler) GetProjectAssignments(c *gin.Context)
GetProjectAssignments 获取项目分配 @Summary 获取项目分配列表 @Description 获取指定剧集的所有项目分配记录 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param series_id path int true "剧集ID" @Success 200 {object} map[string]any{assignments=[]model.ProjectAssignment,total=int} "项目分配列表" @Failure 400 {object} map[string]any "剧集ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取项目分配失败" @Router /api/v1/admin/projects/{series_id}/assignments [get]
func (*ActorManagementHandler) GetSeriesActors ¶
func (h *ActorManagementHandler) GetSeriesActors(c *gin.Context)
GetSeriesActors 获取剧集演员 @Summary 获取剧集演员列表 @Description 获取指定剧集的所有演员及角色信息 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param series_id path int true "剧集ID" @Success 200 {object} map[string]any{actors=[]model.ActorRole,total=int} "剧集演员列表" @Failure 400 {object} map[string]any "剧集ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取剧集演员失败" @Router /api/v1/admin/actor-roles/series/{series_id} [get]
func (*ActorManagementHandler) GetTeamMembers ¶
func (h *ActorManagementHandler) GetTeamMembers(c *gin.Context)
GetTeamMembers 获取团队成员 @Summary 获取团队成员列表 @Description 获取指定制作团队的所有成员信息 @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param team_id path int true "团队ID" @Success 200 {object} map[string]any{members=[]model.TeamMember,total=int} "团队成员列表" @Failure 400 {object} map[string]any "团队ID无效" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "获取团队成员失败" @Router /api/v1/admin/team-members/{team_id} [get]
func (*ActorManagementHandler) SearchActors ¶
func (h *ActorManagementHandler) SearchActors(c *gin.Context)
SearchActors 搜索演员 @Summary 搜索演员 @Description 根据关键词快速搜索演员(姓名、艺名等) @Tags 管理后台 - 演员管理 @Produce json @Security BearerAuth @Param keyword query string true "搜索关键词" @Param limit query int false "返回数量限制" default(10) @Success 200 {object} map[string]any{actors=[]model.ActorInfo,total=int} "搜索结果" @Failure 400 {object} map[string]any "缺少搜索关键词" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "搜索演员失败" @Router /api/v1/admin/actors/search [get]
func (*ActorManagementHandler) UpdateActor ¶
func (h *ActorManagementHandler) UpdateActor(c *gin.Context)
UpdateActor 更新演员信息 @Summary 更新演员信息 @Description 更新指定演员的档案信息,支持部分字段更新 @Tags 管理后台 - 演员管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "演员ID" @Param request body model.ActorUpdateRequest true "演员更新信息" @Success 200 {object} map[string]any{message=string} "演员信息更新成功" @Failure 400 {object} map[string]any "演员ID无效或更新失败" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/actors/{id} [put]
type AdminHandler ¶
type AdminHandler struct {
// contains filtered or unexported fields
}
AdminHandler 管理员处理器
func NewAdminHandler ¶
func NewAdminHandler(services *service.Services, adminService service.AdminServiceInterface, db *gorm.DB) *AdminHandler
NewAdminHandler 创建管理员处理器
func (*AdminHandler) BatchContentReview ¶
func (h *AdminHandler) BatchContentReview(c *gin.Context)
BatchContentReview 批量内容审核 @Summary 批量内容审核 @Description 批量审核多个内容 @Tags 管理后台 @Accept json @Produce json @Security BearerAuth @Param request body service.BatchContentReviewRequest true "批量审核请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/batch-review [post]
func (*AdminHandler) BatchReviewEpisodes ¶
func (h *AdminHandler) BatchReviewEpisodes(c *gin.Context)
BatchReviewEpisodes 批量审核Episodes @Summary 批量审核Episodes @Description 管理员批量审核多个Episodes @Tags 管理后台 - 内容审核 @Accept json @Produce json @Security BearerAuth @Param request body map[string]any true "批量审核请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Router /admin/content/episodes/batch-review [post]
func (*AdminHandler) BatchUpdateUsers ¶
func (h *AdminHandler) BatchUpdateUsers(c *gin.Context)
BatchUpdateUsers 批量更新用户 @Summary 批量更新用户 @Description 批量更新多个用户的状态或角色 @Tags 管理后台 @Accept json @Produce json @Security BearerAuth @Param request body service.BatchUserUpdateRequest true "批量更新请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/batch-update [put]
func (*AdminHandler) ExportUsers ¶
func (h *AdminHandler) ExportUsers(c *gin.Context)
ExportUsers 导出用户数据 @Summary 导出用户数据 @Description 导出用户数据为CSV格式 @Tags 管理后台 @Produce application/octet-stream @Security BearerAuth @Param format query string false "导出格式" default(csv) @Param status query string false "用户状态过滤" @Param role query string false "用户角色过滤" @Success 200 {file} binary @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/export [get]
func (*AdminHandler) GetAnalytics ¶
func (h *AdminHandler) GetAnalytics(c *gin.Context)
GetAnalytics 获取分析数据 @Summary 获取分析数据 @Description 获取系统分析和统计数据 @Tags 管理后台 @Produce json @Security BearerAuth @Param type query string false "分析类型" Enums(user,content,revenue) default(user) @Param time_range query string false "时间范围" Enums(today,week,month,year) default(month) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/analytics [get]
func (*AdminHandler) GetContent ¶
func (h *AdminHandler) GetContent(c *gin.Context)
GetContent 获取内容管理列表 @Summary 获取内容管理列表 @Description 获取待审核或已发布的内容列表 @Tags 管理后台 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param status query string false "内容状态" @Param category query string false "内容分类" @Success 200 {object} service.ContentModerationResponse @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content [get]
func (*AdminHandler) GetDashboard ¶
func (h *AdminHandler) GetDashboard(c *gin.Context)
GetDashboard 获取管理后台仪表板 @Summary 获取管理后台仪表板 @Description 获取管理后台统计数据和概览信息 @Tags 管理后台 @Produce json @Security BearerAuth @Success 200 {object} service.DashboardStats @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/dashboard [get]
func (*AdminHandler) GetOperationLogs ¶
func (h *AdminHandler) GetOperationLogs(c *gin.Context)
GetOperationLogs 获取操作日志 @Summary 获取操作日志 @Description 获取管理员操作日志记录 @Tags 管理后台 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(50) @Param action query string false "操作类型过滤" @Success 200 {object} service.OperationLogsResponse @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/logs [get]
func (*AdminHandler) GetPayments ¶
func (h *AdminHandler) GetPayments(c *gin.Context)
GetPayments 获取支付记录 @Summary 获取支付记录 @Description 获取系统支付交易记录 @Tags 管理后台 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/payments [get]
func (*AdminHandler) GetPendingReviewEpisodes ¶
func (h *AdminHandler) GetPendingReviewEpisodes(c *gin.Context)
GetPendingReviewEpisodes 获取待审核的Episodes @Summary 获取待审核的Episodes @Description 管理员查看所有待审核的Episodes @Tags 管理后台 - 内容审核 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param creator_id query int false "创作者ID筛选" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /admin/content/pending-review [get]
func (*AdminHandler) GetRevenueStats ¶
func (h *AdminHandler) GetRevenueStats(c *gin.Context)
GetRevenueStats 获取收入统计 @Summary 获取收入统计 @Description 获取详细的收入统计数据 @Tags 管理后台 @Produce json @Security BearerAuth @Param time_range query string false "时间范围" default(month) @Success 200 {object} service.RevenueStats @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/revenue/stats [get]
func (*AdminHandler) GetReviewStats ¶
func (h *AdminHandler) GetReviewStats(c *gin.Context)
GetReviewStats 获取审核统计 @Summary 获取审核统计 @Description 获取Episode审核统计数据 @Tags 管理后台 - 内容审核 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Router /admin/content/review-stats [get]
func (*AdminHandler) GetSystemSettings ¶
func (h *AdminHandler) GetSystemSettings(c *gin.Context)
GetSystemSettings 获取系统设置 @Summary 获取系统设置 @Description 获取系统配置设置 @Tags 管理后台 @Produce json @Security BearerAuth @Success 200 {object} service.SystemSettings @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/settings [get]
func (*AdminHandler) GetSystemStatus ¶
func (h *AdminHandler) GetSystemStatus(c *gin.Context)
GetSystemStatus 获取系统状态 @Summary 获取系统状态 @Description 获取系统运行状态和健康检查 @Tags 管理后台 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/system/status [get]
func (*AdminHandler) GetUsers ¶
func (h *AdminHandler) GetUsers(c *gin.Context)
GetUsers 获取用户列表 @Summary 获取用户列表 @Description 获取系统用户列表,支持搜索和筛选 @Tags 管理后台 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param search query string false "搜索关键词" @Param status query string false "用户状态" @Param role query string false "用户角色" @Success 200 {object} service.UserManagementResponse @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users [get]
func (*AdminHandler) ReviewContent ¶
func (h *AdminHandler) ReviewContent(c *gin.Context)
ReviewContent 审核内容 @Summary 审核内容 @Description 批准或拒绝待审核内容 @Tags 管理后台 @Accept json @Produce json @Security BearerAuth @Param id path int true "内容ID" @Param request body map[string]any true "审核信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/{id}/review [post]
func (*AdminHandler) ReviewEpisode ¶
func (h *AdminHandler) ReviewEpisode(c *gin.Context)
ReviewEpisode 审核单个Episode @Summary 审核单个Episode @Description 管理员审核Episode,通过或拒绝 @Tags 管理后台 - 内容审核 @Accept json @Produce json @Security BearerAuth @Param id path int true "Episode ID" @Param request body map[string]any true "审核请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/content/episodes/{id}/review [post]
func (*AdminHandler) UpdateSystemSettings ¶
func (h *AdminHandler) UpdateSystemSettings(c *gin.Context)
UpdateSystemSettings 更新系统设置 @Summary 更新系统设置 @Description 更新系统配置设置 @Tags 管理后台 @Accept json @Produce json @Security BearerAuth @Param settings body service.SystemSettings true "系统设置" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/settings [put]
func (*AdminHandler) UpdateUserStatus ¶
func (h *AdminHandler) UpdateUserStatus(c *gin.Context)
UpdateUserStatus 更新用户状态 @Summary 更新用户状态 @Description 更新指定用户的状态 @Tags 管理后台 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param request body map[string]string true "状态信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/status [put]
type AdvancedAnalyticsHandler ¶
type AdvancedAnalyticsHandler struct {
// contains filtered or unexported fields
}
AdvancedAnalyticsHandler 高级数据分析处理器
func NewAdvancedAnalyticsHandler ¶
func NewAdvancedAnalyticsHandler(analyticsService service.AdvancedAnalyticsServiceInterface) *AdvancedAnalyticsHandler
NewAdvancedAnalyticsHandler 创建高级数据分析处理器
func (*AdvancedAnalyticsHandler) AcknowledgeInsight ¶
func (h *AdvancedAnalyticsHandler) AcknowledgeInsight(c *gin.Context)
AcknowledgeInsight 确认洞察 @Summary 确认数据洞察 @Description 管理员确认已查看并处理某个数据洞察,将洞察状态更新为已确认 @Tags 高级分析 @Produce json @Security BearerAuth @Param insight_id path string true "洞察ID" @Success 200 {object} map[string]string{message=string} "确认成功" @Failure 400 {object} map[string]any "洞察ID无效或确认失败" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/advanced-analytics/insights/{insight_id}/acknowledge [post]
func (*AdvancedAnalyticsHandler) CreatePredictionModel ¶
func (h *AdvancedAnalyticsHandler) CreatePredictionModel(c *gin.Context)
CreatePredictionModel 创建预测模型 @Summary 创建预测模型 @Description 创建新的预测模型配置,指定模型类型和相关参数,用于后续的预测分析 @Tags 高级分析 @Accept json @Produce json @Security BearerAuth @Param request body object{model_type=string,config=object} true "预测模型创建参数" @Success 201 {object} map[string]any{message=string,model=model.PredictionModel} "模型创建成功" @Failure 400 {object} map[string]any "请求参数错误或创建失败" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Router /api/v1/admin/advanced-analytics/predictions/models [post]
func (*AdvancedAnalyticsHandler) GenerateComprehensiveAnalytics ¶
func (h *AdvancedAnalyticsHandler) GenerateComprehensiveAnalytics(c *gin.Context)
GenerateComprehensiveAnalytics 生成综合分析 @Summary 生成综合分析报告 @Description 根据指定的时间范围和分析类型生成综合数据分析报告,包括用户、内容、收入、推广等多维度分析,支持趋势分析、异常检测、关联分析和预测分析 @Tags 高级分析 @Accept json @Produce json @Security BearerAuth @Param request body model.AdvancedAnalyticsRequest true "综合分析请求参数" @Success 200 {object} model.AdvancedAnalyticsResponse "综合分析结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/comprehensive [post]
func (*AdvancedAnalyticsHandler) GenerateDataInsights ¶
func (h *AdvancedAnalyticsHandler) GenerateDataInsights(c *gin.Context)
GenerateDataInsights 生成数据洞察 @Summary 生成数据洞察 @Description 基于指定的数据源和时间范围生成智能数据洞察,包括趋势分析、异常检测和关联发现,支持按置信度和可操作性过滤 @Tags 高级分析 @Accept json @Produce json @Security BearerAuth @Param request body model.InsightRequest true "数据洞察请求参数" @Success 200 {object} map[string]any{insights=[]model.DataInsightInfo,total=int,generated_at=string} "数据洞察结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/insights/generate [post]
func (*AdvancedAnalyticsHandler) GetAnalyticsReport ¶
func (h *AdvancedAnalyticsHandler) GetAnalyticsReport(c *gin.Context)
GetAnalyticsReport 获取分析报告详情 @Summary 获取分析报告详情 @Description 根据报告ID获取高级分析报告的详细信息,包括完整的分析数据、洞察和建议 @Tags 高级分析 @Produce json @Security BearerAuth @Param report_id path string true "报告ID" @Success 200 {object} model.AdvancedAnalyticsReport "分析报告详情" @Failure 400 {object} map[string]any "报告ID无效" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 404 {object} map[string]any "报告不存在" @Router /api/v1/admin/advanced-analytics/reports/{report_id} [get]
func (*AdvancedAnalyticsHandler) GetAnalyticsReports ¶
func (h *AdvancedAnalyticsHandler) GetAnalyticsReports(c *gin.Context)
GetAnalyticsReports 获取分析报告列表 @Summary 获取分析报告列表 @Description 获取高级分析报告列表,支持按报告类型过滤和限制返回数量 @Tags 高级分析 @Produce json @Security BearerAuth @Param report_type query string false "报告类型过滤 (comprehensive, user_behavior, content_performance, revenue_analysis, prediction)" @Param limit query int false "返回数量限制" default(20) @Success 200 {object} map[string]any{reports=[]model.AdvancedAnalyticsReport,total=int} "分析报告列表" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/reports [get]
func (*AdvancedAnalyticsHandler) GetDataInsights ¶
func (h *AdvancedAnalyticsHandler) GetDataInsights(c *gin.Context)
GetDataInsights 获取数据洞察列表 @Summary 获取数据洞察列表 @Description 获取已生成的数据洞察列表,支持按洞察类型、状态过滤和限制返回数量 @Tags 高级分析 @Produce json @Security BearerAuth @Param insight_type query string false "洞察类型过滤 (trend, anomaly, correlation, prediction)" @Param status query string false "状态过滤 (active, acknowledged, resolved, dismissed)" @Param limit query int false "返回数量限制" default(50) @Success 200 {object} map[string]any{insights=[]model.DataInsightInfo,total=int} "数据洞察列表" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/insights [get]
func (*AdvancedAnalyticsHandler) GetInsightsDashboard ¶
func (h *AdvancedAnalyticsHandler) GetInsightsDashboard(c *gin.Context)
GetInsightsDashboard 获取洞察仪表板 @Summary 获取洞察仪表板 @Description 获取综合洞察仪表板数据,包括最新洞察、关键指标、异常事件和关联分析等汇总信息 @Tags 高级分析 @Produce json @Security BearerAuth @Success 200 {object} map[string]any{latest_insights=[]model.DataInsightInfo,user_metrics=object,content_metrics=object,revenue_metrics=object,recent_anomalies=[]model.AnomalyEvent,key_correlations=[]model.CorrelationPair,generated_at=string} "洞察仪表板数据" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/dashboard [get]
func (*AdvancedAnalyticsHandler) GetPredictionModels ¶
func (h *AdvancedAnalyticsHandler) GetPredictionModels(c *gin.Context)
GetPredictionModels 获取预测模型列表 @Summary 获取预测模型列表 @Description 获取系统中已配置的预测模型列表,支持按模型类型和激活状态过滤 @Tags 高级分析 @Produce json @Security BearerAuth @Param model_type query string false "模型类型过滤 (user_behavior, content_popularity, revenue_forecast, churn_prediction)" @Param is_active query boolean false "是否激活" @Success 200 {object} map[string]any{models=[]model.PredictionModel,total=int} "预测模型列表" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/predictions/models [get]
func (*AdvancedAnalyticsHandler) RunAnomalyDetection ¶
func (h *AdvancedAnalyticsHandler) RunAnomalyDetection(c *gin.Context)
RunAnomalyDetection 运行异常检测 @Summary 运行异常检测 @Description 在指定时间范围内运行异常检测算法,识别数据中的异常波动、异常值和模式中断等情况 @Tags 高级分析 @Produce json @Security BearerAuth @Param start_date query string false "开始日期 (格式: 2006-01-02)" default(7天前) @Param end_date query string false "结束日期 (格式: 2006-01-02)" default(今天) @Success 200 {object} map[string]any{anomalies=[]model.AnomalyEvent,total=int,detected_at=string,period_start=string,period_end=string} "异常检测结果" @Failure 400 {object} map[string]any "日期格式错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/anomalies/detect [get]
func (*AdvancedAnalyticsHandler) RunCorrelationAnalysis ¶
func (h *AdvancedAnalyticsHandler) RunCorrelationAnalysis(c *gin.Context)
RunCorrelationAnalysis 运行关联分析 @Summary 运行关联分析 @Description 在指定时间范围内分析不同指标之间的关联关系,发现跨模块的数据关联和因果关系 @Tags 高级分析 @Produce json @Security BearerAuth @Param start_date query string false "开始日期 (格式: 2006-01-02)" default(30天前) @Param end_date query string false "结束日期 (格式: 2006-01-02)" default(今天) @Success 200 {object} map[string]any{correlations=[]model.CorrelationPair,total=int,analyzed_at=string,period_start=string,period_end=string} "关联分析结果" @Failure 400 {object} map[string]any "日期格式错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/correlations [get]
func (*AdvancedAnalyticsHandler) RunPredictionAnalysis ¶
func (h *AdvancedAnalyticsHandler) RunPredictionAnalysis(c *gin.Context)
RunPredictionAnalysis 运行预测分析 @Summary 运行预测分析 @Description 基于历史数据运行预测分析模型,支持用户增长、收入预测、内容热度等多种预测类型,返回预测数据和置信区间 @Tags 高级分析 @Accept json @Produce json @Security BearerAuth @Param request body model.PredictionRequest true "预测分析请求参数" @Success 200 {object} map[string]any{prediction_data=model.PredictionData,model_type=string,prediction_days=int,generated_at=string} "预测分析结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/admin/advanced-analytics/predictions/run [post]
type AdvertisementHandler ¶
type AdvertisementHandler struct {
// contains filtered or unexported fields
}
AdvertisementHandler 广告处理器
func NewAdvertisementHandler ¶
func NewAdvertisementHandler(adService service.AdvertisementServiceInterface) *AdvertisementHandler
NewAdvertisementHandler 创建广告处理器
func (*AdvertisementHandler) GetActiveAds ¶
func (h *AdvertisementHandler) GetActiveAds(c *gin.Context)
GetActiveAds 获取活跃广告 @Summary 获取活跃广告 @Description 获取当前活跃的广告列表,支持按类型、分类、目标年龄段、目标性别等条件筛选 @Tags 广告 @Produce json @Security BearerAuth @Param type query string false "广告类型" @Param category query string false "广告分类" @Param target_age query string false "目标年龄段" @Param target_gender query string false "目标性别" @Param limit query int false "返回数量限制" default(20) @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/advertisements/activeads [get]
func (*AdvertisementHandler) GetAdStatistics ¶
func (h *AdvertisementHandler) GetAdStatistics(c *gin.Context)
GetAdStatistics 获取广告统计 @Summary 获取广告统计 @Description 获取指定广告的详细统计数据,包括展示次数、点击率、转化率等关键指标(需要管理员权限) @Tags 广告 @Produce json @Security BearerAuth @Param ad_id query int true "广告ID" @Param date_range query string false "时间范围" Enums(today, week, month, quarter, year) default(week) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/advertisements/adstatistics [get]
func (*AdvertisementHandler) GetAdsByCategory ¶
func (h *AdvertisementHandler) GetAdsByCategory(c *gin.Context)
GetAdsByCategory 获取分类广告 @Summary 获取分类广告 @Description 根据分类获取广告列表,支持banner、video、native等多种广告类型 @Tags 广告 @Produce json @Security BearerAuth @Param category query string true "广告分类" @Param limit query int false "返回数量限制" default(10) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/advertisements/adsbycategory [get]
func (*AdvertisementHandler) ScheduleAds ¶
func (h *AdvertisementHandler) ScheduleAds(c *gin.Context)
ScheduleAds 调度广告 @Summary 调度广告 @Description 为指定视频内容调度合适的广告,根据用户画像、设备类型、地理位置等因素智能推荐广告 @Tags 广告 @Accept json @Produce json @Security BearerAuth @Param request body service.AdScheduleRequest true "广告调度请求" @Success 200 {object} service.AdScheduleResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/advertisements/schedule [post]
func (*AdvertisementHandler) TrackAdEvent ¶
func (h *AdvertisementHandler) TrackAdEvent(c *gin.Context)
TrackAdEvent 追踪广告事件 @Summary 追踪广告事件 @Description 记录广告的各种事件(展示、点击、跳过、完成、错误、暂停、恢复等),用于广告效果分析和计费 @Tags 广告 @Accept json @Produce json @Security BearerAuth @Param event body service.AdEventRequest true "广告事件" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/advertisements/trackadevent [post]
type AudioSubtitleHandler ¶
type AudioSubtitleHandler struct {
// contains filtered or unexported fields
}
AudioSubtitleHandler 音频字幕处理处理器 (用户功能)
func NewAudioSubtitleHandler ¶
func NewAudioSubtitleHandler(audioSubtitleService service.AudioSubtitleServiceInterface) *AudioSubtitleHandler
NewAudioSubtitleHandler 创建音频字幕处理处理器
func (*AudioSubtitleHandler) AnalyzeAudio ¶
func (h *AudioSubtitleHandler) AnalyzeAudio(c *gin.Context)
AnalyzeAudio 分析音频 @Summary 分析音频 @Description 分析音频特征,包括音量、采样率、编解码器、噪声分析、语音片段识别和语言检测 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Success 200 {object} service.AudioAnalysisResult "音频分析结果,包含详细的音频特征数据" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio/analyze/{episode_id} [get]
func (*AudioSubtitleHandler) CancelTask ¶
func (h *AudioSubtitleHandler) CancelTask(c *gin.Context)
CancelTask 取消任务 @Summary 取消任务 @Description 取消正在执行或排队中的音频/字幕处理任务 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param task_id path string true "任务ID" @Success 200 {object} map[string]string "取消成功消息" @Failure 400 {object} map[string]any "取消失败" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio-subtitle/task/{task_id}/cancel [post]
func (*AudioSubtitleHandler) EnhanceAudio ¶
func (h *AudioSubtitleHandler) EnhanceAudio(c *gin.Context)
EnhanceAudio 增强音频 @Summary 增强音频 @Description 增强音频质量,包括降噪、标准化音量和语音增强等操作 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param request body service.AudioProcessRequest true "音频增强请求参数(自动应用降噪、标准化和语音增强)" @Success 200 {object} service.ProcessResponse "音频增强任务已创建" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio/enhance [post]
func (*AudioSubtitleHandler) ExtractAudio ¶
func (h *AudioSubtitleHandler) ExtractAudio(c *gin.Context)
ExtractAudio 提取音频 @Summary 提取音频 @Description 从视频文件中提取音频并转换为指定格式(mp3/wav/aac/flac) @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Param format query string false "音频格式(默认:mp3)" Enums(mp3, wav, aac, flac) @Success 200 {object} service.ProcessResponse "音频提取任务已创建" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio/extract/{episode_id} [post]
func (*AudioSubtitleHandler) GenerateSubtitle ¶
func (h *AudioSubtitleHandler) GenerateSubtitle(c *gin.Context)
GenerateSubtitle 生成字幕 @Summary 生成字幕 @Description 通过语音识别技术自动生成视频字幕文件(支持SRT格式) @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Param language query string false "字幕语言(默认:zh-CN)" Enums(zh-CN, en-US, ja-JP, ko-KR) @Success 200 {object} service.SubtitleGenerationResult "字幕生成成功,返回字幕文件路径和详细信息" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/subtitle/generate/{episode_id} [post]
func (*AudioSubtitleHandler) GetSupportedFormats ¶
func (h *AudioSubtitleHandler) GetSupportedFormats(c *gin.Context)
GetSupportedFormats 获取支持的格式 @Summary 获取支持的格式 @Description 获取系统支持的音频格式和字幕格式列表 @Tags 音视频字幕处理 @Accept json @Produce json @Success 200 {object} map[string][]string "支持的音频和字幕格式列表" @Router /api/v1/audio-subtitle/formats [get]
func (*AudioSubtitleHandler) GetTaskStatus ¶
func (h *AudioSubtitleHandler) GetTaskStatus(c *gin.Context)
GetTaskStatus 获取任务状态 @Summary 获取任务状态 @Description 查询音频或字幕处理任务的当前状态和进度信息 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param task_id path string true "任务ID" @Success 200 {object} service.ProcessTask "任务详细信息,包括状态、进度、结果等" @Failure 401 {object} map[string]any "未授权访问" @Failure 404 {object} map[string]any "任务不存在" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio-subtitle/task/{task_id} [get]
func (*AudioSubtitleHandler) GetUserTasks ¶
func (h *AudioSubtitleHandler) GetUserTasks(c *gin.Context)
GetUserTasks 获取用户任务 @Summary 获取用户任务列表 @Description 分页查询当前用户的所有音频/字幕处理任务 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param type query string false "任务类型(audio或subtitle)" @Param page query int false "页码(默认:1)" @Param limit query int false "每页数量(默认:20)" @Success 200 {object} object{tasks=[]service.ProcessTask,total=int,page=int,limit=int} "任务列表和分页信息" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio-subtitle/tasks [get]
func (*AudioSubtitleHandler) ProcessAudio ¶
func (h *AudioSubtitleHandler) ProcessAudio(c *gin.Context)
ProcessAudio 处理音频 @Summary 处理音频 @Description 执行各种音频处理操作(提取、增强、降噪、标准化、替换等),支持异步处理 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param request body service.AudioProcessRequest true "音频处理请求参数(operation可选值:extract/enhance/denoise/normalize/replace/analyze)" @Success 200 {object} service.ProcessResponse "处理任务已创建,返回任务ID和状态" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/audio/process [post]
func (*AudioSubtitleHandler) ProcessSubtitle ¶
func (h *AudioSubtitleHandler) ProcessSubtitle(c *gin.Context)
ProcessSubtitle 处理字幕 @Summary 处理字幕 @Description 执行各种字幕处理操作(生成、提取、翻译、同步、样式调整等) @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param request body service.SubtitleProcessRequest true "字幕处理请求参数(operation可选值:generate/extract/translate/sync/style)" @Success 200 {object} service.ProcessResponse "字幕处理任务已创建" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/subtitle/process [post]
func (*AudioSubtitleHandler) SyncSubtitle ¶
func (h *AudioSubtitleHandler) SyncSubtitle(c *gin.Context)
SyncSubtitle 同步字幕 @Summary 同步字幕 @Description 调整字幕时间轴,使其与视频音频同步 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Param request body object{subtitle_file=string} true "字幕同步请求参数" @Success 200 {object} service.ProcessResponse "字幕同步任务已创建" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/subtitle/sync/{episode_id} [post]
func (*AudioSubtitleHandler) TranslateSubtitle ¶
func (h *AudioSubtitleHandler) TranslateSubtitle(c *gin.Context)
TranslateSubtitle 翻译字幕 @Summary 翻译字幕 @Description 将字幕文件从源语言翻译为目标语言,保持时间轴不变 @Tags 音视频字幕处理 @Accept json @Produce json @Security BearerAuth @Param request body object{subtitle_file=string,source_lang=string,target_lang=string} true "字幕翻译请求参数" @Success 200 {object} service.ProcessResponse "字幕翻译任务已创建" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权访问" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/subtitle/translate [post]
type AudioSubtitleManagementHandler ¶
type AudioSubtitleManagementHandler struct {
// contains filtered or unexported fields
}
AudioSubtitleManagementHandler 音频字幕管理处理器 (管理后台)
func NewAudioSubtitleManagementHandler ¶
func NewAudioSubtitleManagementHandler(audioSubtitleService service.AudioSubtitleManagementServiceInterface) *AudioSubtitleManagementHandler
NewAudioSubtitleManagementHandler 创建音频字幕管理处理器
func (*AudioSubtitleManagementHandler) CheckSyncStatus ¶
func (h *AudioSubtitleManagementHandler) CheckSyncStatus(c *gin.Context)
CheckSyncStatus 检查同步状态 @Summary 检查同步状态 @Description 检查指定剧集的音频字幕同步状态,包括同步精度和偏移量 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param episode_id query int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/sync/status [get]
func (*AudioSubtitleManagementHandler) CreateAudioTrack ¶
func (h *AudioSubtitleManagementHandler) CreateAudioTrack(c *gin.Context)
CreateAudioTrack 创建音频轨道 @Summary 创建音频轨道 @Description 为指定剧集创建新的音频轨道,支持多语言、多音轨类型(原声、配音、解说等) @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param request body model.AudioTrackCreateRequest true "音频轨道创建请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-tracks [post]
func (*AudioSubtitleManagementHandler) CreateSubtitle ¶
func (h *AudioSubtitleManagementHandler) CreateSubtitle(c *gin.Context)
CreateSubtitle 创建字幕 @Summary 创建字幕文件 @Description 为指定剧集创建新的字幕文件,支持多语言、多格式(SRT、VTT、ASS等) @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param request body model.SubtitleCreateRequest true "字幕创建请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitles [post]
func (*AudioSubtitleManagementHandler) DeleteAudioTrack ¶
func (h *AudioSubtitleManagementHandler) DeleteAudioTrack(c *gin.Context)
DeleteAudioTrack 删除音频轨道 @Summary 删除音频轨道 @Description 软删除指定的音频轨道(不会从数据库中物理删除) @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param track_id path int true "音频轨道ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-tracks/{track_id} [delete]
func (*AudioSubtitleManagementHandler) DeleteSubtitle ¶
func (h *AudioSubtitleManagementHandler) DeleteSubtitle(c *gin.Context)
DeleteSubtitle 删除字幕 @Summary 删除字幕 @Description 软删除指定的字幕文件(不会从数据库中物理删除) @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param subtitle_id path int true "字幕ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitles/{subtitle_id} [delete]
func (*AudioSubtitleManagementHandler) GenerateQualityReport ¶
func (h *AudioSubtitleManagementHandler) GenerateQualityReport(c *gin.Context)
GenerateQualityReport 生成媒体质量报告 @Summary 生成媒体质量报告 @Description 为指定剧集生成完整的媒体质量报告,包括所有音频轨道和字幕的质量评估 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param episode_id query int true "剧集ID" @Success 200 {object} model.MediaQualityReport @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/analytics/report [get]
func (*AudioSubtitleManagementHandler) GetAudioQualityCheck ¶
func (h *AudioSubtitleManagementHandler) GetAudioQualityCheck(c *gin.Context)
GetAudioQualityCheck 获取音频质量检测结果 @Summary 获取音频质量检测结果 @Description 根据检测ID获取音频质量检测的详细结果,包括各项评分和问题建议 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param check_id path int true "检测ID" @Success 200 {object} model.AudioQualityCheck @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-quality/check/{check_id} [get]
func (*AudioSubtitleManagementHandler) GetAudioQualityHistory ¶
func (h *AudioSubtitleManagementHandler) GetAudioQualityHistory(c *gin.Context)
GetAudioQualityHistory 获取音频质量检测历史 @Summary 获取音频质量检测历史 @Description 获取指定音频轨道的所有历史质量检测记录,用于跟踪质量变化趋势 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param track_id path int true "音频轨道ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-quality/history/{track_id} [get]
func (*AudioSubtitleManagementHandler) GetAudioTrack ¶
func (h *AudioSubtitleManagementHandler) GetAudioTrack(c *gin.Context)
GetAudioTrack 获取音频轨道详情 @Summary 获取音频轨道详情 @Description 根据音频轨道ID获取详细信息,包括音频编码、比特率、质量评分等 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param track_id path int true "音频轨道ID" @Success 200 {object} model.AudioTrack @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-tracks/{track_id} [get]
func (*AudioSubtitleManagementHandler) GetAudioTracksByEpisode ¶
func (h *AudioSubtitleManagementHandler) GetAudioTracksByEpisode(c *gin.Context)
GetAudioTracksByEpisode 获取剧集的音频轨道 @Summary 获取剧集的所有音频轨道 @Description 获取指定剧集的所有音频轨道列表,包括不同语言、不同质量级别的音轨 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param episode_id path int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-tracks/episode/{episode_id} [get]
func (*AudioSubtitleManagementHandler) GetQualityAnalytics ¶
func (h *AudioSubtitleManagementHandler) GetQualityAnalytics(c *gin.Context)
GetQualityAnalytics 获取质量分析 @Summary 获取质量分析数据 @Description 获取指定剧集的质量分析数据和统计信息,用于质量监控和改进 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param episode_id query int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/analytics/overview [get]
func (*AudioSubtitleManagementHandler) GetSubtitle ¶
func (h *AudioSubtitleManagementHandler) GetSubtitle(c *gin.Context)
GetSubtitle 获取字幕详情 @Summary 获取字幕详情 @Description 根据字幕ID获取详细信息,包括语言、格式、同步状态、质量评分等 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param subtitle_id path int true "字幕ID" @Success 200 {object} model.Subtitle @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitles/{subtitle_id} [get]
func (*AudioSubtitleManagementHandler) GetSubtitleQualityCheck ¶
func (h *AudioSubtitleManagementHandler) GetSubtitleQualityCheck(c *gin.Context)
GetSubtitleQualityCheck 获取字幕质量检测结果 @Summary 获取字幕质量检测结果 @Description 根据检测ID获取字幕质量检测的详细结果,包括各项评分和发现的问题 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param check_id path int true "检测ID" @Success 200 {object} model.SubtitleQualityCheck @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitle-quality/check/{check_id} [get]
func (*AudioSubtitleManagementHandler) GetSubtitleQualityHistory ¶
func (h *AudioSubtitleManagementHandler) GetSubtitleQualityHistory(c *gin.Context)
GetSubtitleQualityHistory 获取字幕质量检测历史 @Summary 获取字幕质量检测历史 @Description 获取指定字幕的所有历史质量检测记录,用于跟踪质量改进情况 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param subtitle_id path int true "字幕ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitle-quality/history/{subtitle_id} [get]
func (*AudioSubtitleManagementHandler) GetSubtitlesByEpisode ¶
func (h *AudioSubtitleManagementHandler) GetSubtitlesByEpisode(c *gin.Context)
GetSubtitlesByEpisode 获取剧集的字幕 @Summary 获取剧集的所有字幕 @Description 获取指定剧集的所有字幕文件列表,包括不同语言、不同类型的字幕 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param episode_id path int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitles/episode/{episode_id} [get]
func (*AudioSubtitleManagementHandler) RunAudioQualityCheck ¶
func (h *AudioSubtitleManagementHandler) RunAudioQualityCheck(c *gin.Context)
RunAudioQualityCheck 运行音频质量检测 @Summary 运行音频质量检测 @Description 对指定的音频轨道执行质量检测,包括音量、清晰度、噪音、失真等多维度分析 @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param track_id path int true "音频轨道ID" @Param request body model.AudioQualityCheckRequest true "音频质量检测请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-quality/check/{track_id} [post]
func (*AudioSubtitleManagementHandler) RunSubtitleQualityCheck ¶
func (h *AudioSubtitleManagementHandler) RunSubtitleQualityCheck(c *gin.Context)
RunSubtitleQualityCheck 运行字幕质量检测 @Summary 运行字幕质量检测 @Description 对指定的字幕文件执行质量检测,包括时间同步、拼写、语法、一致性、可读性等分析 @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param subtitle_id path int true "字幕ID" @Param request body model.SubtitleQualityCheckRequest true "字幕质量检测请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitle-quality/check/{subtitle_id} [post]
func (*AudioSubtitleManagementHandler) SetDefaultAudioTrack ¶
func (h *AudioSubtitleManagementHandler) SetDefaultAudioTrack(c *gin.Context)
SetDefaultAudioTrack 设置默认音频轨道 @Summary 设置默认音频轨道 @Description 将指定音频轨道设置为该剧集的默认音轨,其他音轨的默认状态将被取消 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param track_id path int true "音频轨道ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-tracks/{track_id}/set-default [post]
func (*AudioSubtitleManagementHandler) SetDefaultSubtitle ¶
func (h *AudioSubtitleManagementHandler) SetDefaultSubtitle(c *gin.Context)
SetDefaultSubtitle 设置默认字幕 @Summary 设置默认字幕 @Description 将指定字幕设置为该剧集的默认字幕,其他字幕的默认状态将被取消 @Tags 音视频字幕管理 @Produce json @Security BearerAuth @Param subtitle_id path int true "字幕ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitles/{subtitle_id}/set-default [post]
func (*AudioSubtitleManagementHandler) SyncAudioSubtitle ¶
func (h *AudioSubtitleManagementHandler) SyncAudioSubtitle(c *gin.Context)
SyncAudioSubtitle 音频字幕同步 @Summary 音频字幕同步 @Description 执行音频轨道和字幕的时间同步,支持自动同步和手动设置时间偏移 @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param request body model.AudioSubtitleSyncRequest true "音频字幕同步请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/sync [post]
func (*AudioSubtitleManagementHandler) UpdateAudioTrack ¶
func (h *AudioSubtitleManagementHandler) UpdateAudioTrack(c *gin.Context)
UpdateAudioTrack 更新音频轨道 @Summary 更新音频轨道信息 @Description 更新指定音频轨道的名称、质量级别、激活状态等信息 @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param track_id path int true "音频轨道ID" @Param request body model.AudioTrackUpdateRequest true "音频轨道更新请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/audio-tracks/{track_id} [put]
func (*AudioSubtitleManagementHandler) UpdateSubtitle ¶
func (h *AudioSubtitleManagementHandler) UpdateSubtitle(c *gin.Context)
UpdateSubtitle 更新字幕 @Summary 更新字幕信息 @Description 更新指定字幕的标题、同步状态、时间偏移量等信息 @Tags 音视频字幕管理 @Accept json @Produce json @Security BearerAuth @Param subtitle_id path int true "字幕ID" @Param request body model.SubtitleUpdateRequest true "字幕更新请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /api/v1/admin/audio-subtitle/subtitles/{subtitle_id} [put]
type AuditLogHandler ¶
type AuditLogHandler struct {
// contains filtered or unexported fields
}
AuditLogHandler 审计日志处理器
func NewAuditLogHandler ¶
func NewAuditLogHandler(auditLogService service.AuditLogService) *AuditLogHandler
NewAuditLogHandler 创建审计日志处理器
func (*AuditLogHandler) ExportAuditLogs ¶
func (h *AuditLogHandler) ExportAuditLogs(c *gin.Context)
ExportAuditLogs 导出审计日志(管理员) @Summary 导出审计日志 @Description 导出审计日志为CSV或Excel文件 @Tags 管理后台 - 审计 @Produce json @Security BearerAuth @Param format query string false "导出格式" default(csv) Enums(csv, xlsx) @Param user_id query int false "用户ID" @Param action_type query string false "操作类型" @Param start_date query string false "开始日期" format(date) @Param end_date query string false "结束日期" format(date) @Success 200 {object} map[string]any "导出任务已创建" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/audit/export [post]
func (*AuditLogHandler) GetAdminAuditLogs ¶
func (h *AuditLogHandler) GetAdminAuditLogs(c *gin.Context)
GetAdminAuditLogs 获取审计日志(管理员) @Summary 获取审计日志 @Description 管理员查看系统审计日志,包括所有用户和管理员的操作记录 @Tags 管理后台 - 审计 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(50) @Param user_id query int false "用户ID" @Param action_type query string false "操作类型" @Param resource_type query string false "资源类型" Enums(user, content, comment, order) @Param start_date query string false "开始日期" format(date) @Param end_date query string false "结束日期" format(date) @Success 200 {object} map[string]any "审计日志列表" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/audit/logs [get]
func (*AuditLogHandler) GetExportTaskStatus ¶
func (h *AuditLogHandler) GetExportTaskStatus(c *gin.Context)
GetExportTaskStatus 获取导出任务状态 @Summary 获取导出任务状态 @Description 查询审计日志导出任务的进度和下载链接 @Tags 管理后台 - 审计 @Produce json @Security BearerAuth @Param task_id path string true "任务ID" @Success 200 {object} map[string]any "任务状态" @Failure 404 {object} map[string]any "任务不存在" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/audit/export/{task_id} [get]
func (*AuditLogHandler) GetLoginHistory ¶
func (h *AuditLogHandler) GetLoginHistory(c *gin.Context)
GetLoginHistory 获取登录历史 @Summary 获取登录历史 @Description 获取当前用户的登录历史记录,包括登录时间、IP、设备等信息 @Tags 审计日志 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any "登录历史列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/users/login-history [get]
func (*AuditLogHandler) GetUserActivityLog ¶
func (h *AuditLogHandler) GetUserActivityLog(c *gin.Context)
GetUserActivityLog 获取用户操作日志 @Summary 获取用户操作日志 @Description 获取当前用户的操作记录,包括登录、观看、评论等行为 @Tags 审计日志 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param action_type query string false "操作类型" Enums(login, view, comment, like, download) @Param start_date query string false "开始日期" format(date) @Param end_date query string false "结束日期" format(date) @Success 200 {object} map[string]any "操作日志列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/users/activity-log [get]
func (*AuditLogHandler) GetUserAuditDetail ¶
func (h *AuditLogHandler) GetUserAuditDetail(c *gin.Context)
GetUserAuditDetail 获取用户操作审计详情(管理员) @Summary 获取用户操作审计 @Description 管理员查看指定用户的详细操作记录 @Tags 管理后台 - 审计 @Produce json @Security BearerAuth @Param user_id path int true "用户ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(50) @Param start_date query string false "开始日期" format(date) @Param end_date query string false "结束日期" format(date) @Success 200 {object} map[string]any "用户审计记录" @Failure 400 {object} map[string]any "无效的用户ID" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "权限不足" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/audit/user/{user_id} [get]
func (*AuditLogHandler) GetUserDevices ¶
func (h *AuditLogHandler) GetUserDevices(c *gin.Context)
GetUserDevices 获取已登录设备列表 @Summary 获取已登录设备列表 @Description 获取当前用户所有已登录的设备信息 @Tags 审计日志 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "设备列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/users/devices [get]
func (*AuditLogHandler) LogoutDevice ¶
func (h *AuditLogHandler) LogoutDevice(c *gin.Context)
LogoutDevice 登出指定设备 @Summary 登出指定设备 @Description 强制登出指定设备的会话 @Tags 审计日志 @Accept json @Produce json @Security BearerAuth @Param device_id path string true "设备ID" @Success 200 {object} map[string]any "登出成功" @Failure 400 {object} map[string]any "无效的设备ID" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/users/devices/{device_id}/logout [post]
type AuthHandler ¶
type AuthHandler struct {
// contains filtered or unexported fields
}
AuthHandler 认证处理器
func NewAuthHandler ¶
func NewAuthHandler(services *service.Services) *AuthHandler
NewAuthHandler 创建认证处理器
func (*AuthHandler) ForgotPassword ¶
func (h *AuthHandler) ForgotPassword(c *gin.Context)
ForgotPassword 忘记密码 @Summary 忘记密码 @Description 发送密码重置邮件 @Tags 认证 @Accept json @Produce json @Param request body model.ForgotPasswordRequest true "忘记密码请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Router /auth/forgot-password [post]
func (*AuthHandler) Login ¶
func (h *AuthHandler) Login(c *gin.Context)
Login 用户登录 @Summary 用户登录 @Description 用户账户登录 @Tags 认证 @Accept json @Produce json @Param request body model.LoginRequest true "登录信息" @Success 200 {object} model.AuthResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /auth/login [post]
func (*AuthHandler) Logout ¶
func (h *AuthHandler) Logout(c *gin.Context)
Logout 用户登出 @Summary 用户登出 @Description 用户账户登出,将令牌加入黑名单 @Tags 认证 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /auth/logout [post]
func (*AuthHandler) RefreshToken ¶
func (h *AuthHandler) RefreshToken(c *gin.Context)
RefreshToken 刷新令牌 @Summary 刷新访问令牌 @Description 使用刷新令牌获取新的访问令牌 @Tags 认证 @Accept json @Produce json @Param request body model.RefreshTokenRequest true "刷新令牌请求" @Success 200 {object} model.AuthResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /auth/refresh [post]
func (*AuthHandler) Register ¶
func (h *AuthHandler) Register(c *gin.Context)
Register 用户注册 @Summary 用户注册 @Description 创建新用户账户 @Tags 认证 @Accept json @Produce json @Param request body model.RegisterRequest true "注册信息" @Success 201 {object} model.AuthResponse @Failure 400 {object} map[string]any @Failure 409 {object} map[string]any @Router /auth/register [post]
func (*AuthHandler) ResetPassword ¶
func (h *AuthHandler) ResetPassword(c *gin.Context)
ResetPassword 重置密码 @Summary 重置密码 @Description 使用重置令牌重置密码 @Tags 认证 @Accept json @Produce json @Param request body model.ResetPasswordRequest true "重置密码请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Router /auth/reset-password [post]
type BanUserRequest ¶
type BanUserRequest struct {
Duration int64 `json:"duration" binding:"required,min=60,max=86400"` // 禁言时长(秒),1分钟到1天
Reason string `json:"reason" binding:"required,min=1,max=200"` // 禁言原因
}
BanUserRequest 禁言用户请求
type CSRFHandler ¶
type CSRFHandler struct {
// contains filtered or unexported fields
}
CSRFHandler CSRF令牌处理器
func NewCSRFHandler ¶
func NewCSRFHandler(securityMiddleware *middleware.SecurityMiddleware) *CSRFHandler
NewCSRFHandler 创建CSRF处理器
func (*CSRFHandler) GetCSRFToken ¶
func (h *CSRFHandler) GetCSRFToken(c *gin.Context)
GetCSRFToken 获取CSRF令牌 @Summary 获取CSRF令牌 @Description 为已认证用户生成CSRF(跨站请求伪造)保护令牌,用于防止CSRF攻击 @Tags 安全 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "成功返回CSRF令牌和过期时间" @Failure 401 {object} map[string]any "用户未认证" @Failure 500 {object} map[string]any "服务器内部错误" @Router /api/v1/security/csrf-token [get]
type ChatHandler ¶
type ChatHandler struct {
// contains filtered or unexported fields
}
ChatHandler 聊天处理器
func NewChatHandler ¶
func NewChatHandler(chatService service.ChatServiceInterface) *ChatHandler
NewChatHandler 创建聊天处理器
func (*ChatHandler) CreateRoom ¶
func (h *ChatHandler) CreateRoom(c *gin.Context)
CreateRoom 创建聊天室 @Summary 创建聊天室 @Description 创建新的聊天室 @Tags 聊天室 @Accept json @Produce json @Security Bearer @Param request body service.CreateChatRoomRequest true "聊天室信息" @Success 201 {object} service.ChatRoomResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/rooms [post]
func (*ChatHandler) DeleteMessage ¶
func (h *ChatHandler) DeleteMessage(c *gin.Context)
DeleteMessage 删除消息 @Summary 删除消息 @Description 删除指定的聊天消息(需要是消息作者或管理员) @Tags 聊天 @Produce json @Security Bearer @Param message_id path int true "消息ID" @Success 200 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/messages/{message_id} [delete]
func (*ChatHandler) GetEpisodeRoom ¶
func (h *ChatHandler) GetEpisodeRoom(c *gin.Context)
GetEpisodeRoom 获取剧集聊天室 @Summary 获取剧集聊天室 @Description 获取或创建剧集专属聊天室 @Tags 聊天室 @Produce json @Param episode_id path int true "剧集ID" @Success 200 {object} service.ChatRoomResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/rooms/episode/{episode_id} [get]
func (*ChatHandler) GetMessageByID ¶
func (h *ChatHandler) GetMessageByID(c *gin.Context)
GetMessageByID 获取单条消息 @Summary 获取单条消息 @Description 根据ID获取单条聊天消息 @Tags 聊天 @Produce json @Security Bearer @Param message_id path int true "消息ID" @Success 200 {object} service.ChatMessage @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /chat/messages/{message_id} [get]
func (*ChatHandler) GetMessages ¶
func (h *ChatHandler) GetMessages(c *gin.Context)
GetMessages 获取聊天消息列表 @Summary 获取聊天消息列表 @Description 获取指定聊天室的消息历史 @Tags 聊天 @Accept json @Produce json @Security Bearer @Param request body service.GetChatMessagesRequest true "查询条件" @Success 200 {object} service.ChatMessageListResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/messages/list [post]
func (*ChatHandler) GetRoom ¶
func (h *ChatHandler) GetRoom(c *gin.Context)
GetRoom 获取聊天室信息 @Summary 获取聊天室信息 @Description 获取指定聊天室的详细信息 @Tags 聊天室 @Produce json @Param room_id path string true "聊天室ID" @Success 200 {object} service.ChatRoomResponse @Failure 404 {object} map[string]any @Router /chat/rooms/{room_id} [get]
func (*ChatHandler) GetRoomUsers ¶
func (h *ChatHandler) GetRoomUsers(c *gin.Context)
GetRoomUsers 获取房间用户列表 @Summary 获取房间用户列表 @Description 获取当前在线的房间用户 @Tags 聊天室 @Produce json @Security Bearer @Param room_id path string true "聊天室ID" @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/rooms/{room_id}/users [get]
func (*ChatHandler) GetRooms ¶
func (h *ChatHandler) GetRooms(c *gin.Context)
GetRooms 获取聊天室列表 @Summary 获取聊天室列表 @Description 获取公开聊天室列表 @Tags 聊天室 @Produce json @Param room_type query string false "房间类型" @Param page query int false "页码" default(1) @Param page_size query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/rooms [get]
func (*ChatHandler) JoinRoom ¶
func (h *ChatHandler) JoinRoom(c *gin.Context)
JoinRoom WebSocket连接 - 加入聊天室 @Summary WebSocket连接聊天室 @Description 建立WebSocket连接并加入聊天室进行实时通信 @Tags 聊天 @Security Bearer @Param room_id path string true "聊天室ID" @Success 101 {string} string "Switching Protocols" @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /chat/rooms/{room_id}/ws [get]
func (*ChatHandler) KickUser ¶
func (h *ChatHandler) KickUser(c *gin.Context)
KickUser 踢出用户 @Summary 踢出用户 @Description 将用户踢出聊天室(需要管理员权限) @Tags 聊天室管理 @Accept json @Produce json @Security Bearer @Param room_id path string true "聊天室ID" @Param request body map[string]int64 true "用户ID" @Success 200 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/rooms/{room_id}/kick [post]
func (*ChatHandler) MuteUser ¶
func (h *ChatHandler) MuteUser(c *gin.Context)
MuteUser 禁言用户 @Summary 禁言用户 @Description 禁止用户在聊天室发言(需要管理员权限) @Tags 聊天室管理 @Accept json @Produce json @Security Bearer @Param room_id path string true "聊天室ID" @Param request body map[string]any true "禁言信息" @Success 200 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/rooms/{room_id}/mute [post]
func (*ChatHandler) SendMessage ¶
func (h *ChatHandler) SendMessage(c *gin.Context)
SendMessage 发送聊天消息 @Summary 发送聊天消息 @Description 在聊天室中发送消息 @Tags 聊天 @Accept json @Produce json @Security Bearer @Param request body service.SendChatMessageRequest true "消息内容" @Success 200 {object} service.ChatMessage @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /chat/messages [post]
type ConfigHandler ¶
type ConfigHandler struct{}
ConfigHandler 配置处理器
func (*ConfigHandler) GetPublicConfig ¶
func (h *ConfigHandler) GetPublicConfig(c *gin.Context)
GetPublicConfig 获取公共配置 @Summary 获取公共配置 @Description 获取前端需要的公共配置信息 @Tags 配置 @Produce json @Success 200 {object} map[string]any @Router /config/public [get]
type ContentHandler ¶
type ContentHandler struct {
// contains filtered or unexported fields
}
ContentHandler 内容处理器
func NewContentHandler ¶
func NewContentHandler(services *service.Services) *ContentHandler
NewContentHandler 创建内容处理器
func (*ContentHandler) GetCategories ¶
func (h *ContentHandler) GetCategories(c *gin.Context)
GetCategories 获取分类列表 @Summary 获取分类列表 @Description 获取所有可用的内容分类 @Tags 内容管理 @Produce json @Success 200 {object} model.CategoryListResponse @Failure 500 {object} map[string]any @Router /api/v1/content/categories [get]
func (*ContentHandler) GetEpisodeDetail ¶
func (h *ContentHandler) GetEpisodeDetail(c *gin.Context)
GetEpisodeDetail 获取分集详情 @Summary 获取分集详情 @Description 获取指定分集的详细信息 @Tags 内容管理 @Produce json @Param id path int true "分集ID" @Success 200 {object} model.EpisodeResponse @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/content/episode/{id} [get]
func (*ContentHandler) GetFeatured ¶
func (h *ContentHandler) GetFeatured(c *gin.Context)
GetFeatured 获取推荐内容 @Summary 获取推荐内容 @Description 获取首页推荐的精选内容 @Tags 内容管理 @Produce json @Success 200 {array} model.SeriesResponse @Failure 500 {object} map[string]any @Router /api/v1/content/featured [get]
func (*ContentHandler) GetLatest ¶
func (h *ContentHandler) GetLatest(c *gin.Context)
GetLatest 获取最新内容 @Summary 获取最新内容 @Description 获取最新上线的剧集内容 @Tags 内容管理 @Produce json @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.SeriesListResponse @Failure 500 {object} map[string]any @Router /api/v1/content/latest [get]
func (*ContentHandler) GetSeriesByCategory ¶
func (h *ContentHandler) GetSeriesByCategory(c *gin.Context)
GetSeriesByCategory 根据分类获取剧集 @Summary 根据分类获取剧集 @Description 获取指定分类下的所有剧集 @Tags 内容管理 @Produce json @Param id path int true "分类ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.SeriesListResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/content/category/{id}/series [get]
func (*ContentHandler) GetSeriesDetail ¶
func (h *ContentHandler) GetSeriesDetail(c *gin.Context)
GetSeriesDetail 获取剧集详情 @Summary 获取剧集详情 @Description 获取指定剧集的详细信息 @Tags 内容管理 @Produce json @Param id path int true "剧集ID" @Success 200 {object} model.SeriesResponse @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/content/series/{id} [get]
func (*ContentHandler) GetTrending ¶
func (h *ContentHandler) GetTrending(c *gin.Context)
GetTrending 获取热门内容 @Summary 获取热门内容 @Description 获取当前热门的剧集内容 @Tags 内容管理 @Produce json @Success 200 {object} model.TrendingResponse @Failure 500 {object} map[string]any @Router /api/v1/content/trending [get]
func (*ContentHandler) SearchContent ¶
func (h *ContentHandler) SearchContent(c *gin.Context)
SearchContent 搜索内容 @Summary 搜索内容 @Description 根据关键词搜索剧集内容,支持多种筛选和排序方式 @Tags 内容管理 @Produce json @Param q query string true "搜索关键词" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param category query string false "分类筛选" @Param language query string false "语言筛选(ISO 639-1标准,如:zh=中文, en=英文, ja=日文, ko=韩文)" @Param country query string false "国家/地区筛选(ISO 3166-1标准,如:CN=中国, US=美国, JP=日本, KR=韩国)" @Param sort query string false "排序方式:relevance(相关度)、latest(最新)、popular(热度)、rating(评分)" default(relevance) Enums(relevance, latest, popular, rating) @Success 200 {object} model.SearchResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/content/search [get]
type ContentManagementHandler ¶
type ContentManagementHandler struct {
// contains filtered or unexported fields
}
ContentManagementHandler 内容管理处理器
func NewContentManagementHandler ¶
func NewContentManagementHandler(contentMgmtService service.ContentManagementServiceInterface) *ContentManagementHandler
NewContentManagementHandler 创建内容管理处理器
func (*ContentManagementHandler) BatchCreateContent ¶
func (h *ContentManagementHandler) BatchCreateContent(c *gin.Context)
BatchCreateContent 批量创建内容 @Summary 批量创建内容 @Description 管理员批量创建剧集或分集 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.BatchContentCreateRequest true "批量创建请求" @Success 200 {object} model.BatchContentCreateResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/batch-create [post]
func (*ContentManagementHandler) BatchUpdateContent ¶
func (h *ContentManagementHandler) BatchUpdateContent(c *gin.Context)
BatchUpdateContent 批量更新内容 @Summary 批量更新内容 @Description 管理员批量更新内容信息 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentBatchUpdateRequest true "批量更新请求" @Success 200 {object} model.ContentBatchUpdateResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/batch-update [put]
func (*ContentManagementHandler) CheckContentDuplicate ¶
func (h *ContentManagementHandler) CheckContentDuplicate(c *gin.Context)
CheckContentDuplicate 检查内容重复 @Summary 检查内容重复 @Description 检查内容是否与现有内容重复 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentDuplicateCheckRequest true "重复检查请求" @Success 200 {object} model.ContentDuplicateCheckResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/duplicate-check [post]
func (*ContentManagementHandler) CheckContentQuality ¶
func (h *ContentManagementHandler) CheckContentQuality(c *gin.Context)
CheckContentQuality 检查内容质量 @Summary 检查内容质量 @Description 对指定内容进行质量检查和分析 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentQualityCheckRequest true "质量检查请求" @Success 200 {object} model.ContentQualityCheckResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/quality-check [post]
func (*ContentManagementHandler) CreateCategory ¶
func (h *ContentManagementHandler) CreateCategory(c *gin.Context)
CreateCategory 创建分类 @Summary 创建分类 @Description 管理员创建新的内容分类 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body map[string]any true "分类创建请求" @Success 201 {object} model.Category @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/categories [post]
func (*ContentManagementHandler) CreateEpisode ¶
func (h *ContentManagementHandler) CreateEpisode(c *gin.Context)
CreateEpisode 创建分集 @Summary 创建分集 @Description 管理员为指定剧集创建新的分集 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.AdminEpisodeCreateRequest true "分集创建请求" @Success 201 {object} model.ContentCreateResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/episodes [post]
func (*ContentManagementHandler) CreateSeries ¶
func (h *ContentManagementHandler) CreateSeries(c *gin.Context)
CreateSeries 创建剧集 @Summary 创建剧集 @Description 管理员创建新的剧集内容 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.AdminContentCreateRequest true "剧集创建请求" @Success 201 {object} model.ContentCreateResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/series [post]
func (*ContentManagementHandler) DeleteCategory ¶
func (h *ContentManagementHandler) DeleteCategory(c *gin.Context)
DeleteCategory 删除分类 @Summary 删除分类 @Description 管理员删除分类 @Tags 内容管理 @Produce json @Security BearerAuth @Param id path int true "分类ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/categories/{id} [delete]
func (*ContentManagementHandler) DeleteSeries ¶
func (h *ContentManagementHandler) DeleteSeries(c *gin.Context)
DeleteSeries 删除剧集 @Summary 删除剧集 @Description 管理员删除剧集(软删除) @Tags 内容管理 @Produce json @Security BearerAuth @Param id path int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/series/{id} [delete]
func (*ContentManagementHandler) ExportContent ¶
func (h *ContentManagementHandler) ExportContent(c *gin.Context)
ExportContent 导出内容 @Summary 导出内容 @Description 导出指定内容为文件 @Tags 内容管理 @Produce json @Security BearerAuth @Param content_ids query string true "内容ID列表(逗号分隔)" @Param format query string true "导出格式" Enums(csv,json,excel) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/export [get]
func (*ContentManagementHandler) GetContentAnalytics ¶
func (h *ContentManagementHandler) GetContentAnalytics(c *gin.Context)
GetContentAnalytics 获取内容分析 @Summary 获取内容分析 @Description 获取内容的详细分析报告 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentAnalyticsRequest true "分析请求" @Success 200 {object} model.ContentAnalyticsResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/analytics [post]
func (*ContentManagementHandler) GetContentPerformance ¶
func (h *ContentManagementHandler) GetContentPerformance(c *gin.Context)
GetContentPerformance 获取内容表现 @Summary 获取内容表现 @Description 获取单个内容的表现数据 @Tags 内容管理 @Produce json @Security BearerAuth @Param id path int true "内容ID" @Param content_type query string true "内容类型" Enums(series,episode) @Param time_range query string false "时间范围" default("30d") @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/{id}/performance [get]
func (*ContentManagementHandler) GetContentSchedule ¶
func (h *ContentManagementHandler) GetContentSchedule(c *gin.Context)
GetContentSchedule 获取内容排期 @Summary 获取内容排期 @Description 获取指定排期的详细信息 @Tags 内容管理 @Produce json @Security BearerAuth @Param schedule_id path string true "排期ID" @Success 200 {object} model.ContentScheduleResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/content/schedule/{schedule_id} [get]
func (*ContentManagementHandler) GetImportTemplate ¶
func (h *ContentManagementHandler) GetImportTemplate(c *gin.Context)
GetImportTemplate 获取导入模板 @Summary 获取导入模板 @Description 获取内容导入的模板和说明 @Tags 内容管理 @Produce json @Security BearerAuth @Param content_type query string true "内容类型" Enums(series,episodes) @Param format query string true "格式" Enums(csv,json,excel) @Success 200 {object} model.ContentImportTemplate @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/import-template [get]
func (*ContentManagementHandler) ImportContent ¶
func (h *ContentManagementHandler) ImportContent(c *gin.Context)
ImportContent 导入内容 @Summary 导入内容 @Description 从文件或数据导入内容 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param data formData file true "导入文件" @Param template formData string true "模板配置" @Success 200 {object} model.BatchContentCreateResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/import [post]
func (*ContentManagementHandler) ScheduleContent ¶
func (h *ContentManagementHandler) ScheduleContent(c *gin.Context)
ScheduleContent 内容排期 @Summary 内容排期 @Description 为内容设置发布排期 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentScheduleRequest true "排期请求" @Success 200 {object} model.ContentScheduleResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/schedule [post]
func (*ContentManagementHandler) UpdateCategory ¶
func (h *ContentManagementHandler) UpdateCategory(c *gin.Context)
UpdateCategory 更新分类 @Summary 更新分类 @Description 管理员更新分类信息 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "分类ID" @Param updates body map[string]any true "更新数据" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/categories/{id} [put]
func (*ContentManagementHandler) UpdateSeries ¶
func (h *ContentManagementHandler) UpdateSeries(c *gin.Context)
UpdateSeries 更新剧集 @Summary 更新剧集 @Description 管理员更新剧集信息 @Tags 内容管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "剧集ID" @Param request body model.AdminContentUpdateRequest true "更新请求" @Success 200 {object} model.ContentUpdateResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/content/series/{id} [put]
type ContentSecurityHandler ¶
type ContentSecurityHandler struct {
// contains filtered or unexported fields
}
ContentSecurityHandler 内容安全处理器
func NewContentSecurityHandler ¶
func NewContentSecurityHandler(securityService service.ContentSecurityServiceInterface) *ContentSecurityHandler
NewContentSecurityHandler 创建内容安全处理器
func (*ContentSecurityHandler) AssignReviewTasks ¶
func (h *ContentSecurityHandler) AssignReviewTasks(c *gin.Context)
AssignReviewTasks 分配审核任务 @Summary 分配审核任务 @Description 将审核任务分配给指定的审核员 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body model.ReviewTaskAssignRequest true "任务分配请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/review/assign [post]
func (*ContentSecurityHandler) CreateAIModel ¶
func (h *ContentSecurityHandler) CreateAIModel(c *gin.Context)
CreateAIModel 创建AI模型 @Summary 创建AI审核模型 @Description 创建新的AI内容审核模型配置 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body map[string]any true "AI模型配置数据" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/ai-models [post]
func (*ContentSecurityHandler) CreateReviewWorkflow ¶
func (h *ContentSecurityHandler) CreateReviewWorkflow(c *gin.Context)
CreateReviewWorkflow 创建审核工作流 @Summary 创建审核工作流 @Description 创建新的内容审核工作流,定义审核步骤和规则 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body model.ReviewWorkflowCreateRequest true "工作流创建请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/workflows [post]
func (*ContentSecurityHandler) CreateViolationReport ¶
func (h *ContentSecurityHandler) CreateViolationReport(c *gin.Context)
CreateViolationReport 创建违规举报 @Summary 创建违规举报 @Description 用户举报违规内容,支持匿名举报 @Tags 内容安全 @Accept json @Produce json @Param request body model.ViolationReportCreateRequest true "举报请求参数" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Router /admin/security/reports [post]
func (*ContentSecurityHandler) GetAIModels ¶
func (h *ContentSecurityHandler) GetAIModels(c *gin.Context)
GetAIModels 获取AI模型列表 @Summary 获取AI模型列表 @Description 获取所有AI审核模型配置列表,可按类型筛选 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param model_type query string false "模型类型" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/ai-models [get]
func (*ContentSecurityHandler) GetActiveTakedowns ¶
func (h *ContentSecurityHandler) GetActiveTakedowns(c *gin.Context)
GetActiveTakedowns 获取活跃下架记录 @Summary 获取活跃下架记录 @Description 获取所有当前处于下架状态的内容列表 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/takedowns/active [get]
func (*ContentSecurityHandler) GetComplianceMetrics ¶
func (h *ContentSecurityHandler) GetComplianceMetrics(c *gin.Context)
GetComplianceMetrics 获取合规指标 @Summary 获取合规性指标 @Description 获取内容安全合规性相关指标数据 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/compliance-metrics [get]
func (*ContentSecurityHandler) GetPendingScans ¶
func (h *ContentSecurityHandler) GetPendingScans(c *gin.Context)
GetPendingScans 获取待处理扫描 @Summary 获取待处理扫描列表 @Description 获取所有状态为待处理的安全扫描任务列表 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/scans/pending [get]
func (*ContentSecurityHandler) GetReviewQueue ¶
func (h *ContentSecurityHandler) GetReviewQueue(c *gin.Context)
GetReviewQueue 获取审核队列 @Summary 获取审核队列 @Description 获取待审核内容队列,支持分页、筛选和排序 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param status query string false "审核状态" @Param priority query string false "优先级" @Param content_type query string false "内容类型" @Param assigned_to query int false "分配给指定用户ID" @Param sort_by query string false "排序字段" default(created_at) @Param sort_order query string false "排序方向" default(desc) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/review/queue [get]
func (*ContentSecurityHandler) GetReviewWorkflows ¶
func (h *ContentSecurityHandler) GetReviewWorkflows(c *gin.Context)
GetReviewWorkflows 获取审核工作流列表 @Summary 获取审核工作流列表 @Description 获取所有审核工作流配置列表,可按类型筛选 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param workflow_type query string false "工作流类型" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/workflows [get]
func (*ContentSecurityHandler) GetReviewerPerformance ¶
func (h *ContentSecurityHandler) GetReviewerPerformance(c *gin.Context)
GetReviewerPerformance 获取审核员表现 @Summary 获取审核员绩效数据 @Description 获取指定审核员在指定时间段内的工作表现和绩效指标 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param reviewer_id path int true "审核员ID" @Param days query int false "统计天数" default(30) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/reviewers/{reviewer_id}/performance [get]
func (*ContentSecurityHandler) GetSecurityAnalytics ¶
func (h *ContentSecurityHandler) GetSecurityAnalytics(c *gin.Context)
GetSecurityAnalytics 获取安全分析 @Summary 获取安全分析数据 @Description 获取内容安全相关的统计分析数据和指标 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/analytics [get]
func (*ContentSecurityHandler) GetSecurityScan ¶
func (h *ContentSecurityHandler) GetSecurityScan(c *gin.Context)
GetSecurityScan 获取安全扫描结果 @Summary 获取安全扫描结果 @Description 根据扫描ID获取安全扫描的详细结果信息 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param scan_id path int true "扫描ID" @Success 200 {object} model.ContentSecurityScan @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/security/scan/{scan_id} [get]
func (*ContentSecurityHandler) GetUserReviewTasks ¶
func (h *ContentSecurityHandler) GetUserReviewTasks(c *gin.Context)
GetUserReviewTasks 获取用户的审核任务 @Summary 获取用户审核任务 @Description 获取当前用户被分配的审核任务列表 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param status query string false "任务状态" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/review/my-tasks [get]
func (*ContentSecurityHandler) GetViolationReports ¶
func (h *ContentSecurityHandler) GetViolationReports(c *gin.Context)
GetViolationReports 获取违规举报列表 @Summary 获取违规举报列表 @Description 获取所有违规举报记录,支持按状态筛选 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param status query string false "举报状态" @Param limit query int false "返回数量" default(50) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/security/reports [get]
func (*ContentSecurityHandler) ProcessViolationReport ¶
func (h *ContentSecurityHandler) ProcessViolationReport(c *gin.Context)
ProcessViolationReport 处理违规举报 @Summary 处理违规举报 @Description 管理员处理违规举报,采取相应行动(驳回/调查/下架/升级) @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param report_id path int true "举报ID" @Param request body object{action=string,resolution=string} true "处理请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/reports/{report_id}/process [post]
func (*ContentSecurityHandler) RestoreContent ¶
func (h *ContentSecurityHandler) RestoreContent(c *gin.Context)
RestoreContent 恢复内容 @Summary 恢复已下架内容 @Description 恢复之前被下架的内容,需提供恢复理由 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param takedown_id path int true "下架记录ID" @Param request body object{reason=string} true "恢复理由" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/takedowns/{takedown_id}/restore [post]
func (*ContentSecurityHandler) StartSecurityScan ¶
func (h *ContentSecurityHandler) StartSecurityScan(c *gin.Context)
StartSecurityScan 开始安全扫描 @Summary 启动安全扫描 @Description 对指定内容启动安全扫描任务,检测违规内容 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentSecurityScanRequest true "扫描请求参数" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/scan [post]
func (*ContentSecurityHandler) SubmitReviewDecision ¶
func (h *ContentSecurityHandler) SubmitReviewDecision(c *gin.Context)
SubmitReviewDecision 提交审核决策 @Summary 提交审核决策 @Description 审核员提交对内容的审核决策(通过/拒绝等) @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body model.ReviewDecisionRequest true "审核决策请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /admin/security/review/decision [post]
func (*ContentSecurityHandler) TakedownContent ¶
func (h *ContentSecurityHandler) TakedownContent(c *gin.Context)
TakedownContent 下架内容 @Summary 下架违规内容 @Description 强制下架违规内容,记录下架原因和相关信息 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body model.ContentTakedownRequest true "下架请求参数" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/takedown [post]
func (*ContentSecurityHandler) TrainAIModel ¶
func (h *ContentSecurityHandler) TrainAIModel(c *gin.Context)
TrainAIModel 训练AI模型 @Summary 训练AI模型 @Description 启动AI模型训练任务,使用指定的训练数据集 @Tags 内容安全 @Accept json @Produce json @Security BearerAuth @Param request body model.AIModelTrainingRequest true "模型训练请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/security/ai-models/train [post]
type CopyrightManagementHandler ¶
type CopyrightManagementHandler struct {
// contains filtered or unexported fields
}
CopyrightManagementHandler 版权管理处理器
func NewCopyrightManagementHandler ¶
func NewCopyrightManagementHandler(copyrightService service.CopyrightManagementServiceInterface) *CopyrightManagementHandler
NewCopyrightManagementHandler 创建版权管理处理器
func (*CopyrightManagementHandler) ApproveLicense ¶
func (h *CopyrightManagementHandler) ApproveLicense(c *gin.Context)
ApproveLicense 批准授权 @Summary 审批授权 @Description 管理员对授权申请进行审批,可以批准(approved)或拒绝(rejected),并记录审批备注 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "授权ID" @Param request body model.LicenseApprovalRequest true "授权审批请求参数" @Success 200 {object} map[string]any{message=string} "审批成功" @Failure 400 {object} map[string]any "请求参数错误或审批失败" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/licenses/{id}/approve [post]
func (*CopyrightManagementHandler) CalculateRoyalty ¶
func (h *CopyrightManagementHandler) CalculateRoyalty(c *gin.Context)
CalculateRoyalty 计算版税 @Summary 计算版税 @Description 根据授权和收入数据计算版税,包含总收入、版税率、扣除项、预扣税等,生成版税支付记录 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param request body model.RoyaltyCalculationRequest true "版税计算请求参数" @Success 201 {object} map[string]any{message=string,payment=model.RoyaltyPayment} "计算成功" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/royalty/calculate [post]
func (*CopyrightManagementHandler) CheckLicenseCompliance ¶
func (h *CopyrightManagementHandler) CheckLicenseCompliance(c *gin.Context)
CheckLicenseCompliance 检查授权合规性 @Summary 检查授权合规性 @Description 检查指定授权的合规性,包括是否过期、状态是否有效、版税支付情况等 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param id path int true "授权ID" @Success 200 {object} map[string]any{license_id=int64,status=string,issues=[]string,warnings=[]string,checked_at=string} "合规检查结果" @Failure 400 {object} map[string]any "授权ID无效" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/licenses/{id}/compliance [get]
func (*CopyrightManagementHandler) CreateCopyright ¶
func (h *CopyrightManagementHandler) CreateCopyright(c *gin.Context)
CreateCopyright 创建版权 @Summary 创建版权 @Description 创建新的版权记录,包含版权基本信息、归属信息、创作信息、期限、地域范围、权利类型等 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param request body model.CopyrightCreateRequest true "版权创建请求参数" @Success 201 {object} map[string]any{message=string,copyright=model.Copyright} "创建成功" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights [post]
func (*CopyrightManagementHandler) CreateDispute ¶
func (h *CopyrightManagementHandler) CreateDispute(c *gin.Context)
CreateDispute 创建版权争议 @Summary 创建版权争议 @Description 为指定版权创建争议记录,包含争议类型、索赔方信息、索赔描述和索赔金额等 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "版权ID" @Param request body map[string]any true "争议数据(dispute_type, claimant_type, claimant_name, claim_description, damages_claimed等)" @Success 201 {object} map[string]any{message=string,dispute=model.CopyrightDispute} "创建成功" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights/{id}/disputes [post]
func (*CopyrightManagementHandler) CreateLicense ¶
func (h *CopyrightManagementHandler) CreateLicense(c *gin.Context)
CreateLicense 创建授权 @Summary 创建授权 @Description 为已有版权创建授权许可,包含被许可方信息、授权类型、使用范围、期限、财务条款等 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param request body model.LicenseCreateRequest true "授权创建请求参数" @Success 201 {object} map[string]any{message=string,license=model.License} "创建成功" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/licenses [post]
func (*CopyrightManagementHandler) GenerateRoyaltyReport ¶
func (h *CopyrightManagementHandler) GenerateRoyaltyReport(c *gin.Context)
GenerateRoyaltyReport 生成版税报告 @Summary 生成版税报告 @Description 为指定授权和时间范围生成版税报告,包含收入、版税、观看次数等统计数据 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param license_id path int true "授权ID" @Param start_date query string true "开始日期(YYYY-MM-DD格式)" @Param end_date query string true "结束日期(YYYY-MM-DD格式)" @Success 200 {object} map[string]any "版税报告数据" @Failure 400 {object} map[string]any "请求参数错误(授权ID或日期格式无效)" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/royalty/license/{license_id}/report [get]
func (*CopyrightManagementHandler) GetActiveDisputes ¶
func (h *CopyrightManagementHandler) GetActiveDisputes(c *gin.Context)
GetActiveDisputes 获取活跃争议 @Summary 获取活跃争议列表 @Description 获取所有未解决的活跃版权争议列表 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Success 200 {object} map[string]any{disputes=[]model.CopyrightDispute,total=int} "活跃争议列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyright-disputes/active [get]
func (*CopyrightManagementHandler) GetComplianceReport ¶
func (h *CopyrightManagementHandler) GetComplianceReport(c *gin.Context)
GetComplianceReport 获取合规报告 @Summary 获取合规报告 @Description 获取整体合规报告,包含版权和授权的合规统计、即将到期项、活跃争议、待支付版税等 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "合规报告数据" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyright-analytics/compliance-report [get]
func (*CopyrightManagementHandler) GetCopyright ¶
func (h *CopyrightManagementHandler) GetCopyright(c *gin.Context)
GetCopyright 获取版权信息 @Summary 获取版权详情 @Description 根据版权ID获取版权的详细信息 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param id path int true "版权ID" @Success 200 {object} model.Copyright "版权详情" @Failure 400 {object} map[string]any "版权ID无效" @Failure 401 {object} map[string]any "未授权" @Failure 404 {object} map[string]any "版权不存在" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights/{id} [get]
func (*CopyrightManagementHandler) GetCopyrightAnalytics ¶
func (h *CopyrightManagementHandler) GetCopyrightAnalytics(c *gin.Context)
GetCopyrightAnalytics 获取版权分析 @Summary 获取版权分析数据 @Description 获取版权管理的综合分析数据,包含版权统计、授权统计、收入统计、合规评分、分类统计、趋势数据等 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Success 200 {object} model.CopyrightAnalytics "版权分析数据" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyright-analytics/overview [get]
func (*CopyrightManagementHandler) GetCopyrightLicenses ¶
func (h *CopyrightManagementHandler) GetCopyrightLicenses(c *gin.Context)
GetCopyrightLicenses 获取版权的授权列表 @Summary 获取版权的授权列表 @Description 获取指定版权下的所有授权许可列表 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param id path int true "版权ID" @Success 200 {object} map[string]any{licenses=[]model.LicenseInfo,total=int} "版权授权列表" @Failure 400 {object} map[string]any "版权ID无效" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights/{id}/licenses [get]
func (*CopyrightManagementHandler) GetCopyrights ¶
func (h *CopyrightManagementHandler) GetCopyrights(c *gin.Context)
GetCopyrights 获取版权列表 @Summary 获取版权列表 @Description 分页查询版权列表,支持按作品类型、所有者类型、状态、地域、到期天数等条件筛选和排序 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param search query string false "搜索关键词(标题、所有者、创作者)" @Param work_type query string false "作品类型(script/music/character/format/concept)" @Param owner_type query string false "所有者类型(individual/company/estate/collective)" @Param status query string false "版权状态(active/expired/disputed/transferred)" @Param territory query string false "地域筛选" @Param expiring_days query int false "即将到期的天数(如30表示30天内到期)" @Param sort_by query string false "排序字段" default(created_at) @Param sort_order query string false "排序方向(asc/desc)" default(desc) @Success 200 {object} model.CopyrightListResponse "版权列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights [get]
func (*CopyrightManagementHandler) GetExpiringCopyrights ¶
func (h *CopyrightManagementHandler) GetExpiringCopyrights(c *gin.Context)
GetExpiringCopyrights 获取即将到期的版权 @Summary 获取即将到期的版权 @Description 获取指定天数内即将到期的版权列表,用于提前预警和处理 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param days query int false "天数(获取多少天内到期的版权)" default(30) @Success 200 {object} map[string]any{copyrights=[]model.CopyrightInfo,total=int,days=int} "即将到期的版权列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights/expiring [get]
func (*CopyrightManagementHandler) GetLicense ¶
func (h *CopyrightManagementHandler) GetLicense(c *gin.Context)
GetLicense 获取授权信息 @Summary 获取授权详情 @Description 根据授权ID获取授权的详细信息 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param id path int true "授权ID" @Success 200 {object} model.License "授权详情" @Failure 400 {object} map[string]any "授权ID无效" @Failure 401 {object} map[string]any "未授权" @Failure 404 {object} map[string]any "授权不存在" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/licenses/{id} [get]
func (*CopyrightManagementHandler) GetLicenses ¶
func (h *CopyrightManagementHandler) GetLicenses(c *gin.Context)
GetLicenses 获取授权列表 @Summary 获取授权列表 @Description 分页查询授权列表,支持按授权类型、使用类型、状态、被许可方等条件筛选和排序 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param search query string false "搜索关键词(授权编号、被许可方名称)" @Param license_type query string false "授权类型(exclusive/non_exclusive/sole)" @Param usage_type query string false "使用类型(broadcast/streaming/distribution/adaptation)" @Param status query string false "授权状态(draft/active/suspended/expired/terminated)" @Param licensee_name query string false "被许可方名称" @Param expiring_days query int false "即将到期的天数" @Param sort_by query string false "排序字段" default(created_at) @Param sort_order query string false "排序方向(asc/desc)" default(desc) @Success 200 {object} map[string]any{licenses=[]model.LicenseInfo,total=int64,page=int,limit=int} "授权列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/licenses [get]
func (*CopyrightManagementHandler) GetPendingRoyalties ¶
func (h *CopyrightManagementHandler) GetPendingRoyalties(c *gin.Context)
GetPendingRoyalties 获取待支付版税 @Summary 获取待支付版税列表 @Description 获取所有已计算但尚未支付的版税记录列表 @Tags 管理后台 - 版权管理 @Produce json @Security BearerAuth @Success 200 {object} map[string]any{royalties=[]model.RoyaltyPayment,total=int} "待支付版税列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/royalty/pending [get]
func (*CopyrightManagementHandler) ProcessRoyaltyPayment ¶
func (h *CopyrightManagementHandler) ProcessRoyaltyPayment(c *gin.Context)
ProcessRoyaltyPayment 处理版税支付 @Summary 处理版税支付 @Description 处理版税支付,更新支付状态、支付方式、支付参考号和支付日期 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param payment_id path int true "版税支付ID" @Param request body map[string]any true "支付数据(payment_method, payment_reference, payment_date等)" @Success 200 {object} map[string]any{message=string} "处理成功" @Failure 400 {object} map[string]any "请求参数错误或处理失败" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/royalty/payment/{payment_id}/process [post]
func (*CopyrightManagementHandler) ResolveDispute ¶
func (h *CopyrightManagementHandler) ResolveDispute(c *gin.Context)
ResolveDispute 解决争议 @Summary 解决版权争议 @Description 管理员对版权争议进行解决,记录解决方案和解决时间 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param dispute_id path int true "争议ID" @Param request body map[string]any{resolution=string} true "解决方案" @Success 200 {object} map[string]any{message=string} "解决成功" @Failure 400 {object} map[string]any "请求参数错误或解决失败" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyright-disputes/{dispute_id}/resolve [post]
func (*CopyrightManagementHandler) VerifyCopyright ¶
func (h *CopyrightManagementHandler) VerifyCopyright(c *gin.Context)
VerifyCopyright 验证版权 @Summary 验证版权 @Description 管理员对版权进行验证,可以通过(verified)或拒绝(rejected),并记录验证备注 @Tags 管理后台 - 版权管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "版权ID" @Param request body model.CopyrightVerificationRequest true "版权验证请求参数" @Success 200 {object} map[string]any{message=string} "验证成功" @Failure 400 {object} map[string]any "请求参数错误或验证失败" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/copyrights/{id}/verify [post]
type CreatorHandler ¶
type CreatorHandler struct {
// contains filtered or unexported fields
}
CreatorHandler 创作者处理器
func NewCreatorHandler ¶
func NewCreatorHandler( creatorService service.CreatorServiceInterface, videoUploadService *service.VideoUploadService, db *gorm.DB, ) *CreatorHandler
NewCreatorHandler 创建创作者处理器
func (*CreatorHandler) BatchUploadEpisodes ¶
func (h *CreatorHandler) BatchUploadEpisodes(c *gin.Context)
BatchUploadEpisodes 批量上传Episodes @Summary 批量上传Episodes @Description 创作者为指定项目批量上传Episodes @Tags 创作者工具 @Accept json @Produce json @Security BearerAuth @Param id path int true "项目ID" @Param request body map[string]any true "批量上传请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 403 {object} map[string]any @Router /creator/projects/{id}/episodes/batch-upload [post]
func (*CreatorHandler) CreateProject ¶
func (h *CreatorHandler) CreateProject(c *gin.Context)
CreateProject 创建项目 @Summary 创建项目 @Description 创作者创建新的短剧项目 @Tags 创作者工具 @Accept json @Produce json @Security BearerAuth @Param request body service.CreateProjectRequest true "项目信息" @Success 201 {object} service.CreatorProject @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /creator/projects [post]
func (*CreatorHandler) DeleteProject ¶
func (h *CreatorHandler) DeleteProject(c *gin.Context)
DeleteProject 删除项目 @Summary 删除项目 @Description 删除指定项目 @Tags 创作者工具 @Produce json @Security BearerAuth @Param id path int true "项目ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /creator/projects/{id} [delete]
func (*CreatorHandler) GetAnalytics ¶
func (h *CreatorHandler) GetAnalytics(c *gin.Context)
GetAnalytics 获取创作者数据分析 @Summary 获取创作者数据分析 @Description 获取创作者的详细数据分析报告 @Tags 创作者工具 @Produce json @Security BearerAuth @Param time_range query string false "时间范围" Enums(today,week,month,year) default(month) @Success 200 {object} service.CreatorAnalytics @Failure 401 {object} map[string]any @Router /creator/analytics [get]
func (*CreatorHandler) GetEarnings ¶
func (h *CreatorHandler) GetEarnings(c *gin.Context)
GetEarnings 获取收益信息 @Summary 获取收益信息 @Description 获取创作者的收益统计和历史记录 @Tags 创作者工具 @Produce json @Security BearerAuth @Success 200 {object} service.CreatorEarnings @Failure 401 {object} map[string]any @Router /creator/earnings [get]
func (*CreatorHandler) GetPendingReview ¶
func (h *CreatorHandler) GetPendingReview(c *gin.Context)
GetPendingReview 获取待审核Episode列表 @Summary 获取待审核Episode列表 @Description 创作者查看自己待审核的Episodes @Tags 创作者工具 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Router /creator/pending-review [get]
func (*CreatorHandler) GetProject ¶
func (h *CreatorHandler) GetProject(c *gin.Context)
GetProject 获取项目详情 @Summary 获取项目详情 @Description 获取指定项目的详细信息 @Tags 创作者工具 @Produce json @Security BearerAuth @Param id path int true "项目ID" @Success 200 {object} service.CreatorProject @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /creator/projects/{id} [get]
func (*CreatorHandler) GetProjectAnalytics ¶
func (h *CreatorHandler) GetProjectAnalytics(c *gin.Context)
GetProjectAnalytics 获取项目数据分析 @Summary 获取项目数据分析 @Description 获取指定项目的详细数据分析 @Tags 创作者工具 @Produce json @Security BearerAuth @Param id path int true "项目ID" @Param time_range query string false "时间范围" default(month) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /creator/projects/{id}/analytics [get]
func (*CreatorHandler) GetProjects ¶
func (h *CreatorHandler) GetProjects(c *gin.Context)
GetProjects 获取项目列表 @Summary 获取项目列表 @Description 获取当前创作者的项目列表 @Tags 创作者工具 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param status query string false "项目状态" Enums(DRAFT,IN_PROGRESS,COMPLETED,PUBLISHED) @Param category query string false "项目分类" @Param search query string false "搜索关键词" @Param sort_by query string false "排序字段" default(created_at) @Param sort_desc query bool false "是否降序" default(true) @Success 200 {object} service.ProjectListResponse @Failure 401 {object} map[string]any @Router /creator/projects [get]
func (*CreatorHandler) GetReviewHistory ¶
func (h *CreatorHandler) GetReviewHistory(c *gin.Context)
GetReviewHistory 获取审核历史 @Summary 获取审核历史 @Description 创作者查看自己的审核历史 @Tags 创作者工具 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Router /creator/review-history [get]
func (*CreatorHandler) GetWithdrawHistory ¶
func (h *CreatorHandler) GetWithdrawHistory(c *gin.Context)
GetWithdrawHistory 获取提现历史 @Summary 获取提现历史 @Description 获取创作者的提现历史记录 @Tags 创作者工具 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /creator/earnings/withdraw-history [get]
func (*CreatorHandler) PublishProject ¶
func (h *CreatorHandler) PublishProject(c *gin.Context)
PublishProject 发布项目 @Summary 发布项目 @Description 发布项目到平台 @Tags 创作者工具 @Produce json @Security BearerAuth @Param id path int true "项目ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /creator/projects/{id}/publish [post]
func (*CreatorHandler) RequestWithdraw ¶
func (h *CreatorHandler) RequestWithdraw(c *gin.Context)
RequestWithdraw 申请提现 @Summary 申请提现 @Description 创作者申请提现收益 @Tags 创作者工具 @Accept json @Produce json @Security BearerAuth @Param request body service.WithdrawRequest true "提现信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /creator/earnings/withdraw [post]
func (*CreatorHandler) UpdateProject ¶
func (h *CreatorHandler) UpdateProject(c *gin.Context)
UpdateProject 更新项目 @Summary 更新项目 @Description 更新项目信息 @Tags 创作者工具 @Accept json @Produce json @Security BearerAuth @Param id path int true "项目ID" @Param request body service.UpdateProjectRequest true "更新信息" @Success 200 {object} service.CreatorProject @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /creator/projects/{id} [put]
func (*CreatorHandler) UploadEpisode ¶
func (h *CreatorHandler) UploadEpisode(c *gin.Context)
UploadEpisode 创作者上传Episode @Summary 创作者上传Episode @Description 创作者为指定项目上传Episode视频,需先创建项目 @Tags 创作者工具 @Accept multipart/form-data @Produce json @Security BearerAuth @Param id path int true "项目ID" @Param episode_number formData int true "集数" @Param title formData string true "集标题" @Param description formData string false "集简介" @Param video formData file true "视频文件" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 403 {object} map[string]any @Router /creator/projects/{id}/episodes/upload [post]
type DanmakuHandler ¶
type DanmakuHandler struct {
// contains filtered or unexported fields
}
func NewDanmakuHandler ¶
func NewDanmakuHandler(danmakuService service.DanmakuServiceInterface) *DanmakuHandler
func (*DanmakuHandler) BanUser ¶
func (h *DanmakuHandler) BanUser(c *gin.Context)
BanUser 禁言用户 @Summary 禁言用户 @Description 在指定剧集中禁言用户(仅限管理员) @Tags 弹幕 @Accept json @Produce json @Param episode_id path int true "剧集ID" @Param user_id path int true "用户ID" @Param request body BanUserRequest true "禁言请求" @Success 200 {object} map[string]any @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Security BearerAuth @Router /api/v1/danmaku/room/{episode_id}/ban/{user_id} [post]
func (*DanmakuHandler) DeleteDanmaku ¶
func (h *DanmakuHandler) DeleteDanmaku(c *gin.Context)
DeleteDanmaku 删除弹幕 @Summary 删除弹幕 @Description 删除指定的弹幕(仅限作者或管理员) @Tags 弹幕 @Accept json @Produce json @Param danmaku_id path int true "弹幕ID" @Success 200 {object} map[string]any @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Security BearerAuth @Router /api/v1/danmaku/{danmaku_id} [delete]
func (*DanmakuHandler) GetDanmakus ¶
func (h *DanmakuHandler) GetDanmakus(c *gin.Context)
GetDanmakus 获取弹幕列表 @Summary 获取弹幕列表 @Description 获取指定剧集的弹幕列表 @Tags 弹幕 @Accept json @Produce json @Param episode_id query int true "剧集ID" @Param start_time query number false "开始时间" @Param end_time query number false "结束时间" @Param page query int false "页码" default(1) @Param page_size query int false "每页数量" default(50) @Success 200 {object} service.DanmakuListResponse @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/danmaku/list [get]
func (*DanmakuHandler) GetDanmakusByTimeRange ¶
func (h *DanmakuHandler) GetDanmakusByTimeRange(c *gin.Context)
GetDanmakusByTimeRange 根据时间范围获取弹幕 @Summary 根据时间范围获取弹幕 @Description 获取指定时间范围内的弹幕(用于播放器实时加载) @Tags 弹幕 @Accept json @Produce json @Param episode_id path int true "剧集ID" @Param start_time query number true "开始时间" @Param end_time query number true "结束时间" @Success 200 {array} service.DanmakuMessage @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/danmaku/episode/{episode_id}/range [get]
func (*DanmakuHandler) GetOnlineUsers ¶
func (h *DanmakuHandler) GetOnlineUsers(c *gin.Context)
GetOnlineUsers 获取在线用户列表 @Summary 获取在线用户列表 @Description 获取弹幕房间内的在线用户列表 @Tags 弹幕 @Accept json @Produce json @Param episode_id path int true "剧集ID" @Success 200 {array} string @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/danmaku/room/{episode_id}/users [get]
func (*DanmakuHandler) GetRoomStats ¶
func (h *DanmakuHandler) GetRoomStats(c *gin.Context)
GetRoomStats 获取房间统计 @Summary 获取弹幕房间统计 @Description 获取指定剧集的弹幕房间统计信息 @Tags 弹幕 @Accept json @Produce json @Param episode_id path int true "剧集ID" @Success 200 {object} service.DanmakuStats @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/danmaku/room/{episode_id}/stats [get]
func (*DanmakuHandler) SendDanmaku ¶
func (h *DanmakuHandler) SendDanmaku(c *gin.Context)
SendDanmaku 发送弹幕 @Summary 发送弹幕 @Description 向指定剧集发送弹幕 @Tags 弹幕 @Accept json @Produce json @Param request body service.SendDanmakuRequest true "发送弹幕请求" @Success 200 {object} service.DanmakuMessage @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 429 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Security BearerAuth @Router /api/v1/danmaku/send [post]
func (*DanmakuHandler) WebSocketDanmaku ¶
func (h *DanmakuHandler) WebSocketDanmaku(c *gin.Context)
WebSocketDanmaku WebSocket弹幕连接 @Summary WebSocket弹幕连接 @Description 建立WebSocket连接进行实时弹幕交互 @Tags 弹幕 @Param episode_id query int true "剧集ID" @Security BearerAuth @Router /api/v1/danmaku/ws [get]
type DownloadHandler ¶
type DownloadHandler struct {
// contains filtered or unexported fields
}
DownloadHandler 下载处理器
func NewDownloadHandler ¶
func NewDownloadHandler(downloadService service.DownloadServiceInterface) *DownloadHandler
NewDownloadHandler 创建下载处理器
func (*DownloadHandler) CancelDownload ¶
func (h *DownloadHandler) CancelDownload(c *gin.Context)
CancelDownload 取消下载 @Summary 取消下载 @Description 取消指定的下载任务 @Tags 下载 @Produce json @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id}/cancel [post]
func (*DownloadHandler) DeleteDownload ¶
func (h *DownloadHandler) DeleteDownload(c *gin.Context)
DeleteDownload 删除下载 @Summary 删除下载 @Description 删除指定的下载记录和文件 @Tags 下载 @Produce json @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id} [delete]
func (*DownloadHandler) DownloadFile ¶
func (h *DownloadHandler) DownloadFile(c *gin.Context)
DownloadFile 下载文件 @Summary 下载文件 @Description 下载已完成的文件 @Tags 下载 @Produce application/octet-stream @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {file} binary "文件内容" @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id}/file [get]
func (*DownloadHandler) GetDownloadHistory ¶
func (h *DownloadHandler) GetDownloadHistory(c *gin.Context)
GetDownloadHistory 获取下载历史 @Summary 获取下载历史 @Description 获取用户的下载历史记录 @Tags 下载 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.DownloadHistoryResponse @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /downloads/history [get]
func (*DownloadHandler) GetDownloadProgress ¶
func (h *DownloadHandler) GetDownloadProgress(c *gin.Context)
GetDownloadProgress 获取下载进度 @Summary 获取下载进度 @Description 获取指定下载任务的当前进度 @Tags 下载 @Produce json @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {object} service.DownloadProgress @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id}/progress [get]
func (*DownloadHandler) GetDownloadQuota ¶
func (h *DownloadHandler) GetDownloadQuota(c *gin.Context)
GetDownloadQuota 获取下载配额 @Summary 获取下载配额 @Description 获取用户的下载配额信息 @Tags 下载 @Produce json @Security BearerAuth @Success 200 {object} service.DownloadQuota @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /downloads/quota [get]
func (*DownloadHandler) GetUserDownloads ¶
func (h *DownloadHandler) GetUserDownloads(c *gin.Context)
GetUserDownloads 获取用户下载列表 @Summary 获取用户下载列表 @Description 获取当前用户的所有下载任务 @Tags 下载 @Produce json @Security BearerAuth @Param status query string false "下载状态筛选" Enums(pending, downloading, completed, failed, cancelled) @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} []service.DownloadSession @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /downloads [get]
func (*DownloadHandler) PauseDownload ¶
func (h *DownloadHandler) PauseDownload(c *gin.Context)
PauseDownload 暂停下载 @Summary 暂停下载 @Description 暂停指定的下载任务 @Tags 下载 @Produce json @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id}/pause [post]
func (*DownloadHandler) ResumeDownload ¶
func (h *DownloadHandler) ResumeDownload(c *gin.Context)
ResumeDownload 恢复下载 @Summary 恢复下载 @Description 恢复暂停的下载任务 @Tags 下载 @Produce json @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id}/resume [post]
func (*DownloadHandler) RetryDownload ¶
func (h *DownloadHandler) RetryDownload(c *gin.Context)
RetryDownload 重试下载 @Summary 重试下载 @Description 重试失败的下载任务 @Tags 下载 @Produce json @Security BearerAuth @Param download_id path string true "下载ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /downloads/{download_id}/retry [post]
func (*DownloadHandler) StartDownload ¶
func (h *DownloadHandler) StartDownload(c *gin.Context)
StartDownload 开始下载 @Summary 开始下载 @Description 开始下载指定分集的视频内容 @Tags 下载 @Accept json @Produce json @Security BearerAuth @Param request body service.DownloadRequest true "下载请求" @Success 200 {object} service.DownloadResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /downloads/start [post]
type EmailConfigHandler ¶
type EmailConfigHandler struct {
// contains filtered or unexported fields
}
EmailConfigHandler 邮件配置处理器
func NewEmailConfigHandler ¶
func NewEmailConfigHandler(emailConfigService service.EmailConfigServiceInterface) *EmailConfigHandler
NewEmailConfigHandler 创建邮件配置处理器
func (*EmailConfigHandler) CreateEmailProvider ¶
func (h *EmailConfigHandler) CreateEmailProvider(c *gin.Context)
CreateEmailProvider 创建邮件提供商配置 @Summary 创建邮件提供商配置 @Description 创建新的邮件提供商配置(SMTP/Mailgun/SendGrid/阿里云/腾讯云) @Tags Admin - 邮件配置 @Accept json @Produce json @Param request body model.CreateEmailProviderRequest true "提供商配置" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/email/providers [post]
func (*EmailConfigHandler) DeleteEmailProvider ¶
func (h *EmailConfigHandler) DeleteEmailProvider(c *gin.Context)
DeleteEmailProvider 删除邮件提供商 @Summary 删除邮件提供商 @Description 删除指定ID的邮件提供商配置 @Tags Admin - 邮件配置 @Produce json @Param id path int true "提供商ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/email/providers/{id} [delete]
func (*EmailConfigHandler) GetEmailProvider ¶
func (h *EmailConfigHandler) GetEmailProvider(c *gin.Context)
GetEmailProvider 获取单个邮件提供商 @Summary 获取邮件提供商详情 @Description 获取指定ID的邮件提供商配置 @Tags Admin - 邮件配置 @Produce json @Param id path int true "提供商ID" @Success 200 {object} model.EmailProviderConfig @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/email/providers/{id} [get]
func (*EmailConfigHandler) GetEmailProviders ¶
func (h *EmailConfigHandler) GetEmailProviders(c *gin.Context)
GetEmailProviders 获取所有邮件提供商 @Summary 获取邮件提供商列表 @Description 获取所有邮件提供商配置 @Tags Admin - 邮件配置 @Produce json @Param active query bool false "仅显示激活的提供商" @Success 200 {object} model.EmailProviderListResponse @Failure 500 {object} map[string]any @Router /admin/email/providers [get]
func (*EmailConfigHandler) SetDefaultEmailProvider ¶
func (h *EmailConfigHandler) SetDefaultEmailProvider(c *gin.Context)
SetDefaultEmailProvider 设置默认邮件提供商 @Summary 设置默认邮件提供商 @Description 将指定ID的邮件提供商设置为默认 @Tags Admin - 邮件配置 @Produce json @Param id path int true "提供商ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/email/providers/{id}/set-default [post]
func (*EmailConfigHandler) TestEmailProvider ¶
func (h *EmailConfigHandler) TestEmailProvider(c *gin.Context)
TestEmailProvider 测试邮件提供商 @Summary 测试邮件提供商 @Description 发送测试邮件验证提供商配置 @Tags Admin - 邮件配置 @Accept json @Produce json @Param id path int true "提供商ID" @Param request body model.TestEmailProviderRequest true "测试请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/email/providers/{id}/test [post]
func (*EmailConfigHandler) ToggleEmailProviderStatus ¶
func (h *EmailConfigHandler) ToggleEmailProviderStatus(c *gin.Context)
ToggleEmailProviderStatus 切换邮件提供商状态 @Summary 切换邮件提供商状态 @Description 启用或禁用邮件提供商 @Tags Admin - 邮件配置 @Accept json @Produce json @Param id path int true "提供商ID" @Param request body map[string]bool true "状态" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/email/providers/{id}/toggle [post]
func (*EmailConfigHandler) UpdateEmailProvider ¶
func (h *EmailConfigHandler) UpdateEmailProvider(c *gin.Context)
UpdateEmailProvider 更新邮件提供商 @Summary 更新邮件提供商配置 @Description 更新指定ID的邮件提供商配置 @Tags Admin - 邮件配置 @Accept json @Produce json @Param id path int true "提供商ID" @Param request body model.UpdateEmailProviderRequest true "更新内容" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/email/providers/{id} [put]
type EpisodeWithCreator ¶
EpisodeWithCreator 包含创作者信息的分集
type ErrorResponse ¶
ErrorResponse 错误响应结构
type FinanceManagementHandler ¶
type FinanceManagementHandler struct {
// contains filtered or unexported fields
}
FinanceManagementHandler 财务管理处理器
func NewFinanceManagementHandler ¶
func NewFinanceManagementHandler(financeService service.FinanceManagementServiceInterface) *FinanceManagementHandler
NewFinanceManagementHandler 创建财务管理处理器
func (*FinanceManagementHandler) ApproveExpense ¶
func (h *FinanceManagementHandler) ApproveExpense(c *gin.Context)
ApproveExpense 批准支出 @Summary 批准支出 @Description 管理员批准指定的支出申请 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param expense_id path int true "支出ID" @Success 200 {object} map[string]interface{} "批准成功" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/expenses/{expense_id}/approve [post]
func (*FinanceManagementHandler) CalculateCreatorEarnings ¶
func (h *FinanceManagementHandler) CalculateCreatorEarnings(c *gin.Context)
CalculateCreatorEarnings 计算创作者收益 @Summary 计算创作者收益 @Description 管理员为指定创作者计算指定周期的收益 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request body object{creator_id=int64,period=string} true "计算收益请求" @Success 201 {object} map[string]interface{} "收益计算完成" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/creator-earnings/calculate [post]
func (*FinanceManagementHandler) ConfirmCreatorEarnings ¶
func (h *FinanceManagementHandler) ConfirmCreatorEarnings(c *gin.Context)
ConfirmCreatorEarnings 确认创作者收益 @Summary 确认创作者收益 @Description 管理员批量确认创作者收益 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request body object{earnings_ids=[]int64} true "收益ID列表" @Success 200 {object} map[string]interface{} "确认成功" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/creator-earnings/confirm [post]
func (*FinanceManagementHandler) CreateBudget ¶
func (h *FinanceManagementHandler) CreateBudget(c *gin.Context)
CreateBudget 创建预算 @Summary 创建预算 @Description 管理员创建新的预算计划 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request body model.BudgetCreateRequest true "预算创建请求" @Success 201 {object} map[string]interface{} "预算创建成功" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/budgets [post]
func (*FinanceManagementHandler) CreateExpense ¶
func (h *FinanceManagementHandler) CreateExpense(c *gin.Context)
CreateExpense 创建支出 @Summary 创建支出记录 @Description 管理员创建新的支出记录 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request body model.ExpenseCreateRequest true "支出创建请求" @Success 201 {object} map[string]interface{} "支出创建成功" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/expenses [post]
func (*FinanceManagementHandler) GenerateFinancialReport ¶
func (h *FinanceManagementHandler) GenerateFinancialReport(c *gin.Context)
GenerateFinancialReport 生成财务报表 @Summary 生成财务报表 @Description 管理员生成指定类型和周期的财务报表 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request body model.FinanceReportRequest true "报表生成请求" @Success 201 {object} map[string]interface{} "报表生成已启动" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/reports/generate [post]
func (*FinanceManagementHandler) GetBudgetAlerts ¶
func (h *FinanceManagementHandler) GetBudgetAlerts(c *gin.Context)
GetBudgetAlerts 获取预算告警 @Summary 获取预算告警 @Description 管理员获取所有预算超支告警 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]interface{} "预算告警列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/budgets/alerts [get]
func (*FinanceManagementHandler) GetBudgetStatus ¶
func (h *FinanceManagementHandler) GetBudgetStatus(c *gin.Context)
GetBudgetStatus 获取预算状态 @Summary 获取预算状态 @Description 管理员获取指定预算的执行状态 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param budget_id path int true "预算ID" @Success 200 {object} map[string]interface{} "预算状态" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/budgets/{budget_id}/status [get]
func (*FinanceManagementHandler) GetBudgets ¶
func (h *FinanceManagementHandler) GetBudgets(c *gin.Context)
GetBudgets 获取预算列表 @Summary 获取预算列表 @Description 管理员获取预算列表,支持按类型和财年筛选 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param budget_type query string false "预算类型筛选" @Param fiscal_year query int false "财年筛选" @Success 200 {object} map[string]interface{} "预算列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/budgets [get]
func (*FinanceManagementHandler) GetCashFlowStatement ¶
func (h *FinanceManagementHandler) GetCashFlowStatement(c *gin.Context)
GetCashFlowStatement 获取现金流量表 @Summary 获取现金流量表 @Description 管理员获取指定时间范围的现金流量表 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param start_date query string true "开始日期 (YYYY-MM-DD)" @Param end_date query string true "结束日期 (YYYY-MM-DD)" @Success 200 {object} map[string]interface{} "现金流量表数据" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/statements/cash-flow [get]
func (*FinanceManagementHandler) GetCreatorEarnings ¶
func (h *FinanceManagementHandler) GetCreatorEarnings(c *gin.Context)
GetCreatorEarnings 获取创作者收益列表 @Summary 获取创作者收益列表 @Description 管理员获取创作者收益列表,支持多种筛选和排序条件 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param creator_id query int false "创作者ID" @Param source_type query string false "收益来源类型" @Param status query string false "状态" @Param payment_status query string false "支付状态" @Param min_amount query number false "最小金额" @Param sort_by query string false "排序字段" default(created_at) @Param sort_order query string false "排序方向" Enums(asc, desc) default(desc) @Success 200 {object} model.CreatorEarningsResponse "创作者收益列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/creator-earnings [get]
func (*FinanceManagementHandler) GetCreatorEarningsDetail ¶
func (h *FinanceManagementHandler) GetCreatorEarningsDetail(c *gin.Context)
GetCreatorEarningsDetail 获取创作者收益详情 @Summary 获取创作者收益详情 @Description 管理员获取指定创作者收益的详细信息 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param id path int true "收益ID" @Success 200 {object} model.CreatorEarnings "创作者收益详情" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 404 {object} map[string]interface{} "收益记录不存在" @Router /api/v1/admin/finance/creator-earnings/{id} [get]
func (*FinanceManagementHandler) GetExpenses ¶
func (h *FinanceManagementHandler) GetExpenses(c *gin.Context)
GetExpenses 获取支出列表 @Summary 获取支出列表 @Description 管理员获取支出列表,支持多维度筛选 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param expense_type query string false "支出类型筛选" @Param category query string false "类别筛选" @Param status query string false "状态筛选" @Param start_date query string false "开始日期 (YYYY-MM-DD)" @Param end_date query string false "结束日期 (YYYY-MM-DD)" @Param limit query int false "数量限制" default(50) @Success 200 {object} map[string]interface{} "支出列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/expenses [get]
func (*FinanceManagementHandler) GetFinancialAnalytics ¶
func (h *FinanceManagementHandler) GetFinancialAnalytics(c *gin.Context)
GetFinancialAnalytics 获取财务分析 @Summary 获取财务分析 @Description 管理员获取指定时间范围的综合财务分析数据 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param start_date query string false "开始日期 (YYYY-MM-DD)" default(上月同期) @Param end_date query string false "结束日期 (YYYY-MM-DD)" default(今天) @Success 200 {object} model.FinancialAnalytics "财务分析数据" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/analytics [get]
func (*FinanceManagementHandler) GetFinancialReport ¶
func (h *FinanceManagementHandler) GetFinancialReport(c *gin.Context)
GetFinancialReport 获取财务报表详情 @Summary 获取财务报表详情 @Description 管理员获取指定财务报表的详细信息 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param id path int true "报表ID" @Success 200 {object} model.FinancialReport "财务报表详情" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 404 {object} map[string]interface{} "报表不存在" @Router /api/v1/admin/finance/reports/{id} [get]
func (*FinanceManagementHandler) GetFinancialReports ¶
func (h *FinanceManagementHandler) GetFinancialReports(c *gin.Context)
GetFinancialReports 获取财务报表列表 @Summary 获取财务报表列表 @Description 管理员获取已生成的财务报表列表 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param report_type query string false "报表类型筛选" @Param limit query int false "数量限制" default(20) @Success 200 {object} map[string]interface{} "财务报表列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/reports [get]
func (*FinanceManagementHandler) GetPendingWithdrawals ¶
func (h *FinanceManagementHandler) GetPendingWithdrawals(c *gin.Context)
GetPendingWithdrawals 获取待处理提现 @Summary 获取待处理提现 @Description 管理员获取所有待处理的提现申请 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]interface{} "待处理提现列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/withdrawals/pending [get]
func (*FinanceManagementHandler) GetProfitLossStatement ¶
func (h *FinanceManagementHandler) GetProfitLossStatement(c *gin.Context)
GetProfitLossStatement 获取损益表 @Summary 获取损益表 @Description 管理员获取指定时间范围的损益表 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param start_date query string true "开始日期 (YYYY-MM-DD)" @Param end_date query string true "结束日期 (YYYY-MM-DD)" @Success 200 {object} map[string]interface{} "损益表数据" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/statements/profit-loss [get]
func (*FinanceManagementHandler) GetReconciliations ¶
func (h *FinanceManagementHandler) GetReconciliations(c *gin.Context)
GetReconciliations 获取对账记录 @Summary 获取对账记录 @Description 管理员获取对账记录列表 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param reconciliation_type query string false "对账类型筛选" @Param limit query int false "数量限制" default(20) @Success 200 {object} map[string]interface{} "对账记录列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/reconciliations [get]
func (*FinanceManagementHandler) GetRevenueProjection ¶
func (h *FinanceManagementHandler) GetRevenueProjection(c *gin.Context)
GetRevenueProjection 获取收入预测 @Summary 获取收入预测 @Description 管理员获取未来N个月的收入预测数据 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param months query int false "预测月数" default(12) @Success 200 {object} map[string]interface{} "收入预测数据" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/projections/revenue [get]
func (*FinanceManagementHandler) GetWithdrawRequests ¶
func (h *FinanceManagementHandler) GetWithdrawRequests(c *gin.Context)
GetWithdrawRequests 获取提现申请列表 @Summary 获取提现申请列表 @Description 管理员获取创作者提现申请列表 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param status query string false "状态筛选" @Param limit query int false "数量限制" default(50) @Success 200 {object} map[string]interface{} "提现申请列表" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /api/v1/admin/finance/withdrawals [get]
func (*FinanceManagementHandler) ProcessWithdrawRequest ¶
func (h *FinanceManagementHandler) ProcessWithdrawRequest(c *gin.Context)
ProcessWithdrawRequest 处理提现申请 @Summary 处理提现申请 @Description 管理员处理已批准的提现申请,执行实际支付 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request_id path int true "申请ID" @Param payment_data body object true "支付数据" @Success 200 {object} map[string]interface{} "处理成功" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/withdrawals/{request_id}/process [post]
func (*FinanceManagementHandler) ReviewWithdrawRequest ¶
func (h *FinanceManagementHandler) ReviewWithdrawRequest(c *gin.Context)
ReviewWithdrawRequest 审核提现申请 @Summary 审核提现申请 @Description 管理员审核创作者提现申请(批准或拒绝) @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request_id path int true "申请ID" @Param request body object{action=string,notes=string} true "审核操作" @Success 200 {object} map[string]interface{} "审核完成" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/withdrawals/{request_id}/review [post]
func (*FinanceManagementHandler) StartReconciliation ¶
func (h *FinanceManagementHandler) StartReconciliation(c *gin.Context)
StartReconciliation 开始对账 @Summary 开始对账 @Description 管理员启动对账流程 @Tags 管理后台 - 财务 @Accept json @Produce json @Security BearerAuth @Param request body object{reconciliation_type=string,period=string} true "对账请求" @Success 201 {object} map[string]interface{} "对账已启动" @Failure 400 {object} map[string]interface{} "参数错误" @Failure 401 {object} map[string]interface{} "未认证" @Failure 403 {object} map[string]interface{} "权限不足" @Router /api/v1/admin/finance/reconciliations/start [post]
type FollowHandler ¶
type FollowHandler struct {
// contains filtered or unexported fields
}
func NewFollowHandler ¶
func NewFollowHandler(followService service.FollowServiceInterface) *FollowHandler
func (*FollowHandler) GetFollowStats ¶
func (h *FollowHandler) GetFollowStats(c *gin.Context)
GetFollowStats 获取关注统计信息 @Summary 获取关注统计信息 @Description 获取指定用户的关注和粉丝统计数据 @Tags 社交功能 @Produce json @Param user_id query string true "用户ID" @Success 200 {object} service.FollowStats @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/follow/stats [get]
func (*FollowHandler) GetFollowers ¶
func (h *FollowHandler) GetFollowers(c *gin.Context)
GetFollowers 获取粉丝列表 @Summary 获取粉丝列表 @Description 获取指定用户的粉丝列表 @Tags 社交功能 @Produce json @Param user_id query string true "用户ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} service.FollowListResponse @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/follow/followers [get]
func (*FollowHandler) GetFollowing ¶
func (h *FollowHandler) GetFollowing(c *gin.Context)
GetFollowing 获取关注列表 @Summary 获取关注列表 @Description 获取指定用户的关注列表 @Tags 社交功能 @Produce json @Param user_id query string true "用户ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} service.FollowListResponse @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/follow/following [get]
func (*FollowHandler) GetRecommendedUsers ¶
func (h *FollowHandler) GetRecommendedUsers(c *gin.Context)
GetRecommendedUsers 获取推荐关注用户 @Summary 获取推荐关注用户 @Description 为当前用户推荐可能感兴趣的用户 @Tags 社交功能 @Produce json @Security BearerAuth @Param limit query int false "返回数量" default(10) @Success 200 {array} service.UserProfile @Failure 401 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/follow/recommended [get]
func (*FollowHandler) GetUserProfile ¶
func (h *FollowHandler) GetUserProfile(c *gin.Context)
GetUserProfile 获取用户资料 @Summary 获取用户资料 @Description 获取指定用户的详细资料信息 @Tags 社交功能 @Produce json @Param user_id path string true "用户ID" @Success 200 {object} service.UserProfile @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/follow/profile/{user_id} [get]
func (*FollowHandler) ToggleFollow ¶
func (h *FollowHandler) ToggleFollow(c *gin.Context)
ToggleFollow 关注/取消关注用户 @Summary 关注/取消关注用户 @Description 切换对指定用户的关注状态 @Tags 社交功能 @Accept json @Produce json @Security BearerAuth @Param request body service.FollowRequest true "关注请求" @Success 200 {object} service.FollowResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /api/v1/follow/toggle [post]
type InternationalizationHandler ¶
type InternationalizationHandler struct {
// contains filtered or unexported fields
}
InternationalizationHandler 国际化处理器
func NewInternationalizationHandler ¶
func NewInternationalizationHandler(i18nService service.InternationalizationServiceInterface) *InternationalizationHandler
NewInternationalizationHandler 创建国际化处理器
func (*InternationalizationHandler) AutoTranslate ¶
func (h *InternationalizationHandler) AutoTranslate(c *gin.Context)
AutoTranslate 自动翻译 @Summary 自动翻译 @Description 使用AI自动翻译文本内容 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.AutoTranslationRequest true "自动翻译请求" @Success 200 {object} model.AutoTranslationResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/auto-translate [post]
func (*InternationalizationHandler) BatchCreateTranslations ¶
func (h *InternationalizationHandler) BatchCreateTranslations(c *gin.Context)
BatchCreateTranslations 批量创建翻译 @Summary 批量创建翻译 @Description 批量创建多个翻译文本 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.BatchTranslationRequest true "批量翻译信息" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations/batch [post]
func (*InternationalizationHandler) CreateLanguage ¶
func (h *InternationalizationHandler) CreateLanguage(c *gin.Context)
CreateLanguage 创建语言 @Summary 创建语言 @Description 创建新的系统支持语言 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateLanguageRequest true "语言信息" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/languages [post]
func (*InternationalizationHandler) CreateTranslation ¶
func (h *InternationalizationHandler) CreateTranslation(c *gin.Context)
CreateTranslation 创建翻译 @Summary 创建翻译 @Description 为指定的翻译键创建新的翻译文本 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateTranslationRequest true "翻译信息" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations [post]
func (*InternationalizationHandler) CreateTranslationProject ¶
func (h *InternationalizationHandler) CreateTranslationProject(c *gin.Context)
CreateTranslationProject 创建翻译项目 @Summary 创建翻译项目 @Description 创建新的翻译项目以组织和管理翻译任务 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateTranslationProjectRequest true "项目信息" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/projects [post]
func (*InternationalizationHandler) DeleteLanguage ¶
func (h *InternationalizationHandler) DeleteLanguage(c *gin.Context)
DeleteLanguage 删除语言 @Summary 删除语言 @Description 删除指定的系统语言 @Tags 国际化 @Produce json @Security BearerAuth @Param id path int true "语言ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/languages/{id} [delete]
func (*InternationalizationHandler) ExportTranslations ¶
func (h *InternationalizationHandler) ExportTranslations(c *gin.Context)
ExportTranslations 导出翻译 @Summary 导出翻译 @Description 导出指定语言的翻译文件,支持多种格式(JSON/YAML/Properties/CSV) @Tags 国际化 @Produce json @Security BearerAuth @Param language_code query string true "语言代码" @Param format query string false "导出格式" default(json) Enums(json, yaml, properties, csv) @Param namespace query string false "命名空间" @Success 200 {string} string "文件内容" @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations/export [get]
func (*InternationalizationHandler) GetAllLocalizationConfigs ¶
func (h *InternationalizationHandler) GetAllLocalizationConfigs(c *gin.Context)
GetAllLocalizationConfigs 获取所有本地化配置 @Summary 获取所有本地化配置 @Description 获取系统所有语言的本地化配置列表 @Tags 国际化 @Produce json @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /i18n/configs [get]
func (*InternationalizationHandler) GetContentTranslations ¶
func (h *InternationalizationHandler) GetContentTranslations(c *gin.Context)
GetContentTranslations 获取内容翻译列表 @Summary 获取内容翻译列表 @Description 获取内容翻译任务列表,支持分页和筛选 @Tags 国际化 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param content_type query string false "内容类型" @Param content_id query int false "内容ID" @Param language_code query string false "语言代码" @Param status query string false "状态" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/content/translations [get]
func (*InternationalizationHandler) GetLanguage ¶
func (h *InternationalizationHandler) GetLanguage(c *gin.Context)
GetLanguage 获取语言详情 @Summary 获取语言详情 @Description 根据ID获取指定语言的详细信息 @Tags 国际化 @Produce json @Param id path int true "语言ID" @Success 200 {object} model.Language @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /i18n/languages/{id} [get]
func (*InternationalizationHandler) GetLanguageCompletionStats ¶
func (h *InternationalizationHandler) GetLanguageCompletionStats(c *gin.Context)
GetLanguageCompletionStats 获取语言完成统计 @Summary 获取语言完成统计 @Description 获取指定语言的翻译完成度统计 @Tags 国际化 @Produce json @Security BearerAuth @Param language_code path string true "语言代码" @Success 200 {object} model.LanguageStatInfo @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/stats/language/{language_code} [get]
func (*InternationalizationHandler) GetLanguages ¶
func (h *InternationalizationHandler) GetLanguages(c *gin.Context)
GetLanguages 获取语言列表 @Summary 获取语言列表 @Description 获取系统支持的所有语言列表,可按激活状态筛选 @Tags 国际化 @Produce json @Param is_active query boolean false "是否激活" @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /i18n/languages [get]
func (*InternationalizationHandler) GetLocalizationConfig ¶
func (h *InternationalizationHandler) GetLocalizationConfig(c *gin.Context)
GetLocalizationConfig 获取本地化配置 @Summary 获取本地化配置 @Description 获取指定语言的本地化配置(日期格式、货币符号等) @Tags 国际化 @Produce json @Param language_code path string true "语言代码" @Success 200 {object} model.LocalizationConfig @Failure 404 {object} map[string]any @Router /i18n/config/{language_code} [get]
func (*InternationalizationHandler) GetLocalizedContent ¶
func (h *InternationalizationHandler) GetLocalizedContent(c *gin.Context)
GetLocalizedContent 获取本地化内容 @Summary 获取本地化内容 @Description 获取指定内容的本地化版本 @Tags 国际化 @Produce json @Param content_type path string true "内容类型" @Param content_id path int true "内容ID" @Param language query string false "语言代码" default(en) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /i18n/content/{content_type}/{content_id} [get]
func (*InternationalizationHandler) GetSupportedLanguages ¶
func (h *InternationalizationHandler) GetSupportedLanguages(c *gin.Context)
GetSupportedLanguages 获取支持的语言 @Summary 获取支持的语言 @Description 获取系统当前支持的所有激活语言 @Tags 国际化 @Produce json @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /i18n/supported-languages [get]
func (*InternationalizationHandler) GetTranslationProjects ¶
func (h *InternationalizationHandler) GetTranslationProjects(c *gin.Context)
GetTranslationProjects 获取翻译项目列表 @Summary 获取翻译项目列表 @Description 获取翻译项目列表,支持分页和状态筛选 @Tags 国际化 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param status query string false "项目状态" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/projects [get]
func (*InternationalizationHandler) GetTranslationStats ¶
func (h *InternationalizationHandler) GetTranslationStats(c *gin.Context)
GetTranslationStats 获取翻译统计 @Summary 获取翻译统计 @Description 获取系统翻译的总体统计信息 @Tags 国际化 @Produce json @Security BearerAuth @Success 200 {object} model.TranslationStatsResponse @Failure 500 {object} map[string]any @Router /admin/i18n/stats [get]
func (*InternationalizationHandler) GetTranslations ¶
func (h *InternationalizationHandler) GetTranslations(c *gin.Context)
GetTranslations 获取翻译列表 @Summary 获取翻译列表 @Description 获取翻译列表,支持分页和多条件筛选 @Tags 国际化 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param language_code query string false "语言代码" @Param key query string false "翻译键" @Param namespace query string false "命名空间" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations [get]
func (*InternationalizationHandler) ImportTranslations ¶
func (h *InternationalizationHandler) ImportTranslations(c *gin.Context)
ImportTranslations 导入翻译 @Summary 导入翻译 @Description 从文件内容导入翻译数据 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.ImportTranslationRequest true "导入信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations/import [post]
func (*InternationalizationHandler) SetDefaultLanguage ¶
func (h *InternationalizationHandler) SetDefaultLanguage(c *gin.Context)
SetDefaultLanguage 设置默认语言 @Summary 设置默认语言 @Description 设置系统的默认语言 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body object{language_code=string} true "语言代码" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/languages/default [post]
func (*InternationalizationHandler) TranslateContent ¶
func (h *InternationalizationHandler) TranslateContent(c *gin.Context)
TranslateContent 翻译内容 @Summary 翻译内容 @Description 创建内容翻译任务,支持视频、剧集等内容类型 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.TranslateContentRequest true "翻译请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/content/translate [post]
func (*InternationalizationHandler) UpdateLanguage ¶
func (h *InternationalizationHandler) UpdateLanguage(c *gin.Context)
UpdateLanguage 更新语言 @Summary 更新语言 @Description 更新指定语言的信息 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param id path int true "语言ID" @Param request body model.UpdateLanguageRequest true "更新信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/languages/{id} [put]
func (*InternationalizationHandler) UpdateLocalizationConfig ¶
func (h *InternationalizationHandler) UpdateLocalizationConfig(c *gin.Context)
UpdateLocalizationConfig 更新本地化配置 @Summary 更新本地化配置 @Description 更新指定语言的本地化配置信息 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param language_code path string true "语言代码" @Param updates body map[string]any true "配置更新" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/config/{language_code} [put]
func (*InternationalizationHandler) UpdateTranslation ¶
func (h *InternationalizationHandler) UpdateTranslation(c *gin.Context)
UpdateTranslation 更新翻译 @Summary 更新翻译 @Description 更新指定ID的翻译内容 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param id path int true "翻译ID" @Param request body model.UpdateTranslationRequest true "更新信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations/{id} [put]
func (*InternationalizationHandler) ValidateTranslations ¶
func (h *InternationalizationHandler) ValidateTranslations(c *gin.Context)
ValidateTranslations 验证翻译 @Summary 验证翻译 @Description 验证翻译内容的完整性和正确性 @Tags 国际化 @Accept json @Produce json @Security BearerAuth @Param request body model.TranslationValidationRequest true "验证请求" @Success 200 {object} model.TranslationValidationResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/i18n/translations/validate [post]
type LiveHandler ¶
type LiveHandler struct {
// contains filtered or unexported fields
}
LiveHandler 直播处理器
func NewLiveHandler ¶
func NewLiveHandler(services *service.Services) *LiveHandler
NewLiveHandler 创建直播处理器
func (*LiveHandler) BanUser ¶
func (h *LiveHandler) BanUser(c *gin.Context)
BanUser 封禁用户 @Summary 封禁用户 @Description 在直播间中封禁指定用户 @Tags 直播 @Accept json @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Param request body map[string]any true "封禁信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /live/rooms/{roomId}/ban [post]
func (*LiveHandler) CreateLiveRoom ¶
func (h *LiveHandler) CreateLiveRoom(c *gin.Context)
CreateLiveRoom 创建直播房间 @Summary 创建直播房间 @Description 创建新的直播房间 @Tags 直播 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateLiveRoomRequest true "房间信息" @Success 201 {object} model.LiveRoomResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /live/rooms [post]
func (*LiveHandler) CreateSchedule ¶
func (h *LiveHandler) CreateSchedule(c *gin.Context)
CreateSchedule 创建直播排期 @Summary 创建直播排期 @Description 创建新的直播排期 @Tags 直播 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateLiveScheduleRequest true "排期信息" @Success 201 {object} model.LiveSchedule @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /live/schedules [post]
func (*LiveHandler) DeleteLiveRoom ¶
func (h *LiveHandler) DeleteLiveRoom(c *gin.Context)
DeleteLiveRoom 删除直播房间 @Summary 删除直播房间 @Description 删除指定的直播房间 @Tags 直播 @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /live/rooms/{roomId} [delete]
func (*LiveHandler) GetCreatorLiveRooms ¶
func (h *LiveHandler) GetCreatorLiveRooms(c *gin.Context)
GetCreatorLiveRooms 获取创作者的直播房间列表 @Summary 获取创作者的直播房间列表 @Description 获取指定创作者的所有直播房间 @Tags 直播 @Produce json @Security BearerAuth @Success 200 {array} model.LiveRoomResponse @Failure 401 {object} map[string]any @Router /live/rooms/my [get]
func (*LiveHandler) GetCreatorSchedules ¶
func (h *LiveHandler) GetCreatorSchedules(c *gin.Context)
GetCreatorSchedules 获取创作者的直播排期 @Summary 获取创作者的直播排期 @Description 获取指定创作者的直播排期列表 @Tags 直播 @Produce json @Security BearerAuth @Success 200 {array} model.LiveSchedule @Failure 401 {object} map[string]any @Router /live/schedules/my [get]
func (*LiveHandler) GetLiveGifts ¶
func (h *LiveHandler) GetLiveGifts(c *gin.Context)
GetLiveGifts 获取直播礼物列表 @Summary 获取直播礼物列表 @Description 获取所有可用的直播礼物 @Tags 直播 @Produce json @Success 200 {array} model.LiveGift @Failure 500 {object} map[string]any @Router /live/gifts [get]
func (*LiveHandler) GetLiveLiveRooms ¶
func (h *LiveHandler) GetLiveLiveRooms(c *gin.Context)
GetLiveLiveRooms 获取正在直播的房间列表 @Summary 获取正在直播的房间列表 @Description 获取所有正在直播的房间 @Tags 直播 @Produce json @Success 200 {array} model.LiveRoomResponse @Failure 500 {object} map[string]any @Router /live/rooms/live [get]
func (*LiveHandler) GetLiveRoom ¶
func (h *LiveHandler) GetLiveRoom(c *gin.Context)
GetLiveRoom 获取直播房间信息 @Summary 获取直播房间信息 @Description 根据房间ID获取直播房间详情 @Tags 直播 @Produce json @Param roomId path string true "房间ID" @Success 200 {object} model.LiveRoomResponse @Failure 404 {object} map[string]any @Router /live/rooms/{roomId} [get]
func (*LiveHandler) GetLiveStats ¶
func (h *LiveHandler) GetLiveStats(c *gin.Context)
GetLiveStats 获取直播统计 @Summary 获取直播统计 @Description 获取直播平台统计数据 @Tags 直播 @Produce json @Success 200 {object} model.LiveStatsResponse @Failure 500 {object} map[string]any @Router /live/stats [get]
func (*LiveHandler) GetRoomGiftRecords ¶
func (h *LiveHandler) GetRoomGiftRecords(c *gin.Context)
GetRoomGiftRecords 获取房间礼物记录 @Summary 获取房间礼物记录 @Description 获取指定房间的礼物发送记录 @Tags 直播 @Produce json @Param roomId path string true "房间ID" @Param limit query int false "记录数量限制" default(50) @Success 200 {array} model.LiveGiftRecord @Failure 500 {object} map[string]any @Router /live/rooms/{roomId}/gifts [get]
func (*LiveHandler) GetRoomStats ¶
func (h *LiveHandler) GetRoomStats(c *gin.Context)
GetRoomStats 获取房间统计 @Summary 获取房间统计 @Description 获取指定房间的统计数据 @Tags 直播 @Produce json @Param roomId path string true "房间ID" @Success 200 {object} model.LiveRoomStats @Failure 404 {object} map[string]any @Router /live/rooms/{roomId}/stats [get]
func (*LiveHandler) GetRooms ¶
func (h *LiveHandler) GetRooms(c *gin.Context)
GetRooms 获取直播房间列表(支持状态筛选) @Summary 获取直播房间列表 @Description 获取直播房间列表,支持按状态筛选和分页 @Tags 直播 @Produce json @Param status query string false "房间状态" Enums(created, live, paused, ended) default(live) @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /live/rooms [get]
func (*LiveHandler) GetUpcomingSchedules ¶
func (h *LiveHandler) GetUpcomingSchedules(c *gin.Context)
GetUpcomingSchedules 获取即将开始的直播排期 @Summary 获取即将开始的直播排期 @Description 获取即将开始的直播排期列表 @Tags 直播 @Produce json @Param limit query int false "记录数量限制" default(20) @Success 200 {array} model.LiveSchedule @Failure 500 {object} map[string]any @Router /live/schedules/upcoming [get]
func (*LiveHandler) JoinRoom ¶
func (h *LiveHandler) JoinRoom(c *gin.Context)
JoinRoom 加入直播间 @Summary 加入直播间 @Description 用户加入指定的直播间 @Tags 直播 @Accept json @Produce json @Param roomId path string true "房间ID" @Param request body map[string]string true "会话信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Router /live/rooms/{roomId}/join [post]
func (*LiveHandler) LeaveRoom ¶
func (h *LiveHandler) LeaveRoom(c *gin.Context)
LeaveRoom 离开直播间 @Summary 离开直播间 @Description 用户离开直播间 @Tags 直播 @Accept json @Produce json @Param roomId path string true "房间ID" @Param request body map[string]string true "会话信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Router /live/rooms/{roomId}/leave [post]
func (*LiveHandler) MuteUser ¶
func (h *LiveHandler) MuteUser(c *gin.Context)
MuteUser 禁言用户 @Summary 禁言用户 @Description 在直播间中禁言指定用户 @Tags 直播 @Accept json @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Param request body map[string]any true "禁言信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /live/rooms/{roomId}/mute [post]
func (*LiveHandler) SendGift ¶
func (h *LiveHandler) SendGift(c *gin.Context)
SendGift 发送礼物 @Summary 发送礼物 @Description 在直播间中发送礼物 @Tags 直播 @Accept json @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Param request body map[string]any true "礼物信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /live/rooms/{roomId}/gifts [post]
func (*LiveHandler) StartLive ¶
func (h *LiveHandler) StartLive(c *gin.Context)
StartLive 开始直播 @Summary 开始直播 @Description 开始指定房间的直播 @Tags 直播 @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /live/rooms/{roomId}/start [post]
func (*LiveHandler) StopLive ¶
func (h *LiveHandler) StopLive(c *gin.Context)
StopLive 停止直播 @Summary 停止直播 @Description 停止指定房间的直播 @Tags 直播 @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /live/rooms/{roomId}/stop [post]
func (*LiveHandler) UpdateLiveRoom ¶
func (h *LiveHandler) UpdateLiveRoom(c *gin.Context)
UpdateLiveRoom 更新直播房间信息 @Summary 更新直播房间信息 @Description 更新指定直播房间的信息 @Tags 直播 @Accept json @Produce json @Security BearerAuth @Param roomId path string true "房间ID" @Param request body model.CreateLiveRoomRequest true "房间信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /live/rooms/{roomId} [put]
type MediaDeliveryHandler ¶
type MediaDeliveryHandler struct {
// contains filtered or unexported fields
}
func NewMediaDeliveryHandler ¶
func NewMediaDeliveryHandler(provider storage.Provider) *MediaDeliveryHandler
func (*MediaDeliveryHandler) ServeSigned ¶
func (h *MediaDeliveryHandler) ServeSigned(c *gin.Context)
ServeSigned 提供签名验证的媒体文件访问 @Summary 签名访问媒体文件 @Description 通过签名验证访问本地存储的媒体文件,确保访问安全性 @Tags 媒体管理 @Accept json @Produce application/octet-stream @Param path path string true "文件路径" @Param expires query int true "过期时间戳" @Param signature query string true "签名字符串" @Success 200 {file} binary @Failure 400 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /media/signed/{path} [get]
type MediaUploadHandler ¶
type MediaUploadHandler struct {
// contains filtered or unexported fields
}
MediaUploadHandler 媒体上传处理器
func NewMediaUploadHandler ¶
func NewMediaUploadHandler( videoUploadService service.VideoUploadServiceInterface, contentService service.ContentServiceInterface, adminService service.AdminServiceInterface, fileUploadService service.FileUploadServiceInterface, mediaFileService service.MediaFileServiceInterface, ) *MediaUploadHandler
NewMediaUploadHandler 创建媒体上传处理器
func (*MediaUploadHandler) BatchUploadThumbnails ¶
func (h *MediaUploadHandler) BatchUploadThumbnails(c *gin.Context)
BatchUploadThumbnails 批量上传缩略图 @Summary 批量上传缩略图 @Description 批量上传视频缩略图文件 @Tags 媒体上传 @Accept multipart/form-data @Produce json @Security BearerAuth @Param thumbnails formData file true "缩略图文件(可多个)" @Param series_id formData int false "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /media/thumbnail/batch-upload [post]
func (*MediaUploadHandler) BatchUploadVideos ¶
func (h *MediaUploadHandler) BatchUploadVideos(c *gin.Context)
BatchUploadVideos 批量视频上传 @Summary 批量上传视频 @Description 批量上传多个视频文件,需要管理员或审核员权限 @Tags 媒体上传 @Accept multipart/form-data @Produce json @Security BearerAuth @Param videos formData file true "视频文件(可多个)" @Param series_id formData int true "剧集ID" @Param start_episode formData int true "起始集数" @Param season_number formData int false "季数" default(1) @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /media/video/batch-upload [post]
func (*MediaUploadHandler) CheckUploadStatus ¶
func (h *MediaUploadHandler) CheckUploadStatus(c *gin.Context)
CheckUploadStatus 检查上传状态 @Summary 检查上传状态 @Description 检查断点续传的当前状态,返回已上传的分片 @Tags 视频上传 @Produce json @Security BearerAuth @Param upload_id path string true "上传ID" @Success 200 {object} service.InitResumableUploadResponse @Failure 404 {object} map[string]any @Router /videos/upload/status/{upload_id} [get]
func (*MediaUploadHandler) DeleteMediaFile ¶
func (h *MediaUploadHandler) DeleteMediaFile(c *gin.Context)
DeleteMediaFile 删除媒体文件 @Summary 删除媒体文件 @Description 删除指定的媒体文件(需要权限验证) @Tags 媒体管理 @Accept json @Produce json @Security BearerAuth @Param file_id path int true "文件ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /media/file/{file_id} [delete]
func (*MediaUploadHandler) GetBatchUploadProgress ¶
func (h *MediaUploadHandler) GetBatchUploadProgress(c *gin.Context)
GetBatchUploadProgress 获取批量上传进度 @Summary 获取批量上传进度 @Description 查询批量视频上传任务的进度信息 @Tags 媒体上传 @Accept json @Produce json @Security BearerAuth @Param batch_id query string true "批量任务ID" @Success 200 {object} service.BatchUploadProgress @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /media/video/batch-progress [get]
func (*MediaUploadHandler) GetMediaLibrary ¶
func (h *MediaUploadHandler) GetMediaLibrary(c *gin.Context)
GetMediaLibrary 获取媒体库 @Summary 获取媒体库 @Description 查询用户的媒体文件库,支持分页和筛选 @Tags 媒体管理 @Accept json @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param page_size query int false "每页数量" default(20) @Param file_type query string false "文件类型 (video/image/audio)" @Param series_id query int false "剧集ID" @Success 200 {object} model.MediaLibraryResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /media/library [get]
func (*MediaUploadHandler) GetUploadProgress ¶
func (h *MediaUploadHandler) GetUploadProgress(c *gin.Context)
GetUploadProgress 获取上传进度 @Summary 获取上传进度 @Description 查询视频上传任务的当前进度信息 @Tags 媒体上传 @Accept json @Produce json @Security BearerAuth @Param upload_id path string true "上传ID" @Success 200 {object} model.MediaUploadProgress @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /media/video/progress/{upload_id} [get]
func (*MediaUploadHandler) InitResumableUpload ¶
func (h *MediaUploadHandler) InitResumableUpload(c *gin.Context)
InitResumableUpload 初始化断点续传 @Summary 初始化断点续传 @Description 初始化视频断点续传,返回uploadID用于后续分片上传 @Tags 视频上传 @Accept json @Produce json @Security BearerAuth @Param request body service.InitResumableUploadRequest true "初始化请求" @Success 200 {object} service.InitResumableUploadResponse @Failure 400 {object} map[string]any @Router /videos/upload/init [post]
func (*MediaUploadHandler) MergeChunks ¶
func (h *MediaUploadHandler) MergeChunks(c *gin.Context)
MergeChunks 合并分片 @Summary 合并视频分片 @Description 合并所有上传的分片,完成视频上传 @Tags 视频上传 @Accept json @Produce json @Security BearerAuth @Param request body service.MergeChunksRequest true "合并请求" @Success 200 {object} service.UploadResponse @Failure 400 {object} map[string]any @Router /videos/upload/merge [post]
func (*MediaUploadHandler) UploadChunk ¶
func (h *MediaUploadHandler) UploadChunk(c *gin.Context)
UploadChunk 上传分片 @Summary 上传视频分片 @Description 上传视频的单个分片,支持断点续传 @Tags 视频上传 @Accept multipart/form-data @Produce json @Security BearerAuth @Param upload_id formData string true "上传ID" @Param chunk_index formData int true "分片索引" @Param chunk formData file true "分片文件" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Router /videos/upload/chunk [post]
func (*MediaUploadHandler) UploadThumbnail ¶
func (h *MediaUploadHandler) UploadThumbnail(c *gin.Context)
UploadThumbnail 上传缩略图 @Summary 上传缩略图 @Description 上传视频或剧集的缩略图文件 @Tags 媒体上传 @Accept multipart/form-data @Produce json @Security BearerAuth @Param thumbnail formData file true "缩略图文件" @Param content_type formData string false "内容类型" Enums(series_poster, series_banner, episode_thumbnail) @Param series_id formData int false "剧集ID" @Param episode_id formData int false "剧集ID" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /media/thumbnail/upload [post]
func (*MediaUploadHandler) UploadVideo ¶
func (h *MediaUploadHandler) UploadVideo(c *gin.Context)
UploadVideo 单个视频上传 @Summary 上传单个视频 @Description 上传单个视频文件到指定剧集和集数 @Tags 媒体上传 @Accept multipart/form-data @Produce json @Security BearerAuth @Param video formData file true "视频文件" @Param series_id formData int true "剧集ID" @Param episode_number formData int true "集数" @Param season_number formData int false "季数" default(1) @Param title formData string false "标题" @Param description formData string false "描述" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /media/video/upload [post]
type NotificationHandler ¶
type NotificationHandler struct {
// contains filtered or unexported fields
}
NotificationHandler 通知处理器
func NewNotificationHandler ¶
func NewNotificationHandler(notificationService service.NotificationServiceInterface) *NotificationHandler
NewNotificationHandler 创建通知处理器
func (*NotificationHandler) GetNotifications ¶
func (h *NotificationHandler) GetNotifications(c *gin.Context)
GetNotifications 获取通知列表 @Summary 获取通知列表 @Description 获取用户的通知列表 @Tags 通知 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.NotificationListResponse @Failure 401 {object} map[string]any @Router /notifications [get]
func (*NotificationHandler) GetUnreadCount ¶
func (h *NotificationHandler) GetUnreadCount(c *gin.Context)
GetUnreadCount 获取未读通知数量 @Summary 获取未读通知数量 @Description 获取用户未读通知的数量 @Tags 通知 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /notifications/unread-count [get]
func (*NotificationHandler) MarkAllAsRead ¶
func (h *NotificationHandler) MarkAllAsRead(c *gin.Context)
MarkAllAsRead 标记所有通知为已读 @Summary 标记所有通知为已读 @Description 标记用户所有通知为已读状态 @Tags 通知 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /notifications/read-all [put]
func (*NotificationHandler) MarkAsRead ¶
func (h *NotificationHandler) MarkAsRead(c *gin.Context)
MarkAsRead 标记通知为已读 @Summary 标记通知为已读 @Description 标记指定通知为已读状态 @Tags 通知 @Produce json @Security BearerAuth @Param notification_id path int true "通知ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /notifications/{notification_id}/read [put]
func (*NotificationHandler) RegisterPushSubscription ¶
func (h *NotificationHandler) RegisterPushSubscription(c *gin.Context)
RegisterPushSubscription 注册推送订阅 @Summary 注册推送订阅 @Description 注册Web推送订阅信息 @Tags 通知 @Accept json @Produce json @Security BearerAuth @Param subscription body map[string]any true "推送订阅信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /notifications/push-subscription [post]
func (*NotificationHandler) SendTestNotification ¶
func (h *NotificationHandler) SendTestNotification(c *gin.Context)
SendTestNotification 发送测试通知 @Summary 发送测试通知 @Description 发送测试通知(仅开发环境) @Tags 通知 @Accept json @Produce json @Security BearerAuth @Param request body map[string]any true "通知内容" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /notifications/test [post]
func (*NotificationHandler) WebSocketEndpoint ¶
func (h *NotificationHandler) WebSocketEndpoint(c *gin.Context)
WebSocketEndpoint WebSocket连接端点 @Summary WebSocket通知连接 @Description 建立WebSocket连接接收实时通知 @Tags 通知 @Security BearerAuth @Router /notifications/ws [get]
type NotificationManagementHandler ¶
type NotificationManagementHandler struct {
// contains filtered or unexported fields
}
NotificationManagementHandler 通知管理处理器
func NewNotificationManagementHandler ¶
func NewNotificationManagementHandler(notificationService service.NotificationManagementServiceInterface) *NotificationManagementHandler
NewNotificationManagementHandler 创建通知管理处理器
func (*NotificationManagementHandler) CreateNotificationCampaign ¶
func (h *NotificationManagementHandler) CreateNotificationCampaign(c *gin.Context)
CreateNotificationCampaign 创建通知活动 @Summary 创建通知活动 @Description 管理员创建新的通知活动 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateNotificationCampaignRequest true "通知活动创建请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/campaigns [post]
func (*NotificationManagementHandler) CreateNotificationProvider ¶
func (h *NotificationManagementHandler) CreateNotificationProvider(c *gin.Context)
CreateNotificationProvider 创建通知提供商 @Summary 创建通知提供商 @Description 管理员创建新的通知服务提供商配置(邮件、短信、推送等) @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param provider body model.NotificationProvider true "提供商信息" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/providers [post]
func (*NotificationManagementHandler) CreateNotificationSchedule ¶
func (h *NotificationManagementHandler) CreateNotificationSchedule(c *gin.Context)
CreateNotificationSchedule 创建定时通知 @Summary 创建定时通知 @Description 管理员创建定时或周期性通知任务,支持计划执行 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateNotificationScheduleRequest true "定时通知创建请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/schedules [post]
func (*NotificationManagementHandler) CreateNotificationTemplate ¶
func (h *NotificationManagementHandler) CreateNotificationTemplate(c *gin.Context)
CreateNotificationTemplate 创建通知模板 @Summary 创建通知模板 @Description 管理员创建新的通知模板 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateNotificationTemplateRequest true "通知模板创建请求" @Success 201 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/templates [post]
func (*NotificationManagementHandler) DeleteNotificationSchedule ¶
func (h *NotificationManagementHandler) DeleteNotificationSchedule(c *gin.Context)
DeleteNotificationSchedule 删除定时通知 @Summary 删除定时通知 @Description 删除指定的定时通知任务 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "定时任务ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/schedules/{id} [delete]
func (*NotificationManagementHandler) DeleteNotificationTemplate ¶
func (h *NotificationManagementHandler) DeleteNotificationTemplate(c *gin.Context)
DeleteNotificationTemplate 删除通知模板 @Summary 删除通知模板 @Description 删除指定的通知模板 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "模板ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/templates/{id} [delete]
func (*NotificationManagementHandler) GetCampaignStats ¶
func (h *NotificationManagementHandler) GetCampaignStats(c *gin.Context)
GetCampaignStats 获取活动统计 @Summary 获取活动统计 @Description 获取指定通知活动的详细统计数据,包括发送量、打开率等 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param campaign_id path int true "活动ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/campaigns/{campaign_id}/stats [get]
func (*NotificationManagementHandler) GetNotificationAnalytics ¶
func (h *NotificationManagementHandler) GetNotificationAnalytics(c *gin.Context)
GetNotificationAnalytics 获取通知分析 @Summary 获取通知分析 @Description 获取通知系统的详细分析数据,支持按时间、类型、活动等维度筛选 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param start_date query string false "开始日期 (格式: 2006-01-02)" @Param end_date query string false "结束日期 (格式: 2006-01-02)" @Param type query string false "通知类型" @Param category query string false "通知类别" @Param campaign_id query int false "活动ID" @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/analytics [get]
func (*NotificationManagementHandler) GetNotificationCampaign ¶
func (h *NotificationManagementHandler) GetNotificationCampaign(c *gin.Context)
GetNotificationCampaign 获取通知活动详情 @Summary 获取通知活动详情 @Description 获取指定通知活动的详细信息 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "活动ID" @Success 200 {object} model.NotificationCampaign @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/notifications/campaigns/{id} [get]
func (*NotificationManagementHandler) GetNotificationCampaigns ¶
func (h *NotificationManagementHandler) GetNotificationCampaigns(c *gin.Context)
GetNotificationCampaigns 获取通知活动列表 @Summary 获取通知活动列表 @Description 分页获取通知活动列表 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/campaigns [get]
func (*NotificationManagementHandler) GetNotificationMessages ¶
func (h *NotificationManagementHandler) GetNotificationMessages(c *gin.Context)
GetNotificationMessages 获取通知消息列表 @Summary 获取通知消息列表 @Description 分页获取系统中所有的通知消息记录,支持多条件筛选 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param type query string false "通知类型" @Param status query string false "消息状态" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/messages [get]
func (*NotificationManagementHandler) GetNotificationProviders ¶
func (h *NotificationManagementHandler) GetNotificationProviders(c *gin.Context)
GetNotificationProviders 获取通知提供商列表 @Summary 获取通知提供商列表 @Description 获取系统中所有配置的通知服务提供商列表 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/providers [get]
func (*NotificationManagementHandler) GetNotificationSchedules ¶
func (h *NotificationManagementHandler) GetNotificationSchedules(c *gin.Context)
GetNotificationSchedules 获取定时通知列表 @Summary 获取定时通知列表 @Description 分页获取所有定时通知任务列表 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/schedules [get]
func (*NotificationManagementHandler) GetNotificationSummary ¶
func (h *NotificationManagementHandler) GetNotificationSummary(c *gin.Context)
GetNotificationSummary 获取通知摘要 @Summary 获取通知摘要 @Description 获取通知系统的总体摘要信息,包括发送量、成功率等关键指标 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/summary [get]
func (*NotificationManagementHandler) GetNotificationTemplate ¶
func (h *NotificationManagementHandler) GetNotificationTemplate(c *gin.Context)
GetNotificationTemplate 获取通知模板详情 @Summary 获取通知模板详情 @Description 获取指定通知模板的详细信息 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "模板ID" @Success 200 {object} model.NotificationTemplate @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/notifications/templates/{id} [get]
func (*NotificationManagementHandler) GetNotificationTemplates ¶
func (h *NotificationManagementHandler) GetNotificationTemplates(c *gin.Context)
GetNotificationTemplates 获取通知模板列表 @Summary 获取通知模板列表 @Description 分页获取通知模板列表 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/templates [get]
func (*NotificationManagementHandler) GetTemplatesByType ¶
func (h *NotificationManagementHandler) GetTemplatesByType(c *gin.Context)
GetTemplatesByType 根据类型获取模板 @Summary 根据类型获取模板 @Description 获取指定类型的所有通知模板 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param type path string true "模板类型" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/templates/type/{type} [get]
func (*NotificationManagementHandler) GetUnreadCount ¶
func (h *NotificationManagementHandler) GetUnreadCount(c *gin.Context)
GetUnreadCount 获取未读消息数量 @Summary 获取未读消息数量 @Description 获取指定用户的未读通知消息数量 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param user_id query int true "用户ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/messages/unread-count [get]
func (*NotificationManagementHandler) GetUserNotificationSettings ¶
func (h *NotificationManagementHandler) GetUserNotificationSettings(c *gin.Context)
GetUserNotificationSettings 获取用户通知设置 @Summary 获取用户通知设置 @Description 获取指定用户的通知偏好设置(推送渠道、频率等) @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param user_id path int true "用户ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/settings/user/{user_id} [get]
func (*NotificationManagementHandler) GetUserNotifications ¶
func (h *NotificationManagementHandler) GetUserNotifications(c *gin.Context)
GetUserNotifications 获取用户通知 @Summary 获取用户通知 @Description 获取指定用户的所有通知消息列表 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param user_id path int true "用户ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/messages/user/{user_id} [get]
func (*NotificationManagementHandler) MarkMessageAsRead ¶
func (h *NotificationManagementHandler) MarkMessageAsRead(c *gin.Context)
MarkMessageAsRead 标记消息为已读 @Summary 标记消息为已读 @Description 管理员将指定的通知消息标记为已读状态 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "消息ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/messages/{id}/read [put]
func (*NotificationManagementHandler) SendBulkNotification ¶
func (h *NotificationManagementHandler) SendBulkNotification(c *gin.Context)
SendBulkNotification 批量发送通知 @Summary 批量发送通知 @Description 管理员使用指定模板向多个用户批量发送通知 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param request body object{template_id=int64,user_ids=[]int64,data=map[string]any} true "批量通知请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/messages/bulk [post]
func (*NotificationManagementHandler) SendNotification ¶
func (h *NotificationManagementHandler) SendNotification(c *gin.Context)
SendNotification 发送通知 @Summary 发送通知 @Description 管理员向指定用户发送通知消息 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param request body model.SendNotificationRequest true "通知发送请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/messages [post]
func (*NotificationManagementHandler) StartNotificationCampaign ¶
func (h *NotificationManagementHandler) StartNotificationCampaign(c *gin.Context)
StartNotificationCampaign 启动通知活动 @Summary 启动通知活动 @Description 启动指定的通知活动 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "活动ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/campaigns/{id}/start [post]
func (*NotificationManagementHandler) StopNotificationCampaign ¶
func (h *NotificationManagementHandler) StopNotificationCampaign(c *gin.Context)
StopNotificationCampaign 停止通知活动 @Summary 停止通知活动 @Description 停止指定的通知活动 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "活动ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/campaigns/{id}/stop [post]
func (*NotificationManagementHandler) TestNotificationProvider ¶
func (h *NotificationManagementHandler) TestNotificationProvider(c *gin.Context)
TestNotificationProvider 测试通知提供商 @Summary 测试通知提供商 @Description 测试指定通知服务提供商的连接和配置是否正常 @Tags 管理后台 - 通知 @Produce json @Security BearerAuth @Param id path int true "提供商ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/providers/{id}/test [post]
func (*NotificationManagementHandler) UpdateNotificationProvider ¶
func (h *NotificationManagementHandler) UpdateNotificationProvider(c *gin.Context)
UpdateNotificationProvider 更新通知提供商 @Summary 更新通知提供商 @Description 更新指定通知服务提供商的配置信息 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param id path int true "提供商ID" @Param updates body map[string]any true "更新内容" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/providers/{id} [put]
func (*NotificationManagementHandler) UpdateNotificationSchedule ¶
func (h *NotificationManagementHandler) UpdateNotificationSchedule(c *gin.Context)
UpdateNotificationSchedule 更新定时通知 @Summary 更新定时通知 @Description 更新指定定时通知任务的配置信息 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param id path int true "定时任务ID" @Param updates body map[string]any true "更新内容" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/schedules/{id} [put]
func (*NotificationManagementHandler) UpdateNotificationTemplate ¶
func (h *NotificationManagementHandler) UpdateNotificationTemplate(c *gin.Context)
UpdateNotificationTemplate 更新通知模板 @Summary 更新通知模板 @Description 更新指定通知模板的信息 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param id path int true "模板ID" @Param request body model.UpdateNotificationTemplateRequest true "更新请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/notifications/templates/{id} [put]
func (*NotificationManagementHandler) UpdateUserNotificationSettings ¶
func (h *NotificationManagementHandler) UpdateUserNotificationSettings(c *gin.Context)
UpdateUserNotificationSettings 更新用户通知设置 @Summary 更新用户通知设置 @Description 管理员更新指定用户的通知偏好设置 @Tags 管理后台 - 通知 @Accept json @Produce json @Security BearerAuth @Param user_id path int true "用户ID" @Param settings body []model.NotificationSettings true "通知设置" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /admin/notifications/settings/user/{user_id} [put]
type PaymentHandler ¶
type PaymentHandler struct {
// contains filtered or unexported fields
}
PaymentHandler 支付处理器
func NewPaymentHandler ¶
func NewPaymentHandler(services *service.Services) *PaymentHandler
NewPaymentHandler 创建支付处理器
func (*PaymentHandler) AlipayCallback ¶
func (h *PaymentHandler) AlipayCallback(c *gin.Context)
AlipayCallback 支付宝回调处理 @Summary 支付宝回调处理 @Description 处理支付宝支付结果回调 @Tags 支付 @Accept json @Produce plain @Param callback body map[string]any true "支付宝回调数据" @Success 200 {string} string "success" @Failure 400 {object} map[string]any @Router /api/v1/payment/callback/alipay [post]
func (*PaymentHandler) CreateOrder ¶
func (h *PaymentHandler) CreateOrder(c *gin.Context)
CreateOrder 创建支付订单 @Summary 创建支付订单 @Description 为用户创建新的支付订单 @Tags 支付 @Accept json @Produce json @Security BearerAuth @Param request body model.CreatePaymentRequest true "支付订单信息" @Success 201 {object} model.PaymentResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/payment/create [post]
func (*PaymentHandler) GetOrderByID ¶
func (h *PaymentHandler) GetOrderByID(c *gin.Context)
GetOrderByID 获取订单详情 @Summary 获取订单详情 @Description 根据订单ID获取支付订单的完整信息 @Tags 支付 @Produce json @Security BearerAuth @Param order_id path string true "订单ID" @Success 200 {object} model.PaymentOrder @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/payment/orders/{order_id} [get]
func (*PaymentHandler) GetOrderStatus ¶
func (h *PaymentHandler) GetOrderStatus(c *gin.Context)
GetOrderStatus 获取订单状态 @Summary 获取订单状态 @Description 根据订单号获取支付订单状态 @Tags 支付 @Produce json @Security BearerAuth @Param orderNo path string true "订单号" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/payment/status/{orderNo} [get]
func (*PaymentHandler) GetPaymentURL ¶
func (h *PaymentHandler) GetPaymentURL(c *gin.Context)
GetPaymentURL 获取支付URL @Summary 获取支付URL @Description 获取第三方支付(支付宝/微信)的支付URL或二维码 @Tags 支付 @Produce json @Security BearerAuth @Param order_id path string true "订单ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /api/v1/payment/orders/{order_id}/payment-url [get]
func (*PaymentHandler) GetTransactionHistory ¶
func (h *PaymentHandler) GetTransactionHistory(c *gin.Context)
GetTransactionHistory 获取交易记录 @Summary 获取交易记录 @Description 获取用户的交易历史记录 @Tags 支付 @Produce json @Security BearerAuth @Param type query string false "交易类型筛选" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.TransactionListResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/payment/transactions [get]
func (*PaymentHandler) GetUserBalance ¶
func (h *PaymentHandler) GetUserBalance(c *gin.Context)
GetUserBalance 获取用户余额 @Summary 获取用户余额 @Description 获取当前用户的账户余额信息 @Tags 支付 @Produce json @Security BearerAuth @Success 200 {object} model.UserBalanceResponse @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/payment/balance [get]
func (*PaymentHandler) PayWithBalance ¶
func (h *PaymentHandler) PayWithBalance(c *gin.Context)
PayWithBalance 使用余额支付 @Summary 使用余额支付 @Description 使用账户余额完成订单支付 @Tags 支付 @Accept json @Produce json @Security BearerAuth @Param request body model.PayWithBalanceRequest true "余额支付请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/payment/pay-with-balance [post]
func (*PaymentHandler) WechatCallback ¶
func (h *PaymentHandler) WechatCallback(c *gin.Context)
WechatCallback 微信支付回调处理 @Summary 微信支付回调处理 @Description 处理微信支付结果回调 @Tags 支付 @Accept xml @Produce xml @Param callback body string true "微信回调XML数据" @Success 200 {object} map[string]string @Failure 400 {object} map[string]string @Router /api/v1/payment/callback/wechat [post]
type PlayerHandler ¶
type PlayerHandler struct {
// contains filtered or unexported fields
}
PlayerHandler 播放器处理器
func NewPlayerHandler ¶
func NewPlayerHandler(playerService service.PlayerServiceInterface) *PlayerHandler
NewPlayerHandler 创建播放器处理器
func (*PlayerHandler) GetPlaybackStats ¶
func (h *PlayerHandler) GetPlaybackStats(c *gin.Context)
GetPlaybackStats 获取播放统计 @Summary 获取播放统计 @Description 获取指定分集的播放统计数据 @Tags 播放器 @Produce json @Param episode_id path int true "分集ID" @Param time_range query string false "时间范围" Enums(today, week, month, quarter, year) @Success 200 {object} service.VideoAnalytics @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /player/stats/{episode_id} [get]
func (*PlayerHandler) GetPlayerConfig ¶
func (h *PlayerHandler) GetPlayerConfig(c *gin.Context)
GetPlayerConfig 获取播放器配置 @Summary 获取播放器配置 @Description 获取用户的播放器个人偏好设置 @Tags 播放器 @Produce json @Security BearerAuth @Success 200 {object} service.PlayerConfig @Failure 401 {object} map[string]any @Router /player/config [get]
func (*PlayerHandler) GetPlayerInfo ¶
func (h *PlayerHandler) GetPlayerInfo(c *gin.Context)
GetPlayerInfo 获取播放器信息 @Summary 获取播放器信息 @Description 获取指定分集的播放器信息,包括播放配置、观看历史等 @Tags 播放器 @Produce json @Param episode_id path int true "分集ID" @Success 200 {object} service.PlayerResponse @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Failure 403 {object} map[string]any @Router /player/info/{episode_id} [get]
func (*PlayerHandler) GetUserWatchHistory ¶
func (h *PlayerHandler) GetUserWatchHistory(c *gin.Context)
GetUserWatchHistory 获取用户观看历史 @Summary 获取用户观看历史 @Description 获取当前用户的观看历史记录 @Tags 播放器 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.WatchHistoryResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /player/history [get]
func (*PlayerHandler) GetVideoQualityInfo ¶
func (h *PlayerHandler) GetVideoQualityInfo(c *gin.Context)
GetVideoQualityInfo 获取视频画质信息 @Summary 获取视频画质信息 @Description 获取指定分集的可用画质信息 @Tags 播放器 @Produce json @Param episode_id path int true "分集ID" @Success 200 {object} map[string]service.QualityInfo @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /player/quality/{episode_id} [get]
func (*PlayerHandler) TrackPlaybackEvent ¶
func (h *PlayerHandler) TrackPlaybackEvent(c *gin.Context)
TrackPlaybackEvent 追踪播放事件 @Summary 追踪播放事件 @Description 记录用户的播放行为事件,如播放、暂停、跳转等 @Tags 播放器 @Accept json @Produce json @Security BearerAuth @Param event body service.PlaybackEvent true "播放事件" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /player/events [post]
func (*PlayerHandler) UpdatePlayerConfig ¶
func (h *PlayerHandler) UpdatePlayerConfig(c *gin.Context)
UpdatePlayerConfig 更新播放器配置 @Summary 更新播放器配置 @Description 更新用户的播放器个人偏好设置 @Tags 播放器 @Accept json @Produce json @Security BearerAuth @Param config body service.PlayerConfig true "播放器配置" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /player/config [put]
type ProgressMessage ¶
type ProgressMessage struct {
Type string `json:"type"`
TaskID string `json:"task_id"`
Progress float64 `json:"progress"`
Status string `json:"status"`
Message string `json:"message"`
Data any `json:"data,omitempty"`
Timestamp int64 `json:"timestamp"`
}
ProgressMessage 进度消息 WebSocket推送的标准进度消息格式,用于实时通知客户端任务执行状态
字段说明:
- Type: 消息类型,可选值:"progress"(进度更新)、"complete"(完成)、"error"(错误)、"connection"(连接状态)
- TaskID: 任务唯一标识符,用于客户端关联对应的任务
- Progress: 进度百分比,取值范围0-100
- Status: 任务状态,如"processing"(处理中)、"completed"(已完成)、"failed"(失败)、"uploading"(上传中)等
- Message: 人类可读的状态描述,用于前端展示
- Data: 附加数据(可选),可包含任务详情、错误信息、结果数据等
- Timestamp: 消息发送时间戳(Unix秒),由服务端自动填充
示例JSON:
{
"type": "progress",
"task_id": "upload_12345",
"progress": 45.5,
"status": "uploading",
"message": "正在上传文件...",
"data": {"filename": "video.mp4", "size": 1024000},
"timestamp": 1704067200
}
type ProgressService ¶
type ProgressService interface {
UpdateProgress(taskID string, progress float64, status, message string, data any)
CompleteTask(taskID string, message string, data any)
FailTask(taskID string, message string, error any)
}
ProgressService 进度服务接口 定义了任务进度管理的标准接口,用于在Service层中推送任务执行进度
方法说明:
- UpdateProgress: 更新任务进度(0-100%之间的任意进度)
- CompleteTask: 标记任务为完成状态(自动设置进度为100%)
- FailTask: 标记任务为失败状态(包含错误信息)
实现类:
- progressService: 基于WebSocket的实现,将进度通过WebSocket实时推送给客户端
使用示例:
func (s *VideoService) UploadVideo(ctx context.Context, file io.Reader) error {
taskID := generateTaskID()
s.progress.UpdateProgress(taskID, 10, "uploading", "开始上传...", nil)
// ... 上传逻辑
s.progress.UpdateProgress(taskID, 50, "uploading", "上传中...", nil)
// ... 更多上传逻辑
s.progress.CompleteTask(taskID, "上传成功", map[string]any{"videoID": videoID})
return nil
}
func NewWebSocketProgressService ¶
func NewWebSocketProgressService(wsHandler *WebSocketHandler) ProgressService
NewWebSocketProgressService 创建基于WebSocket的进度服务实例 工厂函数,返回ProgressService接口的WebSocket实现
Parameters:
- wsHandler: WebSocket处理器实例,用于发送实时进度消息
Returns:
- ProgressService: 进度服务接口实现
使用示例:
wsHandler := handler.NewWebSocketHandler() progressSvc := handler.NewWebSocketProgressService(wsHandler) // 在Service层注入使用 videoService := service.NewVideoService(repo, progressSvc)
type PromotionManagementHandler ¶
type PromotionManagementHandler struct {
// contains filtered or unexported fields
}
PromotionManagementHandler 运营推广管理处理器
func NewPromotionManagementHandler ¶
func NewPromotionManagementHandler(promotionService service.PromotionManagementServiceInterface) *PromotionManagementHandler
NewPromotionManagementHandler 创建运营推广管理处理器
func (*PromotionManagementHandler) CreateHotRecommendation ¶
func (h *PromotionManagementHandler) CreateHotRecommendation(c *gin.Context)
CreateHotRecommendation 创建热门推荐 @Summary 创建热门推荐 @Description 创建新的热门推荐内容(如热播剧集、精选创作者等) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param request body model.HotRecommendationCreateRequest true "热门推荐创建请求" @Success 201 {object} map[string]any{message=string,recommendation=model.HotRecommendation} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/hot-recommendations [post]
func (*PromotionManagementHandler) CreatePromotionItem ¶
func (h *PromotionManagementHandler) CreatePromotionItem(c *gin.Context)
CreatePromotionItem 创建推广内容 @Summary 创建推广内容 @Description 在指定推广位中创建新的推广内容(如广告素材、推广卡片等) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param request body model.PromotionItemCreateRequest true "推广内容创建请求" @Success 201 {object} map[string]any{message=string,item=model.PromotionItem} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/items [post]
func (*PromotionManagementHandler) CreatePromotionSlot ¶
func (h *PromotionManagementHandler) CreatePromotionSlot(c *gin.Context)
CreatePromotionSlot 创建推广位 @Summary 创建推广位 @Description 创建新的推广位,用于在应用中展示推广内容(如Banner、卡片等) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param request body model.PromotionSlotCreateRequest true "推广位创建请求" @Success 201 {object} map[string]any{message=string,slot=model.PromotionSlot} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/slots [post]
func (*PromotionManagementHandler) CreateSpecialActivity ¶
func (h *PromotionManagementHandler) CreateSpecialActivity(c *gin.Context)
CreateSpecialActivity 创建专题活动 @Summary 创建专题活动 @Description 创建新的专题活动(如节日活动、季节专题、限时活动等) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param request body model.SpecialActivityCreateRequest true "专题活动创建请求" @Success 201 {object} map[string]any{message=string,activity=model.SpecialActivity} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/special-activities [post]
func (*PromotionManagementHandler) DeleteHotRecommendation ¶
func (h *PromotionManagementHandler) DeleteHotRecommendation(c *gin.Context)
DeleteHotRecommendation 删除热门推荐 @Summary 删除热门推荐 @Description 删除指定的热门推荐(软删除) @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param recommendation_id path int true "推荐ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/hot-recommendations/{recommendation_id} [delete]
func (*PromotionManagementHandler) DeletePromotionItem ¶
func (h *PromotionManagementHandler) DeletePromotionItem(c *gin.Context)
DeletePromotionItem 删除推广内容 @Summary 删除推广内容 @Description 删除指定的推广内容(软删除) @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param item_id path int true "推广内容ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/items/{item_id} [delete]
func (*PromotionManagementHandler) DeletePromotionSlot ¶
func (h *PromotionManagementHandler) DeletePromotionSlot(c *gin.Context)
DeletePromotionSlot 删除推广位 @Summary 删除推广位 @Description 删除指定的推广位(软删除) @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param slot_id path int true "推广位ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/slots/{slot_id} [delete]
func (*PromotionManagementHandler) DeleteSpecialActivity ¶
func (h *PromotionManagementHandler) DeleteSpecialActivity(c *gin.Context)
DeleteSpecialActivity 删除专题活动 @Summary 删除专题活动 @Description 删除指定的专题活动(软删除) @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param activity_id path int true "活动ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/special-activities/{activity_id} [delete]
func (*PromotionManagementHandler) GetHotRecommendation ¶
func (h *PromotionManagementHandler) GetHotRecommendation(c *gin.Context)
GetHotRecommendation 获取热门推荐详情 @Summary 获取热门推荐详情 @Description 根据推荐ID获取热门推荐的详细信息 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param recommendation_id path int true "推荐ID" @Success 200 {object} model.HotRecommendation @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/hot-recommendations/{recommendation_id} [get]
func (*PromotionManagementHandler) GetHotRecommendations ¶
func (h *PromotionManagementHandler) GetHotRecommendations(c *gin.Context)
GetHotRecommendations 获取热门推荐列表 @Summary 获取热门推荐列表 @Description 获取热门推荐列表,支持按推荐类型和激活状态筛选 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param type query string false "推荐类型(trending, featured, editor_choice, new_release)" @Param is_active query boolean false "是否激活" @Success 200 {object} map[string]any{recommendations=[]model.HotRecommendationInfo,total=int} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/hot-recommendations [get]
func (*PromotionManagementHandler) GetPromotionAnalytics ¶
func (h *PromotionManagementHandler) GetPromotionAnalytics(c *gin.Context)
GetPromotionAnalytics 获取推广分析 @Summary 获取推广分析数据 @Description 获取指定时间范围内的推广效果分析数据,包括展示量、点击率、转化率等关键指标 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param start_date query string false "开始日期(格式:2006-01-02,默认30天前)" @Param end_date query string false "结束日期(格式:2006-01-02,默认今天)" @Success 200 {object} model.PromotionAnalyticsData @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/analytics [get]
func (*PromotionManagementHandler) GetPromotionItem ¶
func (h *PromotionManagementHandler) GetPromotionItem(c *gin.Context)
GetPromotionItem 获取推广内容详情 @Summary 获取推广内容详情 @Description 根据推广内容ID获取详细信息 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param item_id path int true "推广内容ID" @Success 200 {object} model.PromotionItem @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/items/{item_id} [get]
func (*PromotionManagementHandler) GetPromotionItems ¶
func (h *PromotionManagementHandler) GetPromotionItems(c *gin.Context)
GetPromotionItems 获取推广内容列表 @Summary 获取推广内容列表 @Description 获取指定推广位下的所有推广内容列表 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param slot_id query int true "推广位ID" @Success 200 {object} map[string]any{items=[]model.PromotionItemInfo,total=int} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/items [get]
func (*PromotionManagementHandler) GetPromotionOverview ¶
func (h *PromotionManagementHandler) GetPromotionOverview(c *gin.Context)
GetPromotionOverview 获取推广概览 @Summary 获取推广概览 @Description 获取推广系统的整体概览数据,包括推广位、推广内容、活动统计等汇总信息 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param start_date query string false "开始日期(格式:2006-01-02,默认7天前)" @Param end_date query string false "结束日期(格式:2006-01-02,默认今天)" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/analytics/overview [get]
func (*PromotionManagementHandler) GetPromotionSlot ¶
func (h *PromotionManagementHandler) GetPromotionSlot(c *gin.Context)
GetPromotionSlot 获取推广位详情 @Summary 获取推广位详情 @Description 根据推广位ID获取详细信息 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param slot_id path int true "推广位ID" @Success 200 {object} model.PromotionSlot @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/slots/{slot_id} [get]
func (*PromotionManagementHandler) GetPromotionSlots ¶
func (h *PromotionManagementHandler) GetPromotionSlots(c *gin.Context)
GetPromotionSlots 获取推广位列表 @Summary 获取推广位列表 @Description 获取推广位列表,支持按位置、平台和激活状态筛选 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param position query string false "推广位置(如:home_top, category_banner)" @Param platform query string false "平台(web, mobile, app)" @Param is_active query boolean false "是否激活" @Success 200 {object} map[string]any{slots=[]model.PromotionSlotInfo,total=int} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/slots [get]
func (*PromotionManagementHandler) GetSpecialActivities ¶
func (h *PromotionManagementHandler) GetSpecialActivities(c *gin.Context)
GetSpecialActivities 获取专题活动列表 @Summary 获取专题活动列表 @Description 获取专题活动列表,支持按活动类型和状态筛选 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param activity_type query string false "活动类型(festival, season, genre, creator_spotlight, limited_time)" @Param status query string false "活动状态(draft, active, paused, completed, cancelled)" @Success 200 {object} map[string]any{activities=[]model.SpecialActivityInfo,total=int} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/special-activities [get]
func (*PromotionManagementHandler) GetSpecialActivity ¶
func (h *PromotionManagementHandler) GetSpecialActivity(c *gin.Context)
GetSpecialActivity 获取专题活动详情 @Summary 获取专题活动详情 @Description 根据活动ID获取专题活动的详细信息 @Tags 管理后台 - 推广管理 @Produce json @Security BearerAuth @Param activity_id path int true "活动ID" @Success 200 {object} model.SpecialActivity @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/special-activities/{activity_id} [get]
func (*PromotionManagementHandler) UpdateHotRecommendation ¶
func (h *PromotionManagementHandler) UpdateHotRecommendation(c *gin.Context)
UpdateHotRecommendation 更新热门推荐 @Summary 更新热门推荐 @Description 更新热门推荐的配置信息(支持部分更新) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param recommendation_id path int true "推荐ID" @Param updates body map[string]any true "更新字段(支持部分更新)" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/hot-recommendations/{recommendation_id} [put]
func (*PromotionManagementHandler) UpdatePromotionItem ¶
func (h *PromotionManagementHandler) UpdatePromotionItem(c *gin.Context)
UpdatePromotionItem 更新推广内容 @Summary 更新推广内容 @Description 更新推广内容的配置信息(支持部分更新) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param item_id path int true "推广内容ID" @Param updates body map[string]any true "更新字段(支持部分更新)" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/items/{item_id} [put]
func (*PromotionManagementHandler) UpdatePromotionSlot ¶
func (h *PromotionManagementHandler) UpdatePromotionSlot(c *gin.Context)
UpdatePromotionSlot 更新推广位 @Summary 更新推广位 @Description 更新推广位的配置信息(支持部分更新) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param slot_id path int true "推广位ID" @Param updates body map[string]any true "更新字段(支持部分更新)" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/slots/{slot_id} [put]
func (*PromotionManagementHandler) UpdateSpecialActivity ¶
func (h *PromotionManagementHandler) UpdateSpecialActivity(c *gin.Context)
UpdateSpecialActivity 更新专题活动 @Summary 更新专题活动 @Description 更新专题活动的配置信息(支持部分更新) @Tags 管理后台 - 推广管理 @Accept json @Produce json @Security BearerAuth @Param activity_id path int true "活动ID" @Param updates body map[string]any true "更新字段(支持部分更新)" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/promotion/special-activities/{activity_id} [put]
type RBACManagementHandler ¶
type RBACManagementHandler struct {
// contains filtered or unexported fields
}
RBACManagementHandler RBAC权限管理处理器
func NewRBACManagementHandler ¶
func NewRBACManagementHandler(rbacService service.RBACServiceInterface) *RBACManagementHandler
NewRBACManagementHandler 创建RBAC管理处理器
func (*RBACManagementHandler) AssignPermissionsToRole ¶
func (h *RBACManagementHandler) AssignPermissionsToRole(c *gin.Context)
AssignPermissionsToRole 为角色分配权限 @Summary 为角色分配权限 @Description 为指定角色分配一组权限 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param id path int true "角色ID" @Param request body object{permission_ids=[]int} true "权限ID列表" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles/{id}/permissions [post]
func (*RBACManagementHandler) AssignRolesToUser ¶
func (h *RBACManagementHandler) AssignRolesToUser(c *gin.Context)
AssignRolesToUser 为用户分配角色 @Summary 为用户分配角色 @Description 为指定用户分配一个或多个角色 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param request body model.AssignRoleRequest true "角色分配信息" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/users/{id}/roles [post]
func (*RBACManagementHandler) CheckPermission ¶
func (h *RBACManagementHandler) CheckPermission(c *gin.Context)
CheckPermission 检查权限 @Summary 检查权限 @Description 检查用户是否具有指定的操作权限 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param request body model.PermissionCheckRequest true "权限检查请求" @Success 200 {object} model.PermissionCheckResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/check [post]
func (*RBACManagementHandler) CreatePermission ¶
func (h *RBACManagementHandler) CreatePermission(c *gin.Context)
CreatePermission 创建权限 @Summary 创建权限 @Description 创建新的系统权限,定义资源操作和所属模块 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param request body model.CreatePermissionRequest true "权限创建信息" @Success 201 {object} map[string]any{message=string,permission=model.Permission} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permissions [post]
func (*RBACManagementHandler) CreatePermissionGroup ¶
func (h *RBACManagementHandler) CreatePermissionGroup(c *gin.Context)
CreatePermissionGroup 创建权限组 @Summary 创建权限组 @Description 创建新的权限组用于权限分类管理 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param request body model.PermissionGroup true "权限组信息" @Success 201 {object} map[string]any{message=string,group=model.PermissionGroup} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permission-groups [post]
func (*RBACManagementHandler) CreateRole ¶
func (h *RBACManagementHandler) CreateRole(c *gin.Context)
CreateRole 创建角色 @Summary 创建角色 @Description 创建新的用户角色,可同时分配权限 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param request body model.CreateRoleRequest true "角色创建信息" @Success 201 {object} map[string]any{message=string,role=model.Role} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles [post]
func (*RBACManagementHandler) DeletePermission ¶
func (h *RBACManagementHandler) DeletePermission(c *gin.Context)
DeletePermission 删除权限 @Summary 删除权限 @Description 删除指定的系统权限 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "权限ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permissions/{id} [delete]
func (*RBACManagementHandler) DeleteRole ¶
func (h *RBACManagementHandler) DeleteRole(c *gin.Context)
DeleteRole 删除角色 @Summary 删除角色 @Description 删除指定的用户角色 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "角色ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles/{id} [delete]
func (*RBACManagementHandler) GetPermission ¶
func (h *RBACManagementHandler) GetPermission(c *gin.Context)
GetPermission 获取权限详情 @Summary 获取权限详情 @Description 根据权限ID获取权限的详细信息 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "权限ID" @Success 200 {object} model.Permission @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permissions/{id} [get]
func (*RBACManagementHandler) GetPermissionGroups ¶
func (h *RBACManagementHandler) GetPermissionGroups(c *gin.Context)
GetPermissionGroups 获取权限组列表 @Summary 获取权限组列表 @Description 获取所有权限组及其包含的权限 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Success 200 {object} map[string]any{groups=[]model.PermissionGroup} @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permission-groups [get]
func (*RBACManagementHandler) GetPermissions ¶
func (h *RBACManagementHandler) GetPermissions(c *gin.Context)
GetPermissions 获取权限列表 @Summary 获取权限列表 @Description 获取系统权限列表,支持分页、搜索和筛选 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param page query int false "页码" @Param limit query int false "每页数量" @Param search query string false "搜索关键词" @Param module query string false "所属模块" @Param resource query string false "资源名称" @Param action query string false "操作类型" @Param is_active query bool false "是否启用" @Success 200 {object} map[string]any{permissions=[]model.Permission,total=int,page=int,limit=int} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permissions [get]
func (*RBACManagementHandler) GetPermissionsByModule ¶
func (h *RBACManagementHandler) GetPermissionsByModule(c *gin.Context)
GetPermissionsByModule 根据模块获取权限 @Summary 根据模块获取权限 @Description 获取指定模块下的所有权限 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param module path string true "模块名称" @Success 200 {object} map[string]any{module=string,permissions=[]model.Permission} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permissions/module/{module} [get]
func (*RBACManagementHandler) GetRBACAnalytics ¶
func (h *RBACManagementHandler) GetRBACAnalytics(c *gin.Context)
GetRBACAnalytics 获取RBAC分析 @Summary 获取RBAC分析统计 @Description 获取权限系统的统计分析数据,包括角色、权限使用情况和活动记录 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param start_date query string false "开始日期" @Param end_date query string false "结束日期" @Param role_id query int false "角色ID" @Param user_id query int false "用户ID" @Success 200 {object} model.RBACAnalyticsResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/analytics [get]
func (*RBACManagementHandler) GetRole ¶
func (h *RBACManagementHandler) GetRole(c *gin.Context)
GetRole 获取角色详情 @Summary 获取角色详情 @Description 根据角色ID获取角色的详细信息 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "角色ID" @Success 200 {object} model.Role @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles/{id} [get]
func (*RBACManagementHandler) GetRolePermissions ¶
func (h *RBACManagementHandler) GetRolePermissions(c *gin.Context)
GetRolePermissions 获取角色权限 @Summary 获取角色权限 @Description 获取指定角色的所有权限信息 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "角色ID" @Success 200 {object} model.RolePermissionResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles/{id}/permissions [get]
func (*RBACManagementHandler) GetRoles ¶
func (h *RBACManagementHandler) GetRoles(c *gin.Context)
GetRoles 获取角色列表 @Summary 获取角色列表 @Description 获取系统角色列表,支持分页、搜索和筛选 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param page query int false "页码" @Param limit query int false "每页数量" @Param search query string false "搜索关键词" @Param is_active query bool false "是否启用" @Param is_system query bool false "是否系统角色" @Success 200 {object} map[string]any{roles=[]model.Role,total=int,page=int,limit=int} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles [get]
func (*RBACManagementHandler) GetUserPermissions ¶
func (h *RBACManagementHandler) GetUserPermissions(c *gin.Context)
GetUserPermissions 获取用户权限 @Summary 获取用户权限 @Description 获取指定用户的所有权限信息,包括角色权限 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Success 200 {object} model.UserPermissionInfo @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/users/{id}/permissions [get]
func (*RBACManagementHandler) GetUserResourcePermissions ¶
func (h *RBACManagementHandler) GetUserResourcePermissions(c *gin.Context)
GetUserResourcePermissions 获取用户资源权限 @Summary 获取用户资源权限 @Description 获取用户对特定资源的所有权限 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param resource_type query string true "资源类型" @Param resource_id query int true "资源ID" @Success 200 {object} map[string]any{user_id=int,resource_type=string,resource_id=int,permissions=[]model.Permission} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/users/{id}/resources [get]
func (*RBACManagementHandler) GrantResourcePermission ¶
func (h *RBACManagementHandler) GrantResourcePermission(c *gin.Context)
GrantResourcePermission 授予资源权限 @Summary 授予资源权限 @Description 为用户授予特定资源的权限 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param request body model.GrantResourcePermissionRequest true "资源权限授予信息" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/resources/grant [post]
func (*RBACManagementHandler) RevokeResourcePermission ¶
func (h *RBACManagementHandler) RevokeResourcePermission(c *gin.Context)
RevokeResourcePermission 撤销资源权限 @Summary 撤销资源权限 @Description 撤销用户对特定资源的权限 @Tags 管理后台 - RBAC权限 @Produce json @Security BearerAuth @Param user_id query int true "用户ID" @Param resource_type query string true "资源类型" @Param resource_id query int true "资源ID" @Param permission_id query int true "权限ID" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/resources/revoke [post]
func (*RBACManagementHandler) RevokeRolesFromUser ¶
func (h *RBACManagementHandler) RevokeRolesFromUser(c *gin.Context)
RevokeRolesFromUser 撤销用户角色 @Summary 撤销用户角色 @Description 从指定用户撤销一个或多个角色 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param request body model.RevokeRoleRequest true "角色撤销信息" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/users/{id}/roles [delete]
func (*RBACManagementHandler) UpdatePermission ¶
func (h *RBACManagementHandler) UpdatePermission(c *gin.Context)
UpdatePermission 更新权限 @Summary 更新权限 @Description 更新指定权限的信息 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param id path int true "权限ID" @Param request body model.UpdatePermissionRequest true "权限更新信息" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/permissions/{id} [put]
func (*RBACManagementHandler) UpdateRole ¶
func (h *RBACManagementHandler) UpdateRole(c *gin.Context)
UpdateRole 更新角色 @Summary 更新角色 @Description 更新指定角色的信息和权限 @Tags 管理后台 - RBAC权限 @Accept json @Produce json @Security BearerAuth @Param id path int true "角色ID" @Param request body model.UpdateRoleRequest true "角色更新信息" @Success 200 {object} map[string]any{message=string} @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/rbac/roles/{id} [put]
type RateLimitManagementHandler ¶
type RateLimitManagementHandler struct {
// contains filtered or unexported fields
}
RateLimitManagementHandler 限流管理处理器
func NewRateLimitManagementHandler ¶
func NewRateLimitManagementHandler(multiCB *middleware.MultiCircuitBreaker) *RateLimitManagementHandler
NewRateLimitManagementHandler 创建限流管理处理器
func (*RateLimitManagementHandler) ClearRateLimit ¶
func (h *RateLimitManagementHandler) ClearRateLimit(c *gin.Context)
ClearRateLimit 清除限流记录 @Summary 清除限流记录 @Description 清除指定客户端或所有客户端的限流记录 @Tags 管理后台 - 系统监控 @Accept json @Produce json @Security BearerAuth @Param request body model.ClearRateLimitRequest false "清除请求(client_ip为空则清除所有)" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/system/rate-limit/clear [post]
func (*RateLimitManagementHandler) GetCircuitBreakerByName ¶
func (h *RateLimitManagementHandler) GetCircuitBreakerByName(c *gin.Context)
GetCircuitBreakerByName 根据名称获取熔断器状态 @Summary 获取指定熔断器状态 @Description 根据熔断器名称获取其详细状态 @Tags 管理后台 - 系统监控 @Produce json @Security BearerAuth @Param name path string true "熔断器名称" @Success 200 {object} model.CircuitBreakerStatus @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/system/circuit-breaker/{name} [get]
func (*RateLimitManagementHandler) GetCircuitBreakerStats ¶
func (h *RateLimitManagementHandler) GetCircuitBreakerStats(c *gin.Context)
GetCircuitBreakerStats 获取熔断器统计 @Summary 获取熔断器统计 @Description 获取系统中所有熔断器的状态统计 @Tags 管理后台 - 系统监控 @Produce json @Security BearerAuth @Success 200 {object} model.CircuitBreakerStatsResponse @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/system/circuit-breaker/stats [get]
func (*RateLimitManagementHandler) GetRateLimitStats ¶
func (h *RateLimitManagementHandler) GetRateLimitStats(c *gin.Context)
GetRateLimitStats 获取限流统计 @Summary 获取限流统计 @Description 获取当前系统的限流状态统计,包括所有客户端的限流情况 @Tags 管理后台 - 系统监控 @Produce json @Security BearerAuth @Success 200 {object} model.RateLimitStatsResponse @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/system/rate-limit/stats [get]
func (*RateLimitManagementHandler) ResetCircuitBreaker ¶
func (h *RateLimitManagementHandler) ResetCircuitBreaker(c *gin.Context)
ResetCircuitBreaker 重置熔断器 @Summary 重置熔断器 @Description 重置指定熔断器的状态和计数器 @Tags 管理后台 - 系统监控 @Accept json @Produce json @Security BearerAuth @Param request body model.ResetCircuitBreakerRequest true "重置请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/system/circuit-breaker/reset [post]
type RecommendationHandler ¶
type RecommendationHandler struct {
// contains filtered or unexported fields
}
func NewRecommendationHandler ¶
func NewRecommendationHandler( recommendationService service.RecommendationServiceInterface, tagService service.TagRecommendationServiceInterface, ) *RecommendationHandler
func (*RecommendationHandler) AnalyzeUserPreferences ¶
func (h *RecommendationHandler) AnalyzeUserPreferences(c *gin.Context)
AnalyzeUserPreferences 分析用户偏好 @Summary 分析用户偏好 @Description 分析用户的观看历史和行为数据,返回用户的偏好分析结果,包括分类偏好和标签偏好 @Tags 推荐系统 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /recommendations/preferences [get]
func (*RecommendationHandler) GetPersonalizedRecommendations ¶
func (h *RecommendationHandler) GetPersonalizedRecommendations(c *gin.Context)
GetPersonalizedRecommendations 获取个性化推荐 @Summary 获取个性化推荐 @Description 根据用户历史行为和偏好获取个性化推荐内容,支持多种推荐算法(协同过滤、内容推荐、热门推荐、混合推荐) @Tags 推荐系统 @Produce json @Security BearerAuth @Param count query int false "推荐数量" default(20) @Param algorithm query string false "推荐算法类型" Enums(collaborative, content_based, trending, hybrid) default(hybrid) @Success 200 {object} service.RecommendationResponse @Failure 401 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /recommendations/personalized [get]
func (*RecommendationHandler) GetRecommendedTags ¶
func (h *RecommendationHandler) GetRecommendedTags(c *gin.Context)
GetRecommendedTags 获取推荐标签 @Summary 获取推荐标签 @Description 根据用户偏好获取个性化推荐标签列表 @Tags 推荐系统 @Produce json @Security BearerAuth @Param count query int false "返回数量" default(10) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /recommendations/tags/suggested [get]
func (*RecommendationHandler) GetSimilarContent ¶
func (h *RecommendationHandler) GetSimilarContent(c *gin.Context)
GetSimilarContent 获取相似内容 @Summary 获取相似内容 @Description 根据指定内容ID获取相似的内容推荐 @Tags 推荐系统 @Produce json @Param item_id path int true "内容ID" @Param item_type query string false "内容类型" Enums(episode, series) default(episode) @Param count query int false "返回数量" default(10) @Success 200 {object} service.RecommendationResponse @Failure 400 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /recommendations/similar/{item_id} [get]
func (*RecommendationHandler) GetTagBasedRecommendations ¶
func (h *RecommendationHandler) GetTagBasedRecommendations(c *gin.Context)
GetTagBasedRecommendations 获取基于标签的推荐 @Summary 获取基于标签的推荐 @Description 根据用户指定的标签和标签权重获取个性化推荐内容 @Tags 推荐系统 @Accept json @Produce json @Security BearerAuth @Param request body service.TagBasedRecommendationRequest true "标签推荐请求" @Success 200 {object} service.RecommendationResponse @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /recommendations/tags [post]
func (*RecommendationHandler) GetTrendingContent ¶
func (h *RecommendationHandler) GetTrendingContent(c *gin.Context)
GetTrendingContent 获取热门内容 @Summary 获取热门内容 @Description 获取指定时间范围内的热门内容,可按分类筛选 @Tags 推荐系统 @Produce json @Param time_range query string false "时间范围" Enums(day, week, month) default(week) @Param category query string false "内容分类" @Param count query int false "返回数量" default(20) @Success 200 {object} service.RecommendationResponse @Failure 500 {object} ErrorResponse @Router /recommendations/trending [get]
func (*RecommendationHandler) GetTrendingTags ¶
func (h *RecommendationHandler) GetTrendingTags(c *gin.Context)
GetTrendingTags 获取热门标签 @Summary 获取热门标签 @Description 获取指定时间范围内的热门标签列表 @Tags 推荐系统 @Produce json @Param time_range query string false "时间范围" Enums(day, week, month) default(week) @Param count query int false "返回数量" default(20) @Success 200 {object} map[string]any @Failure 500 {object} map[string]any @Router /recommendations/tags/trending [get]
func (*RecommendationHandler) GetUserTagPreferences ¶
func (h *RecommendationHandler) GetUserTagPreferences(c *gin.Context)
GetUserTagPreferences 获取用户标签偏好 @Summary 获取用户标签偏好 @Description 获取用户的标签偏好数据,包括标签权重和偏好分数 @Tags 推荐系统 @Produce json @Security BearerAuth @Success 200 {array} map[string]any @Failure 401 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /recommendations/user-tag-preferences [get]
func (*RecommendationHandler) RecordUserBehavior ¶
func (h *RecommendationHandler) RecordUserBehavior(c *gin.Context)
RecordUserBehavior 记录用户行为 @Summary 记录用户行为 @Description 记录用户在平台上的行为,用于推荐算法优化 @Tags 推荐系统 @Accept json @Produce json @Security BearerAuth @Param request body service.UserBehavior true "用户行为数据" @Success 200 {object} map[string]any @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Router /recommendations/behavior [post]
func (*RecommendationHandler) TrackRecommendationClick ¶
func (h *RecommendationHandler) TrackRecommendationClick(c *gin.Context)
TrackRecommendationClick 跟踪推荐点击 @Summary 跟踪推荐点击 @Description 记录用户对推荐内容的点击行为 @Tags 推荐系统 @Accept json @Produce json @Security BearerAuth @Param item_id path int true "内容ID" @Param algorithm query string false "推荐算法" default("hybrid") @Success 200 {object} map[string]any @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Router /recommendations/click/{item_id} [post]
type SearchEnhancementHandler ¶
type SearchEnhancementHandler struct {
// contains filtered or unexported fields
}
SearchEnhancementHandler 搜索增强处理器
func NewSearchEnhancementHandler ¶
func NewSearchEnhancementHandler(searchService service.SearchEnhancementService) *SearchEnhancementHandler
NewSearchEnhancementHandler 创建搜索增强处理器
func (*SearchEnhancementHandler) ClearSearchHistory ¶
func (h *SearchEnhancementHandler) ClearSearchHistory(c *gin.Context)
ClearSearchHistory 清除搜索历史 @Summary 清除搜索历史 @Description 清除当前用户的搜索历史(全部或指定关键词) @Tags 搜索 @Accept json @Produce json @Security BearerAuth @Param request body model.ClearSearchHistoryRequest false "清除请求" @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/search/history [delete]
func (*SearchEnhancementHandler) GetHotSearches ¶
func (h *SearchEnhancementHandler) GetHotSearches(c *gin.Context)
GetHotSearches 获取热搜榜 @Summary 获取热搜榜 @Description 获取当前热门搜索关键词榜单 @Tags 搜索 @Produce json @Param limit query int false "返回数量" default(20) @Success 200 {object} model.HotSearchResponse @Failure 500 {object} map[string]any @Router /api/v1/search/hot [get]
func (*SearchEnhancementHandler) GetSearchAnalytics ¶
func (h *SearchEnhancementHandler) GetSearchAnalytics(c *gin.Context)
GetSearchAnalytics 获取搜索分析统计(管理员) @Summary 获取搜索分析统计 @Description 管理员查看搜索数据分析和统计 @Tags 管理后台 - 数据分析 @Produce json @Security BearerAuth @Param start_date query string false "开始日期 YYYY-MM-DD" @Param end_date query string false "结束日期 YYYY-MM-DD" @Param limit query int false "Top关键词数量" default(10) @Success 200 {object} model.SearchAnalytics @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/admin/search/analytics [get]
func (*SearchEnhancementHandler) GetSearchHistory ¶
func (h *SearchEnhancementHandler) GetSearchHistory(c *gin.Context)
GetSearchHistory 获取搜索历史 @Summary 获取搜索历史 @Description 获取当前用户的搜索历史记录 @Tags 搜索 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.SearchHistoryResponse @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/search/history [get]
func (*SearchEnhancementHandler) GetSearchSuggestions ¶
func (h *SearchEnhancementHandler) GetSearchSuggestions(c *gin.Context)
GetSearchSuggestions 获取搜索建议 @Summary 获取搜索建议 @Description 根据输入的关键词获取搜索建议/自动补全 @Tags 搜索 @Produce json @Param q query string true "搜索关键词" @Param limit query int false "返回数量" default(10) @Success 200 {object} model.SearchSuggestionsResponse @Failure 400 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/search/suggestions [get]
func (*SearchEnhancementHandler) SaveSearchHistory ¶
func (h *SearchEnhancementHandler) SaveSearchHistory(c *gin.Context)
SaveSearchHistory 保存搜索历史 @Summary 保存搜索历史 @Description 保存用户的搜索记录 @Tags 搜索 @Accept json @Produce json @Security BearerAuth @Param request body model.SaveSearchRequest true "搜索记录" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /api/v1/search/history [post]
type SocialHandler ¶
type SocialHandler struct {
// contains filtered or unexported fields
}
SocialHandler 社交处理器
func NewSocialHandler ¶
func NewSocialHandler(socialService service.SocialServiceInterface) *SocialHandler
NewSocialHandler 创建社交处理器
func (*SocialHandler) CreateComment ¶
func (h *SocialHandler) CreateComment(c *gin.Context)
CreateComment 创建评论 @Summary 创建评论 @Description 创建新的评论或回复 @Tags 社交功能 @Accept json @Produce json @Security BearerAuth @Param comment body service.CommentRequest true "评论内容" @Success 200 {object} service.CommentResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /social/comments [post]
func (*SocialHandler) DeleteComment ¶
func (h *SocialHandler) DeleteComment(c *gin.Context)
DeleteComment 删除评论 @Summary 删除评论 @Description 删除指定的评论 @Tags 社交功能 @Produce json @Security BearerAuth @Param comment_id path int true "评论ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /social/comments/{comment_id} [delete]
func (*SocialHandler) GetComments ¶
func (h *SocialHandler) GetComments(c *gin.Context)
GetComments 获取评论列表 @Summary 获取评论列表 @Description 获取指定剧集或分集的评论列表 @Tags 社交功能 @Produce json @Param series_id query int false "剧集ID" @Param episode_id query int false "分集ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param sort_by query string false "排序方式" Enums(hot, time) default(hot) @Success 200 {object} service.CommentListResponse @Failure 400 {object} map[string]any @Router /social/comments [get]
func (*SocialHandler) GetLikeStats ¶
func (h *SocialHandler) GetLikeStats(c *gin.Context)
GetLikeStats 获取点赞统计 @Summary 获取点赞统计 @Description 获取指定目标的点赞统计信息 @Tags 社交功能 @Produce json @Param target_type query string true "目标类型" Enums(series, episode, comment) @Param target_id query int true "目标ID" @Success 200 {object} service.LikeStats @Failure 400 {object} map[string]any @Router /social/likes/stats [get]
func (*SocialHandler) GetUserComments ¶
func (h *SocialHandler) GetUserComments(c *gin.Context)
GetUserComments 获取用户评论 @Summary 获取用户评论 @Description 获取当前用户的评论列表 @Tags 社交功能 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} service.CommentListResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /social/my/comments [get]
func (*SocialHandler) GetUserLikes ¶
func (h *SocialHandler) GetUserLikes(c *gin.Context)
GetUserLikes 获取用户点赞 @Summary 获取用户点赞 @Description 获取当前用户的点赞列表 @Tags 社交功能 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} []service.LikeStats @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /social/my/likes [get]
func (*SocialHandler) ToggleLike ¶
func (h *SocialHandler) ToggleLike(c *gin.Context)
ToggleLike 切换点赞 @Summary 切换点赞 @Description 对指定目标进行点赞或取消点赞 @Tags 社交功能 @Accept json @Produce json @Security BearerAuth @Param like body service.LikeRequest true "点赞请求" @Success 200 {object} service.LikeStats @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /social/likes [post]
func (*SocialHandler) UpdateComment ¶
func (h *SocialHandler) UpdateComment(c *gin.Context)
UpdateComment 更新评论 @Summary 更新评论 @Description 更新指定评论的内容 @Tags 社交功能 @Accept json @Produce json @Security BearerAuth @Param comment_id path int true "评论ID" @Param request body map[string]string true "更新内容" @Success 200 {object} service.CommentResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /social/comments/{comment_id} [put]
type StorageManagementHandler ¶
type StorageManagementHandler struct {
// contains filtered or unexported fields
}
StorageManagementHandler 存储管理处理器
func NewStorageManagementHandler ¶
func NewStorageManagementHandler(storageService service.StorageSettingsServiceInterface) *StorageManagementHandler
NewStorageManagementHandler 创建存储管理处理器
func (*StorageManagementHandler) CancelMigration ¶
func (h *StorageManagementHandler) CancelMigration(c *gin.Context)
CancelMigration 取消迁移 @Summary 取消迁移任务 @Description 取消正在进行的存储迁移任务 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param migration_id path string true "迁移任务ID" @Success 200 {object} map[string]interface{} "取消成功" @Failure 400 {object} map[string]interface{} "请求参数错误或取消失败" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/migration/{migration_id}/cancel [post]
func (*StorageManagementHandler) CheckQuotaUsage ¶
func (h *StorageManagementHandler) CheckQuotaUsage(c *gin.Context)
CheckQuotaUsage 检查配额使用情况 @Summary 检查配额使用情况 @Description 检查指定用户或剧集的存储配额使用情况 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param user_id query int false "用户ID" @Param series_id query int false "剧集ID" @Success 200 {object} model.StorageQuota "配额使用情况" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/quota/usage [get]
func (*StorageManagementHandler) GetBackupStatus ¶
func (h *StorageManagementHandler) GetBackupStatus(c *gin.Context)
GetBackupStatus 获取备份状态 @Summary 获取备份状态 @Description 获取指定备份任务的详细状态和进度信息 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param backup_id path string true "备份任务ID" @Success 200 {object} model.StorageBackup "备份状态信息" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 404 {object} map[string]interface{} "备份任务不存在" @Router /admin/storage/backup/{backup_id} [get]
func (*StorageManagementHandler) GetCleanupStatus ¶
func (h *StorageManagementHandler) GetCleanupStatus(c *gin.Context)
GetCleanupStatus 获取清理状态 @Summary 获取清理状态 @Description 获取指定清理任务的详细状态和进度信息 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param cleanup_id path string true "清理任务ID" @Success 200 {object} model.StorageCleanup "清理状态信息" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 404 {object} map[string]interface{} "清理任务不存在" @Router /admin/storage/cleanup/{cleanup_id} [get]
func (*StorageManagementHandler) GetMigrationStatus ¶
func (h *StorageManagementHandler) GetMigrationStatus(c *gin.Context)
GetMigrationStatus 获取迁移状态 @Summary 获取迁移状态 @Description 获取指定迁移任务的详细状态和进度信息 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param migration_id path string true "迁移任务ID" @Success 200 {object} model.StorageMigrationResult "迁移状态信息" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 404 {object} map[string]interface{} "迁移任务不存在" @Router /admin/storage/migration/{migration_id} [get]
func (*StorageManagementHandler) GetMigrations ¶
func (h *StorageManagementHandler) GetMigrations(c *gin.Context)
GetMigrations 获取迁移任务列表 @Summary 获取迁移任务列表 @Description 获取存储迁移任务列表,支持按状态筛选 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param status query string false "任务状态" Enums(all, pending, running, completed, failed, cancelled) default(all) @Param limit query int false "返回数量限制" default(50) @Success 200 {object} object{success=bool,data=[]model.StorageMigrationResult,message=string} "迁移任务列表" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/migrations [get]
func (*StorageManagementHandler) GetProviderPricing ¶
func (h *StorageManagementHandler) GetProviderPricing(c *gin.Context)
GetProviderPricing 获取提供商价格信息 @Summary 获取存储提供商的价格信息 @Description 获取指定存储提供商的价格信息,包括存储费用、流量费用等 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param provider path string true "存储提供商" example(aliyun_oss) @Success 200 {object} object{provider=string,pricing=model.PricingInfo} "价格信息" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/providers/{provider}/pricing [get]
func (*StorageManagementHandler) GetProviderRegions ¶
func (h *StorageManagementHandler) GetProviderRegions(c *gin.Context)
GetProviderRegions 获取提供商区域列表 @Summary 获取存储提供商的区域列表 @Description 获取指定存储提供商支持的区域列表,如阿里云的各个地域 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param provider path string true "存储提供商" example(aliyun_oss) @Success 200 {object} object{provider=string,regions=[]model.RegionInfo,total=int} "区域列表" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/providers/{provider}/regions [get]
func (*StorageManagementHandler) GetQuotaSettings ¶
func (h *StorageManagementHandler) GetQuotaSettings(c *gin.Context)
GetQuotaSettings 获取配额设置 @Summary 获取配额设置 @Description 获取存储配额配置,包括全局配额、用户配额、剧集配额等 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 200 {object} model.StorageQuotaSettings "配额设置信息" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/quota/settings [get]
func (*StorageManagementHandler) GetStorageSettings ¶
func (h *StorageManagementHandler) GetStorageSettings(c *gin.Context)
GetStorageSettings 获取存储设置 @Summary 获取存储设置 @Description 获取当前系统的存储配置信息,包括主存储、备份存储、CDN配置等 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 200 {object} model.StorageSettingsResponse "存储设置信息" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/settings [get]
func (*StorageManagementHandler) GetStorageStatistics ¶
func (h *StorageManagementHandler) GetStorageStatistics(c *gin.Context)
GetStorageStatistics 获取存储统计 @Summary 获取存储统计信息 @Description 获取存储使用统计,包括容量、文件数量、流量等信息 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 200 {object} model.StorageStatistics "存储统计信息" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/statistics [get]
func (*StorageManagementHandler) GetStorageStatus ¶
func (h *StorageManagementHandler) GetStorageStatus(c *gin.Context)
GetStorageStatus 获取存储状态 @Summary 获取存储状态 @Description 获取存储系统的运行状态,包括各存储提供商的健康状态 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 200 {object} model.StorageStatus "存储状态信息" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/status [get]
func (*StorageManagementHandler) GetSupportedProviders ¶
func (h *StorageManagementHandler) GetSupportedProviders(c *gin.Context)
GetSupportedProviders 获取支持的存储提供商 @Summary 获取支持的存储提供商列表 @Description 获取系统支持的所有存储提供商信息,包括阿里云OSS、AWS S3等 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 200 {object} object{providers=[]model.StorageProviderInfo,total=int} "存储提供商列表" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/providers [get]
func (*StorageManagementHandler) RefreshStorageStats ¶
func (h *StorageManagementHandler) RefreshStorageStats(c *gin.Context)
RefreshStorageStats 刷新存储统计 @Summary 刷新存储统计 @Description 手动触发刷新存储统计数据 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]interface{} "刷新成功" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "服务器错误" @Router /admin/storage/refresh-stats [post]
func (*StorageManagementHandler) RestoreFromBackup ¶
func (h *StorageManagementHandler) RestoreFromBackup(c *gin.Context)
RestoreFromBackup 从备份恢复 @Summary 从备份恢复 @Description 从指定的备份恢复文件 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param backup_id path string true "备份任务ID" @Success 200 {object} map[string]interface{} "恢复成功" @Failure 400 {object} map[string]interface{} "请求参数错误或恢复失败" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/backup/{backup_id}/restore [post]
func (*StorageManagementHandler) RollbackMigration ¶
func (h *StorageManagementHandler) RollbackMigration(c *gin.Context)
RollbackMigration 回滚迁移 @Summary 回滚迁移任务 @Description 回滚已完成的存储迁移任务,将文件恢复到迁移前的状态 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param migration_id path string true "迁移任务ID" @Success 200 {object} map[string]interface{} "回滚成功" @Failure 400 {object} map[string]interface{} "请求参数错误或回滚失败" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/migration/{migration_id}/rollback [post]
func (*StorageManagementHandler) StartBackup ¶
func (h *StorageManagementHandler) StartBackup(c *gin.Context)
StartBackup 开始备份 @Summary 开始存储备份 @Description 启动存储备份任务,备份当前存储的文件 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Success 201 {object} object{backup_id=string,message=string} "备份任务创建成功" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/backup [post]
func (*StorageManagementHandler) StartStorageCleanup ¶
func (h *StorageManagementHandler) StartStorageCleanup(c *gin.Context)
StartStorageCleanup 开始存储清理 @Summary 开始存储清理 @Description 启动存储清理任务,清理未使用、重复或低质量的文件 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param policy body model.CleanupPolicy true "清理策略" @Success 201 {object} object{cleanup_id=string,message=string} "清理任务创建成功" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/cleanup [post]
func (*StorageManagementHandler) StartStorageMigration ¶
func (h *StorageManagementHandler) StartStorageMigration(c *gin.Context)
StartStorageMigration 开始存储迁移 @Summary 开始存储迁移 @Description 启动存储迁移任务,将文件从一个存储提供商迁移到另一个 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param request body model.StorageMigrationRequest true "迁移请求" @Success 201 {object} model.StorageMigrationResult "迁移任务创建成功" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/migration [post]
func (*StorageManagementHandler) TestStorageConnection ¶
func (h *StorageManagementHandler) TestStorageConnection(c *gin.Context)
TestStorageConnection 测试存储连接 @Summary 测试存储连接 @Description 测试指定存储提供商的连接性和配置是否正确 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param request body object{provider=string,config=object} true "存储连接测试请求" @Success 200 {object} model.StorageTestResult "测试结果" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Failure 500 {object} map[string]interface{} "测试失败" @Router /admin/storage/test-connection [post]
func (*StorageManagementHandler) UpdateQuotaSettings ¶
func (h *StorageManagementHandler) UpdateQuotaSettings(c *gin.Context)
UpdateQuotaSettings 更新配额设置 @Summary 更新配额设置 @Description 更新存储配额配置 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param settings body model.StorageQuotaSettings true "配额设置" @Success 200 {object} map[string]interface{} "更新成功" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/quota/settings [put]
func (*StorageManagementHandler) UpdateStorageSettings ¶
func (h *StorageManagementHandler) UpdateStorageSettings(c *gin.Context)
UpdateStorageSettings 更新存储设置 @Summary 更新存储设置 @Description 更新系统存储配置,包括存储提供商、CDN、转码、备份等设置 @Tags 管理后台 - 存储 @Accept json @Produce json @Security BearerAuth @Param request body model.StorageSettingsRequest true "存储设置请求" @Success 200 {object} map[string]interface{} "更新成功" @Failure 400 {object} map[string]interface{} "请求参数错误" @Failure 401 {object} map[string]interface{} "未授权" @Failure 403 {object} map[string]interface{} "权限不足" @Router /admin/storage/settings [put]
type StreamingHandler ¶
type StreamingHandler struct {
// contains filtered or unexported fields
}
StreamingHandler 播放处理器
func NewStreamingHandler ¶
func NewStreamingHandler(services *service.Services) *StreamingHandler
NewStreamingHandler 创建播放处理器
func (*StreamingHandler) AddToFavorites ¶
func (h *StreamingHandler) AddToFavorites(c *gin.Context)
AddToFavorites 添加到收藏夹 @Summary 添加到收藏夹 @Description 将指定剧集添加到用户收藏夹 @Tags 视频流 @Accept json @Produce json @Security BearerAuth @Param request body map[string]int64 true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /streaming/favorite [post]
func (*StreamingHandler) BroadcastProgress ¶
func (h *StreamingHandler) BroadcastProgress(progress *service.StreamingProgress)
BroadcastProgress 广播进度更新给所有订阅的客户端
func (*StreamingHandler) GetProgress ¶
func (h *StreamingHandler) GetProgress(c *gin.Context)
GetProgress 获取处理进度(HTTP) @Summary 获取处理进度 @Description 获取视频处理进度信息 @Tags 视频流 @Produce json @Param episode_id path int true "分集ID" @Success 200 {object} service.StreamingProgress @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /streaming/progress/{episode_id} [get]
func (*StreamingHandler) GetVideoStream ¶
func (h *StreamingHandler) GetVideoStream(c *gin.Context)
GetVideoStream 获取视频流 @Summary 获取视频流 @Description 获取指定分集的视频流信息 @Tags 视频流 @Produce json @Security BearerAuth @Param id path int true "分集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /streaming/video/{id} [get]
func (*StreamingHandler) GetWatchHistory ¶
func (h *StreamingHandler) GetWatchHistory(c *gin.Context)
GetWatchHistory 获取观看历史 @Summary 获取观看历史 @Description 获取用户的观看历史记录 @Tags 视频流 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {array} model.WatchHistory @Failure 401 {object} map[string]any @Router /streaming/history [get]
func (*StreamingHandler) LikeVideo ¶
func (h *StreamingHandler) LikeVideo(c *gin.Context)
LikeVideo 点赞视频 @Summary 点赞视频 @Description 对指定分集进行点赞 @Tags 视频流 @Accept json @Produce json @Security BearerAuth @Param request body service.LikeRequest true "点赞请求" @Success 200 {object} service.LikeStats @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /streaming/like [post]
func (*StreamingHandler) ProcessVideoWithProgress ¶
func (h *StreamingHandler) ProcessVideoWithProgress(c *gin.Context)
ProcessVideoWithProgress 处理视频并推送进度(异步) @Summary 处理视频并推送进度 @Description 异步处理视频并通过WebSocket推送进度 @Tags 视频流 @Accept json @Produce json @Param request body map[string]any true "处理请求" @Success 202 {object} map[string]any @Failure 400 {object} map[string]any @Router /streaming/process [post]
func (*StreamingHandler) RemoveFromFavorites ¶
func (h *StreamingHandler) RemoveFromFavorites(c *gin.Context)
RemoveFromFavorites 从收藏夹移除 @Summary 从收藏夹移除 @Description 将指定剧集从用户收藏夹移除 @Tags 视频流 @Produce json @Security BearerAuth @Param id path string true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /streaming/favorite/{id} [delete]
func (*StreamingHandler) StreamProgress ¶
func (h *StreamingHandler) StreamProgress(c *gin.Context)
StreamProgress WebSocket流式推送进度 @Summary WebSocket推送进度 @Description 通过WebSocket实时推送视频处理进度 @Tags 视频流 @Param episode_id path int true "分集ID" @Router /streaming/progress/{episode_id}/ws [get]
func (*StreamingHandler) UnlikeVideo ¶
func (h *StreamingHandler) UnlikeVideo(c *gin.Context)
UnlikeVideo 取消点赞视频 @Summary 取消点赞视频 @Description 取消对指定分集的点赞 @Tags 视频流 @Produce json @Security BearerAuth @Param id path string true "分集ID" @Param target_type query string true "目标类型" Enums(episode,series) @Success 200 {object} service.LikeStats @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /streaming/like/{id} [delete]
func (*StreamingHandler) UpdateProgress ¶
func (h *StreamingHandler) UpdateProgress(c *gin.Context)
UpdateProgress 更新观看进度 @Summary 更新观看进度 @Description 更新用户对指定分集的观看进度 @Tags 视频流 @Accept json @Produce json @Security BearerAuth @Param request body model.UpdateProgressRequest true "进度信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /streaming/progress [post]
type SubscriptionHandler ¶
type SubscriptionHandler struct {
// contains filtered or unexported fields
}
SubscriptionHandler 订阅处理器
func NewSubscriptionHandler ¶
func NewSubscriptionHandler(services *service.Services) *SubscriptionHandler
NewSubscriptionHandler 创建订阅处理器
func (*SubscriptionHandler) Cancel ¶
func (h *SubscriptionHandler) Cancel(c *gin.Context)
Cancel 取消订阅 @Summary 取消订阅 @Description 取消用户当前订阅 @Tags 订阅 @Accept json @Produce json @Security BearerAuth @Param request body model.CancelSubscriptionRequest true "取消信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /subscription/cancel [post]
func (*SubscriptionHandler) GetHistory ¶
func (h *SubscriptionHandler) GetHistory(c *gin.Context)
GetHistory 获取订阅历史 @Summary 获取订阅历史 @Description 获取用户订阅历史记录 @Tags 订阅 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.SubscriptionHistoryResponse @Failure 401 {object} map[string]any @Router /subscription/history [get]
func (*SubscriptionHandler) GetPlanByID ¶
func (h *SubscriptionHandler) GetPlanByID(c *gin.Context)
GetPlanByID 获取订阅计划详情 @Summary 获取订阅计划详情 @Description 根据计划ID获取订阅计划的详细信息 @Tags 订阅 @Produce json @Param plan_id path int true "计划ID" @Success 200 {object} model.SubscriptionPlan @Failure 400 {object} map[string]any @Failure 404 {object} map[string]any @Router /subscription/plans/{plan_id} [get]
func (*SubscriptionHandler) GetPlans ¶
func (h *SubscriptionHandler) GetPlans(c *gin.Context)
GetPlans 获取订阅计划 @Summary 获取订阅计划 @Description 获取所有可用的订阅计划 @Tags 订阅 @Produce json @Success 200 {array} model.SubscriptionPlan @Failure 500 {object} map[string]any @Router /subscription/plans [get]
func (*SubscriptionHandler) Subscribe ¶
func (h *SubscriptionHandler) Subscribe(c *gin.Context)
Subscribe 订阅服务 @Summary 订阅服务 @Description 用户订阅指定计划 @Tags 订阅 @Accept json @Produce json @Security BearerAuth @Param request body model.SubscribeRequest true "订阅信息" @Success 200 {object} model.SubscriptionResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 409 {object} map[string]any @Router /subscription/subscribe [post]
type SuccessResponse ¶
SuccessResponse 成功响应结构
type SyncHandler ¶
type SyncHandler struct {
// contains filtered or unexported fields
}
SyncHandler 多设备同步处理器
func NewSyncHandler ¶
func NewSyncHandler(syncService service.SyncServiceInterface) *SyncHandler
NewSyncHandler 创建多设备同步处理器
func (*SyncHandler) EndSyncSession ¶
func (h *SyncHandler) EndSyncSession(c *gin.Context)
EndSyncSession 结束同步会话 @Summary 结束同步会话 @Description 结束当前设备的同步会话 @Tags 多设备同步 @Produce json @Security Bearer @Param session_id path string true "会话ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /sync/sessions/{session_id} [delete]
func (*SyncHandler) GetActiveSessions ¶
func (h *SyncHandler) GetActiveSessions(c *gin.Context)
GetActiveSessions 获取活跃会话列表 @Summary 获取活跃会话列表 @Description 获取用户当前所有活跃的同步会话 @Tags 多设备同步 @Produce json @Security Bearer @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /sync/sessions [get]
func (*SyncHandler) GetConflictHistory ¶
func (h *SyncHandler) GetConflictHistory(c *gin.Context)
GetConflictHistory 获取冲突历史 @Summary 获取冲突历史 @Description 获取用户在指定剧集上的同步冲突历史记录 @Tags 多设备同步 @Produce json @Security Bearer @Param episode_id path int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /sync/episodes/{episode_id}/conflicts [get]
func (*SyncHandler) GetSyncState ¶
func (h *SyncHandler) GetSyncState(c *gin.Context)
GetSyncState 获取同步状态 @Summary 获取播放同步状态 @Description 获取指定剧集的当前同步状态 @Tags 多设备同步 @Produce json @Security Bearer @Param episode_id path int true "剧集ID" @Success 200 {object} service.PlaybackState @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Router /sync/episodes/{episode_id}/state [get]
func (*SyncHandler) GetSyncStatistics ¶
func (h *SyncHandler) GetSyncStatistics(c *gin.Context)
GetSyncStatistics 获取同步统计 @Summary 获取同步统计 @Description 获取用户的多设备同步统计信息 @Tags 多设备同步 @Produce json @Security Bearer @Success 200 {object} service.SyncStatistics @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /sync/statistics [get]
func (*SyncHandler) GetUserDevices ¶
func (h *SyncHandler) GetUserDevices(c *gin.Context)
GetUserDevices 获取用户设备列表 @Summary 获取用户设备列表 @Description 获取用户在指定剧集上的所有活跃设备 @Tags 多设备同步 @Produce json @Security Bearer @Param episode_id path int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /sync/episodes/{episode_id}/devices [get]
func (*SyncHandler) ResolveConflict ¶
func (h *SyncHandler) ResolveConflict(c *gin.Context)
ResolveConflict 解决同步冲突 @Summary 解决同步冲突 @Description 手动解决多设备之间的同步冲突 @Tags 多设备同步 @Accept json @Produce json @Security Bearer @Param session_id path string true "会话ID" @Param request body map[string]string true "解决策略" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /sync/sessions/{session_id}/resolve [post]
func (*SyncHandler) StartSyncSession ¶
func (h *SyncHandler) StartSyncSession(c *gin.Context)
StartSyncSession 开始同步会话 @Summary 开始播放同步会话 @Description 启动新的多设备播放同步会话 @Tags 多设备同步 @Accept json @Produce json @Security Bearer @Param request body service.ProgressSyncRequest true "同步请求" @Success 200 {object} service.ProgressSyncResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /sync/sessions [post]
func (*SyncHandler) SubscribeSync ¶
func (h *SyncHandler) SubscribeSync(c *gin.Context)
SubscribeSync WebSocket订阅同步消息 @Summary WebSocket订阅同步消息 @Description 建立WebSocket连接以接收实时的播放同步消息 @Tags 多设备同步 @Security Bearer @Param episode_id path int true "剧集ID" @Success 101 {string} string "Switching Protocols" @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /sync/episodes/{episode_id}/ws [get]
func (*SyncHandler) UpdateProgress ¶
func (h *SyncHandler) UpdateProgress(c *gin.Context)
UpdateProgress 更新播放进度 @Summary 更新播放进度 @Description 更新当前设备的播放进度并同步到其他设备 @Tags 多设备同步 @Accept json @Produce json @Security Bearer @Param session_id path string true "会话ID" @Param request body service.ProgressSyncRequest true "进度信息" @Success 200 {object} service.ProgressSyncResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 500 {object} map[string]any @Router /sync/sessions/{session_id}/progress [put]
type SystemMonitoringHandler ¶
type SystemMonitoringHandler struct {
// contains filtered or unexported fields
}
SystemMonitoringHandler 系统监控处理器
func NewSystemMonitoringHandler ¶
func NewSystemMonitoringHandler(monitoringService *service.SystemMonitoringService) *SystemMonitoringHandler
NewSystemMonitoringHandler 创建系统监控处理器
func (*SystemMonitoringHandler) GetAlerts ¶
func (h *SystemMonitoringHandler) GetAlerts(c *gin.Context)
GetAlerts 获取系统告警 @Summary 获取系统告警 @Description 获取系统告警信息,包括CPU、内存、磁盘等资源的告警,支持限制返回数量 @Tags 系统监控 @Produce json @Security BearerAuth @Param limit query int false "限制返回的告警数量" default(50) @Success 200 {object} map[string]any "返回系统告警列表" @Failure 500 {object} map[string]any "获取系统告警失败" @Router /api/v1/admin/monitoring/system/alerts [get]
func (*SystemMonitoringHandler) GetHistoricalMetrics ¶
func (h *SystemMonitoringHandler) GetHistoricalMetrics(c *gin.Context)
GetHistoricalMetrics 获取历史性能指标 @Summary 获取历史性能指标 @Description 获取指定时间范围内的历史性能数据,支持按节点ID和时间范围筛选 @Tags 系统监控 @Produce json @Security BearerAuth @Param node_id query string false "节点ID" default(node-01) @Param duration query string false "时间范围(如: 1h, 24h, 7d)" default(24h) @Success 200 {object} map[string]any "返回历史性能指标数据" @Failure 400 {object} map[string]any "无效的请求参数" @Failure 500 {object} map[string]any "获取历史指标失败" @Router /api/v1/admin/monitoring/system/metrics [get]
func (*SystemMonitoringHandler) GetMetricsOverview ¶
func (h *SystemMonitoringHandler) GetMetricsOverview(c *gin.Context)
GetMetricsOverview 获取指标概览 @Summary 获取指标概览 @Description 获取系统关键指标的概览信息,包括CPU、内存、磁盘、数据库、Redis和应用程序的核心指标 @Tags 系统监控 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "返回系统指标概览" @Failure 500 {object} map[string]any "获取指标概览失败" @Router /api/v1/admin/monitoring/system/overview [get]
func (*SystemMonitoringHandler) GetPerformanceAnalysis ¶
func (h *SystemMonitoringHandler) GetPerformanceAnalysis(c *gin.Context)
GetPerformanceAnalysis 获取性能分析报告 @Summary 获取性能分析报告 @Description 获取系统性能分析和优化建议,包括性能评分、瓶颈识别和改进建议 @Tags 系统监控 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "返回性能分析报告" @Failure 500 {object} map[string]any "获取性能分析失败" @Router /api/v1/admin/monitoring/system/performance [get]
func (*SystemMonitoringHandler) GetSystemHealth ¶
func (h *SystemMonitoringHandler) GetSystemHealth(c *gin.Context)
GetSystemHealth 获取系统健康状态 @Summary 获取系统健康状态 @Description 获取系统各组件的健康状态,包括数据库、Redis、应用服务等的运行状态 @Tags 系统监控 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "返回系统健康状态信息" @Failure 500 {object} map[string]any "获取系统健康状态失败" @Router /api/v1/admin/monitoring/system/health [get]
func (*SystemMonitoringHandler) GetSystemStats ¶
func (h *SystemMonitoringHandler) GetSystemStats(c *gin.Context)
GetSystemStats 获取系统统计信息 @Summary 获取系统统计信息 @Description 获取当前系统的各项性能指标,包括CPU、内存、磁盘、数据库、Redis和应用程序统计信息 @Tags 系统监控 @Produce json @Security BearerAuth @Success 200 {object} map[string]any "返回系统统计信息" @Failure 500 {object} map[string]any "获取系统统计信息失败" @Router /api/v1/admin/monitoring/system/stats [get]
type TagHandler ¶
type TagHandler struct{}
TagHandler 标签处理器
func (*TagHandler) GetPopularTags ¶
func (h *TagHandler) GetPopularTags(c *gin.Context)
GetPopularTags 获取热门标签 @Summary 获取热门标签 @Description 获取当前最热门的内容标签 @Tags 标签 @Produce json @Param limit query int false "返回数量" default(20) @Success 200 {object} map[string]any @Router /tags/popular [get]
func (*TagHandler) GetTagDetail ¶
func (h *TagHandler) GetTagDetail(c *gin.Context)
GetTagDetail 获取标签详情 @Summary 获取标签详情 @Description 获取指定标签的详细信息和相关内容 @Tags 标签 @Produce json @Param name path string true "标签名称" @Success 200 {object} map[string]any @Failure 404 {object} map[string]any @Router /tags/{name} [get]
type UserHandler ¶
type UserHandler struct {
// contains filtered or unexported fields
}
UserHandler 用户处理器
func NewUserHandler ¶
func NewUserHandler(services *service.Services) *UserHandler
NewUserHandler 创建用户处理器
func (*UserHandler) ChangePassword ¶
func (h *UserHandler) ChangePassword(c *gin.Context)
ChangePassword 修改密码 @Summary 修改密码 @Description 修改当前用户密码 @Tags 用户 @Accept json @Produce json @Security BearerAuth @Param request body model.ChangePasswordRequest true "密码修改信息" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /users/password [put]
func (*UserHandler) GetBalance ¶
func (h *UserHandler) GetBalance(c *gin.Context)
GetBalance 获取用户余额 @Summary 获取用户余额 @Description 获取当前用户的账户余额信息 @Tags 用户 @Produce json @Security BearerAuth @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /users/balance [get]
func (*UserHandler) GetProfile ¶
func (h *UserHandler) GetProfile(c *gin.Context)
GetProfile 获取用户信息 @Summary 获取用户信息 @Description 获取当前登录用户的详细信息 @Tags 用户 @Produce json @Security BearerAuth @Success 200 {object} model.UserResponse @Failure 401 {object} map[string]any @Router /users/profile [get]
func (*UserHandler) GetSubscription ¶
func (h *UserHandler) GetSubscription(c *gin.Context)
GetSubscription 获取用户订阅信息 @Summary 获取用户订阅信息 @Description 获取当前用户的订阅状态和详情 @Tags 用户 @Produce json @Security BearerAuth @Success 200 {object} model.SubscriptionResponse @Failure 401 {object} map[string]any @Failure 404 {object} map[string]any @Failure 500 {object} map[string]any @Router /users/subscription [get]
func (*UserHandler) UpdateAvatar ¶
func (h *UserHandler) UpdateAvatar(c *gin.Context)
UpdateAvatar 更新用户头像 @Summary 更新用户头像 @Description 上传并更新用户头像 @Tags 用户 @Accept multipart/form-data @Produce json @Security BearerAuth @Param avatar formData file true "头像文件" @Success 200 {object} model.UserResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /users/avatar [put]
func (*UserHandler) UpdateProfile ¶
func (h *UserHandler) UpdateProfile(c *gin.Context)
UpdateProfile 更新用户信息 @Summary 更新用户信息 @Description 更新当前登录用户的详细信息 @Tags 用户 @Accept json @Produce json @Security BearerAuth @Param request body model.UpdateProfileRequest true "更新信息" @Success 200 {object} model.UserResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /users/profile [put]
type UserManagementHandler ¶
type UserManagementHandler struct {
// contains filtered or unexported fields
}
UserManagementHandler 高级用户管理处理器
func NewUserManagementHandler ¶
func NewUserManagementHandler(userMgmtService service.UserManagementServiceInterface) *UserManagementHandler
NewUserManagementHandler 创建用户管理处理器
func (*UserManagementHandler) AddAdminNote ¶
func (h *UserManagementHandler) AddAdminNote(c *gin.Context)
AddAdminNote 添加管理员备注 @Summary 添加管理员备注 @Description 为用户添加管理员备注 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param note body model.AdminNote true "备注内容" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/notes [post]
func (*UserManagementHandler) BanUser ¶
func (h *UserManagementHandler) BanUser(c *gin.Context)
BanUser 封禁用户 @Summary 封禁用户 @Description 封禁指定用户,支持多种封禁类型和时长 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param request body model.UserBanRequest true "封禁请求" @Success 200 {object} model.UserBanResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/ban [post]
func (*UserManagementHandler) BatchUpdateUsers ¶
func (h *UserManagementHandler) BatchUpdateUsers(c *gin.Context)
BatchUpdateUsers 批量更新用户 @Summary 批量更新用户 @Description 批量更新用户信息 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param request body map[string]any true "批量更新请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/batch-update [put]
func (*UserManagementHandler) CreateUserSegment ¶
func (h *UserManagementHandler) CreateUserSegment(c *gin.Context)
CreateUserSegment 创建用户分群 @Summary 创建用户分群 @Description 创建新的用户分群 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param segment body model.UserSegmentCreate true "分群信息" @Success 201 {object} model.UserSegment @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/segments [post]
func (*UserManagementHandler) ExportUsers ¶
func (h *UserManagementHandler) ExportUsers(c *gin.Context)
ExportUsers 导出用户数据 @Summary 导出用户数据 @Description 导出用户数据为CSV文件 @Tags 高级用户管理 @Produce octet-stream @Security BearerAuth @Param page query int false "页码" default(1) @Param pageSize query int false "每页数量" default(20) @Param search query string false "搜索关键词" @Param role query string false "角色筛选" @Param status query string false "状态筛选" @Success 200 {file} csv "CSV文件" @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/export [get]
func (*UserManagementHandler) GetInactiveUsers ¶
func (h *UserManagementHandler) GetInactiveUsers(c *gin.Context)
GetInactiveUsers 获取不活跃用户 @Summary 获取不活跃用户 @Description 获取指定天数内未活跃的用户列表,包含重新激活建议 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param days query int false "不活跃天数" default(30) @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.InactiveUsersList @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/inactive [get]
func (*UserManagementHandler) GetSuspiciousUsers ¶
func (h *UserManagementHandler) GetSuspiciousUsers(c *gin.Context)
GetSuspiciousUsers 获取可疑用户 @Summary 获取可疑用户 @Description 获取有风险或违规行为的用户列表,包含风险评估 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.SuspiciousUsersList @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/suspicious [get]
func (*UserManagementHandler) GetUserActivity ¶
func (h *UserManagementHandler) GetUserActivity(c *gin.Context)
GetUserActivity 获取用户活动 @Summary 获取用户活动 @Description 获取用户的活动统计和分析 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param time_range query string false "时间范围" default("30d") Enums(7d,30d,90d,1y) @Success 200 {object} model.UserActivitySummary @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/activity [get]
func (*UserManagementHandler) GetUserBehaviorAnalysis ¶
func (h *UserManagementHandler) GetUserBehaviorAnalysis(c *gin.Context)
GetUserBehaviorAnalysis 获取用户行为分析 @Summary 获取用户行为分析 @Description 获取用户的深度行为分析报告 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param period query string false "分析周期" default("30d") @Success 200 {object} model.UserBehaviorAnalysis @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/behavior-analysis [get]
func (*UserManagementHandler) GetUserFullProfile ¶
func (h *UserManagementHandler) GetUserFullProfile(c *gin.Context)
GetUserFullProfile 获取用户完整档案 @Summary 获取用户完整档案 @Description 获取用户的详细档案信息,包括活动、订阅、支付、安全等全方位信息 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Success 200 {object} model.UserFullProfile @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/users/{id}/profile [get]
func (*UserManagementHandler) GetUserGrowthAnalytics ¶
func (h *UserManagementHandler) GetUserGrowthAnalytics(c *gin.Context)
GetUserGrowthAnalytics 获取用户增长分析 @Summary 获取用户增长分析 @Description 获取用户增长趋势和分析报告 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param time_range query string false "时间范围" default("30d") @Success 200 {object} model.UserGrowthAnalytics @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/growth-analytics [get]
func (*UserManagementHandler) GetUserRiskAssessment ¶
func (h *UserManagementHandler) GetUserRiskAssessment(c *gin.Context)
GetUserRiskAssessment 获取用户风险评估 @Summary 获取用户风险评估 @Description 获取用户的详细风险评估报告 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Success 200 {object} model.UserRiskAssessment @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/risk-assessment [get]
func (*UserManagementHandler) GetUserSecurityLog ¶
func (h *UserManagementHandler) GetUserSecurityLog(c *gin.Context)
GetUserSecurityLog 获取用户安全日志 @Summary 获取用户安全日志 @Description 获取用户的安全相关日志记录 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.UserSecurityLog @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/security-log [get]
func (*UserManagementHandler) GetUserSegmentAnalysis ¶
func (h *UserManagementHandler) GetUserSegmentAnalysis(c *gin.Context)
GetUserSegmentAnalysis 获取用户分群分析 @Summary 获取用户分群分析 @Description 获取用户分群的详细分析报告 @Tags 高级用户管理 @Produce json @Security BearerAuth @Success 200 {object} model.UserSegmentAnalysis @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/segment-analysis [get]
func (*UserManagementHandler) GetUserSegments ¶
func (h *UserManagementHandler) GetUserSegments(c *gin.Context)
GetUserSegments 获取用户分群列表 @Summary 获取用户分群列表 @Description 获取所有用户分群 @Tags 高级用户管理 @Produce json @Security BearerAuth @Success 200 {array} model.UserSegment @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/segments [get]
func (*UserManagementHandler) ListUsers ¶
func (h *UserManagementHandler) ListUsers(c *gin.Context)
ListUsers 获取用户列表 @Summary 获取用户列表 @Description 获取用户列表(支持分页、筛选、排序) @Tags 高级用户管理 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param pageSize query int false "每页数量" default(20) @Param search query string false "搜索关键词" @Param role query string false "角色筛选" @Param status query string false "状态筛选" @Param riskLevel query string false "风险等级筛选" @Param region query string false "地区筛选" @Param sortBy query string false "排序字段" default(id) @Param sortOrder query string false "排序方向" default(desc) @Success 200 {object} model.UserListResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users [get]
func (*UserManagementHandler) ResetUserPassword ¶
func (h *UserManagementHandler) ResetUserPassword(c *gin.Context)
ResetUserPassword 重置用户密码 @Summary 重置用户密码 @Description 管理员重置用户密码并发送通知 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Success 200 {object} model.PasswordResetResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/reset-password [post]
func (*UserManagementHandler) SearchUsers ¶
func (h *UserManagementHandler) SearchUsers(c *gin.Context)
SearchUsers 高级用户搜索 @Summary 高级用户搜索 @Description 使用多种过滤条件搜索用户 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param query query string false "搜索关键词" @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param filters body model.UserSearchFilters false "搜索过滤器" @Success 200 {object} model.UserSearchResult @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/search [post]
func (*UserManagementHandler) SendBulkNotification ¶
func (h *UserManagementHandler) SendBulkNotification(c *gin.Context)
SendBulkNotification 发送批量通知 @Summary 发送批量通知 @Description 向多个用户发送批量通知 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param request body map[string]any true "批量通知请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/bulk-notification [post]
func (*UserManagementHandler) SendUserNotification ¶
func (h *UserManagementHandler) SendUserNotification(c *gin.Context)
SendUserNotification 发送用户通知 @Summary 发送用户通知 @Description 向指定用户发送管理员通知 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param notification body model.AdminNotification true "通知内容" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/notification [post]
func (*UserManagementHandler) SuspendUser ¶
func (h *UserManagementHandler) SuspendUser(c *gin.Context)
SuspendUser 暂停用户 @Summary 暂停用户 @Description 暂停用户账户 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param request body map[string]string true "暂停请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/suspend [post]
func (*UserManagementHandler) UnbanUser ¶
func (h *UserManagementHandler) UnbanUser(c *gin.Context)
UnbanUser 解封用户 @Summary 解封用户 @Description 解除用户封禁状态 @Tags 高级用户管理 @Produce json @Security BearerAuth @Param id path int true "用户ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/unban [post]
func (*UserManagementHandler) UpdateUserProfile ¶
func (h *UserManagementHandler) UpdateUserProfile(c *gin.Context)
UpdateUserProfile 更新用户档案 @Summary 更新用户档案 @Description 管理员更新用户档案信息 @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param updates body map[string]any true "更新数据" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /admin/users/{id}/profile [put]
func (*UserManagementHandler) UpdateUserStatus ¶
func (h *UserManagementHandler) UpdateUserStatus(c *gin.Context)
UpdateUserStatus 更新用户状态 @Summary 更新用户状态 @Description 更新用户状态(active, banned, suspended, inactive) @Tags 高级用户管理 @Accept json @Produce json @Security BearerAuth @Param id path int true "用户ID" @Param request body map[string]string true "状态更新请求" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Failure 404 {object} map[string]any @Router /admin/users/{id}/status [put]
type VectorRecommendationHandler ¶
type VectorRecommendationHandler struct {
// contains filtered or unexported fields
}
VectorRecommendationHandler 向量推荐处理器
func NewVectorRecommendationHandler ¶
func NewVectorRecommendationHandler( vectorService *service.VectorRecommendationService, recommendService service.RecommendationServiceInterface, contentService service.ContentServiceInterface, ) *VectorRecommendationHandler
NewVectorRecommendationHandler 创建向量推荐处理器
func (*VectorRecommendationHandler) ComputeContentVector ¶
func (h *VectorRecommendationHandler) ComputeContentVector(c *gin.Context)
ComputeContentVector 计算内容向量 @Summary 计算内容向量 @Description 为指定内容计算特征向量 @Tags 推荐系统 @Accept json @Produce json @Param contentId path int true "内容ID" @Security BearerAuth @Success 200 {object} map[string]any "向量计算结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/recommendations/vector/content/{contentId}/compute [post]
func (*VectorRecommendationHandler) GetPersonalizedRecommendations ¶
func (h *VectorRecommendationHandler) GetPersonalizedRecommendations(c *gin.Context)
GetPersonalizedRecommendations 获取个性化推荐 @Summary 获取基于向量的个性化推荐 @Description 使用用户向量和内容向量计算个性化推荐结果 @Tags 推荐系统 @Accept json @Produce json @Param limit query int false "推荐数量" default(20) @Param algorithm query string false "算法选择" Enums(cosine,euclidean,dot) @Security BearerAuth @Success 200 {object} map[string]any "推荐结果" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/recommendations/vector/personalized [get]
func (*VectorRecommendationHandler) GetSimilarContent ¶
func (h *VectorRecommendationHandler) GetSimilarContent(c *gin.Context)
GetSimilarContent 获取相似内容 @Summary 获取相似内容推荐 @Description 基于内容向量查找相似内容 @Tags 推荐系统 @Accept json @Produce json @Param contentId path int true "内容ID" @Param limit query int false "推荐数量" default(10) @Security BearerAuth @Success 200 {object} map[string]any "相似内容列表" @Failure 400 {object} map[string]any "请求参数错误" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/recommendations/vector/similar/{contentId} [get]
func (*VectorRecommendationHandler) GetUserSimilarity ¶
func (h *VectorRecommendationHandler) GetUserSimilarity(c *gin.Context)
GetUserSimilarity 获取相似用户 @Summary 获取相似用户 @Description 基于用户向量查找相似用户 @Tags 推荐系统 @Accept json @Produce json @Param limit query int false "数量限制" default(10) @Security BearerAuth @Success 200 {object} map[string]any "相似用户列表" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/recommendations/vector/users/similar [get]
func (*VectorRecommendationHandler) RefreshVectorIndex ¶
func (h *VectorRecommendationHandler) RefreshVectorIndex(c *gin.Context)
RefreshVectorIndex 刷新向量索引 @Summary 刷新向量索引 @Description 重新构建向量索引以提高搜索效率 @Tags 推荐系统 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]any "刷新结果" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/recommendations/vector/index/refresh [post]
func (*VectorRecommendationHandler) UpdateUserVector ¶
func (h *VectorRecommendationHandler) UpdateUserVector(c *gin.Context)
UpdateUserVector 更新用户向量 @Summary 更新用户向量 @Description 基于用户行为更新用户向量 @Tags 推荐系统 @Accept json @Produce json @Param request body service.UpdateVectorRequest true "更新请求" @Security BearerAuth @Success 200 {object} map[string]any "更新结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/recommendations/vector/user/update [post]
type VideoEditingHandler ¶
type VideoEditingHandler struct {
// contains filtered or unexported fields
}
VideoEditingHandler 视频剪辑处理器
func NewVideoEditingHandler ¶
func NewVideoEditingHandler(editingService service.VideoEditingServiceInterface) *VideoEditingHandler
NewVideoEditingHandler 创建视频剪辑处理器
func (*VideoEditingHandler) AddWatermark ¶
func (h *VideoEditingHandler) AddWatermark(c *gin.Context)
AddWatermark 添加水印 @Summary 添加水印 @Description 为视频添加文本或图片水印 @Tags 视频剪辑 @Accept json @Produce json @Security BearerAuth @Param request body service.WatermarkRequest true "水印请求" @Success 200 {object} service.EditResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/watermark [post]
func (*VideoEditingHandler) ApplyEffect ¶
func (h *VideoEditingHandler) ApplyEffect(c *gin.Context)
ApplyEffect 应用视频效果 @Summary 应用视频效果 @Description 为视频添加各种视觉效果 @Tags 视频剪辑 @Accept json @Produce json @Security BearerAuth @Param request body service.EffectRequest true "效果请求" @Success 200 {object} service.EditResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/effect [post]
func (*VideoEditingHandler) CancelTask ¶
func (h *VideoEditingHandler) CancelTask(c *gin.Context)
CancelTask 取消任务 @Summary 取消任务 @Description 取消正在执行的视频剪辑任务 @Tags 视频剪辑 @Produce json @Security BearerAuth @Param task_id path string true "任务ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/task/{task_id}/cancel [post]
func (*VideoEditingHandler) ExportVideo ¶
func (h *VideoEditingHandler) ExportVideo(c *gin.Context)
ExportVideo 导出视频 @Summary 导出视频 @Description 将处理完成的视频导出为指定质量 @Tags 视频剪辑 @Accept json @Produce json @Security BearerAuth @Param task_id path string true "任务ID" @Param request body map[string]any true "导出请求" @Success 200 {object} service.EditResponse @Failure 400 {object} map[string]any @Router /editing/task/{task_id}/export [post]
func (*VideoEditingHandler) GetTaskStatus ¶
func (h *VideoEditingHandler) GetTaskStatus(c *gin.Context)
GetTaskStatus 获取任务状态 @Summary 获取任务状态 @Description 查询视频剪辑任务的执行状态 @Tags 视频剪辑 @Produce json @Security BearerAuth @Param task_id path string true "任务ID" @Success 200 {object} service.EditTask @Failure 404 {object} map[string]any @Router /editing/task/{task_id} [get]
func (*VideoEditingHandler) GetUserTasks ¶
func (h *VideoEditingHandler) GetUserTasks(c *gin.Context)
GetUserTasks 获取用户任务列表 @Summary 获取用户任务列表 @Description 获取当前用户的所有视频剪辑任务 @Tags 视频剪辑 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/tasks [get]
func (*VideoEditingHandler) GetVideoInfo ¶
func (h *VideoEditingHandler) GetVideoInfo(c *gin.Context)
GetVideoInfo 获取视频信息 @Summary 获取视频信息 @Description 获取视频的详细技术信息 @Tags 视频剪辑 @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Success 200 {object} map[string]any @Failure 404 {object} map[string]any @Router /editing/video/{episode_id}/info [get]
func (*VideoEditingHandler) MergeVideos ¶
func (h *VideoEditingHandler) MergeVideos(c *gin.Context)
MergeVideos 合并视频 @Summary 合并多个视频 @Description 将多个视频合并为一个视频 @Tags 视频剪辑 @Accept json @Produce json @Security BearerAuth @Param request body service.MergeRequest true "合并请求" @Success 200 {object} service.EditResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/merge [post]
func (*VideoEditingHandler) ProcessAudio ¶
func (h *VideoEditingHandler) ProcessAudio(c *gin.Context)
ProcessAudio 处理音频 @Summary 处理音频 @Description 对视频中的音频进行各种处理 @Tags 视频剪辑 @Accept json @Produce json @Security BearerAuth @Param request body service.AudioRequest true "音频处理请求" @Success 200 {object} service.EditResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/audio [post]
func (*VideoEditingHandler) TrimVideo ¶
func (h *VideoEditingHandler) TrimVideo(c *gin.Context)
TrimVideo 裁剪视频 @Summary 裁剪视频 @Description 根据指定时间段裁剪视频 @Tags 视频剪辑 @Accept json @Produce json @Security BearerAuth @Param request body service.TrimRequest true "裁剪请求" @Success 200 {object} service.EditResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /editing/trim [post]
type VideoHandler ¶
type VideoHandler struct {
// contains filtered or unexported fields
}
VideoHandler 视频处理器
func NewVideoHandler ¶
func NewVideoHandler(services *service.Services, uploadService service.VideoUploadServiceInterface, streamingService service.VideoStreamingServiceInterface) *VideoHandler
NewVideoHandler 创建视频处理器
func (*VideoHandler) BatchUploadVideos ¶
func (h *VideoHandler) BatchUploadVideos(c *gin.Context)
BatchUploadVideos 批量上传视频 @Summary 批量上传视频 @Description 批量上传多个视频文件 @Tags 视频 @Accept multipart/form-data @Produce json @Security BearerAuth @Param videos formData file true "视频文件(多个)" @Param series_id formData int true "剧集ID" @Param season_number formData int false "季数" @Param start_episode formData int true "起始集数" @Success 200 {object} service.BatchUploadResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /videos/batch-upload [post]
func (*VideoHandler) DeleteVideo ¶
func (h *VideoHandler) DeleteVideo(c *gin.Context)
DeleteVideo 删除视频 @Summary 删除视频 @Description 删除视频及相关文件 @Tags 视频 @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 403 {object} map[string]any @Router /videos/{episode_id} [delete]
func (*VideoHandler) GetBatchUploadProgress ¶
func (h *VideoHandler) GetBatchUploadProgress(c *gin.Context)
GetBatchUploadProgress 获取批量上传进度 @Summary 获取批量上传进度 @Description 获取批量上传任务的整体进度 @Tags 视频 @Produce json @Security BearerAuth @Param batch_id path string true "批量任务ID" @Success 200 {object} service.BatchUploadProgress @Failure 404 {object} map[string]any @Router /videos/batch-progress/{batch_id} [get]
func (*VideoHandler) GetUploadProgress ¶
func (h *VideoHandler) GetUploadProgress(c *gin.Context)
GetUploadProgress 获取上传进度 @Summary 获取上传进度 @Description 获取视频上传和处理进度 @Tags 视频 @Produce json @Security BearerAuth @Param process_id path string true "处理ID" @Success 200 {object} service.TranscodingProgress @Failure 404 {object} map[string]any @Router /videos/progress/{process_id} [get]
func (*VideoHandler) GetVideoAnalytics ¶
func (h *VideoHandler) GetVideoAnalytics(c *gin.Context)
GetVideoAnalytics 获取视频分析数据 @Summary 获取视频分析数据 @Description 获取视频观看统计和分析数据 @Tags 视频 @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Param time_range query string false "时间范围" Enums(today,week,month,all) default(all) @Success 200 {object} service.VideoAnalytics @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /videos/{episode_id}/analytics [get]
func (*VideoHandler) GetVideoStream ¶
func (h *VideoHandler) GetVideoStream(c *gin.Context)
GetVideoStream 获取视频流 @Summary 获取视频流 @Description 获取视频播放流和相关信息 @Tags 视频 @Produce json @Param episode_id path int true "分集ID" @Success 200 {object} service.StreamResponse @Failure 404 {object} map[string]any @Failure 403 {object} map[string]any @Router /videos/stream/{episode_id} [get]
func (*VideoHandler) GetWatchHistory ¶
func (h *VideoHandler) GetWatchHistory(c *gin.Context)
GetWatchHistory 获取观看历史 @Summary 获取观看历史 @Description 获取用户观看历史记录 @Tags 视频 @Produce json @Security BearerAuth @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Success 200 {object} model.WatchHistoryResponse @Failure 401 {object} map[string]any @Router /videos/watch-history [get]
func (*VideoHandler) ToggleFavorite ¶
func (h *VideoHandler) ToggleFavorite(c *gin.Context)
ToggleFavorite 切换收藏状态 @Summary 切换收藏状态 @Description 收藏或取消收藏剧集 @Tags 视频 @Produce json @Security BearerAuth @Param series_id path int true "剧集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /videos/series/{series_id}/favorite [post]
func (*VideoHandler) ToggleLike ¶
func (h *VideoHandler) ToggleLike(c *gin.Context)
ToggleLike 切换点赞状态 @Summary 切换点赞状态 @Description 点赞或取消点赞视频 @Tags 视频 @Produce json @Security BearerAuth @Param episode_id path int true "分集ID" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /videos/{episode_id}/like [post]
func (*VideoHandler) UpdateWatchProgress ¶
func (h *VideoHandler) UpdateWatchProgress(c *gin.Context)
UpdateWatchProgress 更新观看进度 @Summary 更新观看进度 @Description 更新用户观看进度 @Tags 视频 @Accept json @Produce json @Security BearerAuth @Param request body service.WatchProgressUpdate true "观看进度" @Success 200 {object} map[string]any @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Router /videos/progress [put]
func (*VideoHandler) UploadVideo ¶
func (h *VideoHandler) UploadVideo(c *gin.Context)
UploadVideo 上传视频 @Summary 上传视频 @Description 上传视频文件并开始处理 @Tags 视频 @Accept multipart/form-data @Produce json @Security BearerAuth @Param video formData file true "视频文件" @Param series_id formData int true "剧集ID" @Param episode_number formData int true "集数" @Param season_number formData int false "季数" @Param title formData string true "标题" @Param description formData string false "描述" @Success 200 {object} service.UploadResponse @Failure 400 {object} map[string]any @Failure 401 {object} map[string]any @Failure 413 {object} map[string]any @Router /videos/upload [post]
type VideoProcessingHandler ¶
type VideoProcessingHandler struct {
// contains filtered or unexported fields
}
VideoProcessingHandler 视频处理处理器
func NewVideoProcessingHandler ¶
func NewVideoProcessingHandler( videoUploadService service.VideoUploadServiceInterface, videoProcessingService service.VideoProcessingServiceInterface, progressService service.ProgressServiceInterface, ) *VideoProcessingHandler
NewVideoProcessingHandler 创建视频处理处理器
func (*VideoProcessingHandler) GenerateThumbnails ¶
func (h *VideoProcessingHandler) GenerateThumbnails(c *gin.Context)
GenerateThumbnails 生成视频缩略图 @Summary 生成视频缩略图 @Description 为视频生成多个时间点的缩略图 @Tags 视频处理 @Accept json @Produce json @Param episodeId path int true "剧集ID" @Param request body service.ThumbnailRequest true "缩略图请求" @Security BearerAuth @Success 200 {object} map[string]any "缩略图生成结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/video/{episodeId}/thumbnails [post]
func (*VideoProcessingHandler) GetTranscodingProgress ¶
func (h *VideoProcessingHandler) GetTranscodingProgress(c *gin.Context)
GetTranscodingProgress 获取转码进度 @Summary 获取转码进度 @Description 获取视频转码任务的进度 @Tags 视频处理 @Accept json @Produce json @Param taskId path string true "任务ID" @Security BearerAuth @Success 200 {object} service.ProcessingProgress "转码进度信息" @Failure 400 {object} map[string]any "请求参数错误" @Failure 404 {object} map[string]any "任务不存在" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/video/transcode/{taskId}/progress [get]
func (*VideoProcessingHandler) ProcessVideoQueue ¶
func (h *VideoProcessingHandler) ProcessVideoQueue(c *gin.Context)
ProcessVideoQueue 处理视频队列 @Summary 处理视频队列 @Description 批量处理视频转码队列 @Tags 视频处理 @Accept json @Produce json @Param request body service.ProcessQueueRequest true "队列处理请求" @Security BearerAuth @Success 200 {object} map[string]any "队列处理结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/video/queue/process [post]
func (*VideoProcessingHandler) TranscodeVideo ¶
func (h *VideoProcessingHandler) TranscodeVideo(c *gin.Context)
TranscodeVideo 转码视频 @Summary 转码视频到多种清晰度 @Description 将视频转码为不同的清晰度版本 @Tags 视频处理 @Accept json @Produce json @Param episodeId path int true "剧集ID" @Param request body service.TranscodeRequest true "转码请求" @Security BearerAuth @Success 200 {object} map[string]any "转码任务信息" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/video/{episodeId}/transcode [post]
type WebSocketClient ¶
type WebSocketClient struct {
ID string
UserID int64
Conn *websocket.Conn
Send chan []byte
Handler *WebSocketHandler
}
WebSocketClient WebSocket客户端 代表一个独立的WebSocket连接实例,包含连接信息和消息发送通道
字段说明:
- ID: 客户端唯一标识符,格式为时间戳_随机字符串
- UserID: 关联的用户ID,用于消息路由和权限控制
- Conn: 底层WebSocket连接对象
- Send: 消息发送通道,用于异步发送消息给客户端
- Handler: 指向父WebSocketHandler的引用,用于注销连接
type WebSocketHandler ¶
type WebSocketHandler struct {
// contains filtered or unexported fields
}
WebSocketHandler WebSocket处理器 负责管理所有WebSocket连接、消息广播和客户端生命周期
字段说明:
- upgrader: WebSocket协议升级器,用于将HTTP连接升级为WebSocket
- clients: 客户端映射表,key为clientID,value为WebSocketClient指针
- clientsMutex: 读写锁,保护clients并发访问
- broadcast: 广播消息通道(预留,当前未使用)
func NewWebSocketHandler ¶
func NewWebSocketHandler() *WebSocketHandler
NewWebSocketHandler 创建WebSocket处理器
func (*WebSocketHandler) BroadcastProgress ¶
func (h *WebSocketHandler) BroadcastProgress(userID int64, message ProgressMessage)
BroadcastProgress 广播进度更新到特定用户的所有WebSocket连接 这是一个服务端内部调用的方法,用于向指定用户推送实时进度更新
Parameters:
- userID: 目标用户ID,只有该用户的WebSocket连接会收到消息
- message: 进度消息对象,包含任务ID、进度百分比、状态等信息
使用场景:
- 视频上传进度更新
- 转码任务进度推送
- 批量操作进度通知
func (*WebSocketHandler) BroadcastProgressByTaskID ¶
func (h *WebSocketHandler) BroadcastProgressByTaskID(userID int64, taskID string, messageType string, progress float64, status, message string, data any)
BroadcastProgressByTaskID 根据TaskID广播进度更新 这是一个便捷方法,用于快速构建并发送进度消息,常用于服务层集成
Parameters:
- userID: 目标用户ID
- taskID: 任务唯一标识符(如上传任务ID、转码任务ID)
- messageType: 消息类型(progress/complete/error等)
- progress: 进度百分比(0-100)
- status: 任务状态(processing/completed/failed等)
- message: 人类可读的消息文本
- data: 附加数据(可选),可以包含任务详情、错误信息等
使用场景:
- 在Service层中快速发送进度更新
- 无需手动构造ProgressMessage对象
func (*WebSocketHandler) BroadcastToAll ¶
func (h *WebSocketHandler) BroadcastToAll(message any)
BroadcastToAll 广播消息给所有已连接的WebSocket客户端 这是一个服务端内部调用的方法,用于向所有在线用户推送系统级通知
Parameters:
- message: 要广播的消息对象,可以是任意类型(会被序列化为JSON)
使用场景:
- 系统维护通知
- 全局公告推送
- 紧急通知广播
注意:此方法会向所有连接的客户端发送消息,请谨慎使用
func (*WebSocketHandler) GetConnectedClients ¶
func (h *WebSocketHandler) GetConnectedClients() int
GetConnectedClients 获取当前连接的WebSocket客户端总数 这是一个服务端内部调用的方法,用于监控和统计WebSocket连接状态
Returns:
- int: 当前活跃的WebSocket连接数
使用场景:
- 系统监控和健康检查
- 管理后台统计信息展示
- 负载评估和性能分析
- 连接限流判断
func (*WebSocketHandler) GetUserClients ¶
func (h *WebSocketHandler) GetUserClients(userID int64) []*WebSocketClient
GetUserClients 获取特定用户的所有WebSocket客户端连接 这是一个服务端内部调用的方法,用于查询某个用户当前的所有活跃连接
Parameters:
- userID: 用户ID
Returns:
- []*WebSocketClient: 该用户的所有WebSocket客户端连接切片
使用场景:
- 查看用户多端登录情况(如手机端、PC端同时在线)
- 强制断开用户的所有连接(如账号封禁)
- 用户在线状态检测
- 调试和问题排查
func (*WebSocketHandler) GetWebSocketStats ¶
func (h *WebSocketHandler) GetWebSocketStats(c *gin.Context)
GetWebSocketStats 获取WebSocket连接统计信息(管理员接口) @Summary 获取WebSocket连接统计 @Description 获取当前WebSocket连接的统计信息,包括总连接数等。仅管理员可访问 @Tags WebSocket实时通信 @Accept json @Produce json @Security BearerAuth @Success 200 {object} map[string]any "统计信息,包含total_connections字段" @Failure 401 {object} map[string]any "用户未认证" @Failure 403 {object} map[string]any "权限不足,需要管理员权限" @Router /api/v1/admin/ws/stats [get]
func (*WebSocketHandler) HandleUploadProgress ¶
func (h *WebSocketHandler) HandleUploadProgress(c *gin.Context)
HandleUploadProgress 处理上传进度WebSocket连接 @Summary 建立上传进度WebSocket连接 @Description 升级HTTP连接为WebSocket长连接,专门用于接收文件上传进度的实时更新。连接建立后会收到进度消息,包括上传百分比、状态变化、错误信息等 @Tags WebSocket实时通信 @Accept json @Produce json @Security BearerAuth @Param Connection header string true "必须为 Upgrade" default(Upgrade) @Param Upgrade header string true "必须为 websocket" default(websocket) @Param Sec-WebSocket-Key header string true "WebSocket握手密钥" default(dGhlIHNhbXBsZSBub25jZQ==) @Param Sec-WebSocket-Version header string true "WebSocket协议版本" default(13) @Success 101 {object} map[string]any "协议切换成功,连接已升级为WebSocket,将收到上传进度消息" @Failure 401 {object} map[string]any "用户未认证" @Failure 400 {object} map[string]any "WebSocket升级失败" @Router /api/v1/ws/upload/progress [get]
func (*WebSocketHandler) HandleWebSocket ¶
func (h *WebSocketHandler) HandleWebSocket(c *gin.Context)
HandleWebSocket 处理WebSocket连接 @Summary 建立WebSocket连接 @Description 升级HTTP连接为WebSocket长连接,用于实时双向通信。客户端需要先通过JWT认证,连接建立后可以接收服务器推送的实时消息和事件通知 @Tags WebSocket实时通信 @Accept json @Produce json @Security BearerAuth @Param Connection header string true "必须为 Upgrade" default(Upgrade) @Param Upgrade header string true "必须为 websocket" default(websocket) @Param Sec-WebSocket-Key header string true "WebSocket握手密钥" default(dGhlIHNhbXBsZSBub25jZQ==) @Param Sec-WebSocket-Version header string true "WebSocket协议版本" default(13) @Success 101 {object} map[string]any "协议切换成功,连接已升级为WebSocket" @Failure 401 {object} map[string]any "用户未认证" @Failure 400 {object} map[string]any "WebSocket升级失败" @Router /api/v1/ws/connect [get]
func (*WebSocketHandler) SendToUser ¶
func (h *WebSocketHandler) SendToUser(userID int64, message any)
SendToUser 发送消息给特定用户的所有WebSocket连接 这是一个服务端内部调用的方法,用于向指定用户推送自定义消息
Parameters:
- userID: 目标用户ID
- message: 要发送的消息对象,可以是任意类型(会被序列化为JSON)
使用场景:
- 用户专属通知(如订单状态变化)
- 私信推送
- 账户安全提醒
- VIP特权通知
与BroadcastProgress的区别:
- SendToUser 用于发送任意消息类型
- BroadcastProgress 专门用于进度更新消息(类型固定为ProgressMessage)
type WithdrawHandler ¶
type WithdrawHandler struct {
// contains filtered or unexported fields
}
WithdrawHandler 提现处理器
func NewWithdrawHandler ¶
func NewWithdrawHandler( withdrawService service.WithdrawServiceInterface, creatorService service.CreatorServiceInterface, ) *WithdrawHandler
NewWithdrawHandler 创建提现处理器
func (*WithdrawHandler) GetPendingWithdrawals ¶
func (h *WithdrawHandler) GetPendingWithdrawals(c *gin.Context)
GetPendingWithdrawals 获取待处理提现申请(管理员) @Summary 获取待处理提现申请 @Description 管理员获取所有待处理的提现申请 @Tags 管理后台-财务 @Accept json @Produce json @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Security BearerAuth @Success 200 {object} service.PendingWithdrawResponse "待处理提现列表" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/withdraw/pending [get]
func (*WithdrawHandler) GetWithdrawDetail ¶
func (h *WithdrawHandler) GetWithdrawDetail(c *gin.Context)
GetWithdrawDetail 获取提现详情 @Summary 获取提现详情 @Description 获取单个提现申请的详细信息 @Tags 创作者收益 @Accept json @Produce json @Param requestId path int true "提现申请ID" @Security BearerAuth @Success 200 {object} service.WithdrawRequestDetail "提现详情" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 404 {object} map[string]any "提现申请不存在" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/creator/withdraw/{requestId} [get]
func (*WithdrawHandler) GetWithdrawHistory ¶
func (h *WithdrawHandler) GetWithdrawHistory(c *gin.Context)
GetWithdrawHistory 获取提现历史 @Summary 获取提现历史 @Description 获取创作者的提现历史记录 @Tags 创作者收益 @Accept json @Produce json @Param page query int false "页码" default(1) @Param limit query int false "每页数量" default(20) @Param status query string false "状态筛选" @Security BearerAuth @Success 200 {object} service.WithdrawHistoryResponse "提现历史" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/creator/withdraw/history [get]
func (*WithdrawHandler) GetWithdrawStats ¶
func (h *WithdrawHandler) GetWithdrawStats(c *gin.Context)
GetWithdrawStats 获取提现统计(管理员) @Summary 获取提现统计 @Description 管理员获取平台提现统计数据 @Tags 管理后台-财务 @Accept json @Produce json @Param timeRange query string false "时间范围" Enums(today,week,month,quarter,year) @Security BearerAuth @Success 200 {object} service.WithdrawStats "提现统计数据" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/withdraw/stats [get]
func (*WithdrawHandler) GetWithdrawSummary ¶
func (h *WithdrawHandler) GetWithdrawSummary(c *gin.Context)
GetWithdrawSummary 获取提现统计 @Summary 获取提现统计 @Description 获取创作者的提现统计信息 @Tags 创作者收益 @Accept json @Produce json @Security BearerAuth @Success 200 {object} service.CreatorWithdrawSummary "提现统计" @Failure 401 {object} map[string]any "未授权" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/creator/withdraw/summary [get]
func (*WithdrawHandler) ProcessWithdrawRequest ¶
func (h *WithdrawHandler) ProcessWithdrawRequest(c *gin.Context)
ProcessWithdrawRequest 处理提现申请(管理员) @Summary 处理提现申请 @Description 管理员审核处理提现申请 @Tags 管理后台-财务 @Accept json @Produce json @Param requestId path int true "提现申请ID" @Param request body map[string]any true "处理请求" @Security BearerAuth @Success 200 {object} map[string]any "处理结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 404 {object} map[string]any "提现申请不存在" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/admin/withdraw/{requestId}/process [post]
func (*WithdrawHandler) RequestWithdraw ¶
func (h *WithdrawHandler) RequestWithdraw(c *gin.Context)
RequestWithdraw 申请提现 @Summary 申请提现 @Description 创作者申请提现收益 @Tags 创作者收益 @Accept json @Produce json @Param request body service.WithdrawRequestCreate true "提现申请" @Security BearerAuth @Success 200 {object} service.WithdrawRequestResponse "提现申请响应" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/creator/withdraw/request [post]
func (*WithdrawHandler) ValidateWithdraw ¶
func (h *WithdrawHandler) ValidateWithdraw(c *gin.Context)
ValidateWithdraw 验证提现 @Summary 验证提现 @Description 验证提现金额是否有效 @Tags 创作者收益 @Accept json @Produce json @Param amount query number true "提现金额" @Security BearerAuth @Success 200 {object} service.WithdrawValidationResult "验证结果" @Failure 400 {object} map[string]any "请求参数错误" @Failure 401 {object} map[string]any "未授权" @Failure 403 {object} map[string]any "无权限" @Failure 500 {object} map[string]any "服务器错误" @Router /api/v1/creator/withdraw/validate [get]
Source Files
¶
- admin.go
- admin_actor.go
- admin_content.go
- admin_copyright.go
- admin_finance.go
- admin_notification.go
- admin_promotion.go
- admin_rbac.go
- admin_storage.go
- admin_user.go
- advanced_analytics.go
- advertisement.go
- audio_subtitle.go
- audio_subtitle_processing.go
- audit_log.go
- auth.go
- chat.go
- common.go
- config.go
- content.go
- content_security.go
- creator.go
- danmaku.go
- download.go
- email_config.go
- follow.go
- internationalization.go
- live.go
- media_delivery.go
- media_upload.go
- notification.go
- payment.go
- player.go
- rate_limit_management.go
- recommendation.go
- search_enhancement.go
- security.go
- social.go
- streaming.go
- subscription.go
- sync.go
- system_monitoring.go
- tag.go
- user.go
- vector_recommendation.go
- video.go
- video_editing.go
- video_processing.go
- websocket.go
- withdraw.go