package router import ( "fonchain-fiee/pkg/middleware" "fonchain-fiee/pkg/service" "fonchain-fiee/pkg/service/bundle" serviceCast "fonchain-fiee/pkg/service/cast" "github.com/gin-gonic/gin" ) func AnalysisRouter(r *gin.RouterGroup) { // r.POST("analysis/trigger-ayrshare-metrics", serviceCast.TriggerAyrshareMetricsCollector) analysis := r.Group("analysis") analysis.Use(middleware.CheckWebLogin(service.AccountProvider)) { analysis.POST("create", serviceCast.CreateWorkAnalysis) analysis.POST("update", serviceCast.UpdateWorkAnalysis) analysis.POST("update-status", serviceCast.UpdateWorkAnalysisStatus) analysis.POST("detail", serviceCast.GetWorkAnalysis) analysis.POST("latest", serviceCast.GetLatestWorkAnalysis) analysis.POST("list", serviceCast.ListWorkAnalysis) analysis.POST("delete", serviceCast.DeleteWorkAnalysis) analysis.POST("export-list", serviceCast.ListWorkAnalysisExport) // 数据分析分析列表导出 analysis.POST("export-single-list", serviceCast.ListWorkAnalysisSingleExport) // 数据分析分析单个列表导出 analysis.POST("artist-data-list", serviceCast.ArtistDataList) // 艺人数据列表 analysis.POST("media-data-list", serviceCast.MediaDataList) // 自媒体数据列表 analysis.POST("data-overview", serviceCast.DataOverview) // 数据概览 analysis.POST("artist-metrics", serviceCast.ArtistMetricsSeries) // 艺人指标系列 analysis.POST("artist-metrics-single", serviceCast.ArtistMetricsDailyWindow) // 艺人指标日窗口 analysis.POST("tobe-confirmed-list", serviceCast.TobeConfirmedList) // 待确认数据列表 analysis.POST("update-approval-id", serviceCast.UpdateWorkAnalysisApprovalID) // 更新作品分析审批ID analysis.POST("trigger-ayrshare-metrics", serviceCast.TriggerAyrshareMetricsCollector) // 手动触发 Ayrshare 指标采集任务 } competitiveReport := r.Group("report") competitiveReport.Use(middleware.CheckWebLogin(service.AccountProvider)) { competitiveReport.POST("create", serviceCast.CreateCompetitiveReport) // 创建竞品报告 competitiveReport.POST("import-batch", serviceCast.ImportCompetitiveReportBatch) // 批量导入竞品报告 competitiveReport.POST("update-status", serviceCast.UpdateCompetitiveReportStatus) // 更新竞品报告状态 competitiveReport.POST("detail", serviceCast.GetCompetitiveReport) // 获取竞品报告详情 competitiveReport.POST("list", serviceCast.ListCompetitiveReport) // 获取竞品报告列表 competitiveReport.POST("single-list", serviceCast.ListCompetitiveReportByArtistUuid) // 根据艺人UUID获取竞品报告列表 competitiveReport.POST("delete", serviceCast.DeleteCompetitiveReport) // 删除竞品报告 competitiveReport.POST("update-approval-id", serviceCast.UpdateCompetitiveReportApprovalID) // 更新竞品报告审批ID competitiveReport.POST("count-by-work-uuids", serviceCast.CountCompetitiveReportByWorkUuids) // 根据作品UUID统计竞品报告数量 competitiveReport.POST("export-list", serviceCast.ListCompetitiveReportExport) // 竞品报告列表导出 competitiveReport.POST("export-single-list", serviceCast.ListCompetitiveReportSingleExport) // 竞品报告单个列表导出 } // 员工任务相关路由(需要App登录验证 analysisAppRoute := r.Group("app/analysis") analysisAppRoute.Use(middleware.CheckLogin(service.AccountFieeProvider)) { analysisAppRoute.POST("list", serviceCast.ListWorkAnalysis) // 作品列表 analysisAppRoute.POST("detail", serviceCast.GetWorkAnalysis) // 作品分析详情 analysisAppRoute.POST("update-status", serviceCast.UpdateWorkAnalysisStatus) // 用户确认 analysisAppRoute.POST("check-balance", serviceCast.CheckBundleBalance) // 检查套餐余量 analysisAppRoute.POST("tobe-confirmed-list", serviceCast.TobeConfirmedList) // 待确认数据列表 analysisAppRoute.POST("work-analysis-confirm", bundle.WorkAnalysisConfirm) } competitiveReportAppRoute := r.Group("app/report") competitiveReportAppRoute.Use(middleware.CheckLogin(service.AccountFieeProvider)) { competitiveReportAppRoute.POST("detail", serviceCast.GetCompetitiveReportForApp) // 获取竞品报告详情(App端) competitiveReportAppRoute.POST("list", serviceCast.ListCompetitiveReportByArtistUuid) // 根据艺人UUID获取竞品报告列表(App端) } }