From d36fb2fc9f73eac36868cdeb60e70cb7e3123714 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=82=A5=E7=BE=8A?= <1048382248@qq.com> Date: Tue, 24 Jun 2025 16:18:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20=E8=93=9D=E9=B2=B8?= =?UTF-8?q?=E5=AD=97=E5=BA=93=E6=8E=A5=E5=8F=A3=20=E6=89=B9=E9=87=8F?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E6=96=87=E4=BB=B6=E5=85=A5=E5=8F=82=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AICore/GPT/DeepSeek/DeepSeek_GPT.cs | 28 ++----------- VideoAnalysisCore/Common/DownloadFile.cs | 9 ++--- .../Controllers/ApiController.cs | 2 +- VideoAnalysisCore/Controllers/Dto/ApiDto.cs | 22 +++++++++-- .../Controllers/LJZK_Controller.cs | 6 ++- VideoAnalysisCore/Job/NodeSubscriptionJob.cs | 2 +- .../Model/Enum/AttachmentsInfoType.cs | 3 ++ .../Model/Enum/EducationStageEnum.cs | 39 +++++++++++++++++++ VideoAnalysisCore/Model/NodePackageInfo.cs | 8 +++- VideoAnalysisCore/Model/VideoTask.cs | 9 +++-- 10 files changed, 85 insertions(+), 43 deletions(-) create mode 100644 VideoAnalysisCore/Model/Enum/EducationStageEnum.cs diff --git a/VideoAnalysisCore/AICore/GPT/DeepSeek/DeepSeek_GPT.cs b/VideoAnalysisCore/AICore/GPT/DeepSeek/DeepSeek_GPT.cs index f20e29b..4f7ce91 100644 --- a/VideoAnalysisCore/AICore/GPT/DeepSeek/DeepSeek_GPT.cs +++ b/VideoAnalysisCore/AICore/GPT/DeepSeek/DeepSeek_GPT.cs @@ -118,7 +118,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek /// 获取内容对应的章节 /// /// - private async Task GetSections(VideoTask taskInfo, int course_Id) + private async Task GetSections(VideoTask taskInfo, long course_Id) { if (!string.IsNullOrEmpty(taskInfo.Sections)) return taskInfo.Sections; @@ -160,7 +160,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek /// 检查AI切片结果质量 /// /// - private async Task VerifySpanQuality(VideoKnowRes[] questionRes, VideoTask taskInfo, TotalCaptionsDto captions, string sections, int course_Id) + private async Task VerifySpanQuality(VideoKnowRes[] questionRes, VideoTask taskInfo, TotalCaptionsDto captions, string sections, long course_Id) { //校验结果质量 var thems = questionRes.Adapt().ToJson(); @@ -527,17 +527,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek .Where(s => s.Id == taskId) .FirstAsync(); var subject = taskInfo.Subject.ToString(); - var Course_Id = 27; - switch (taskInfo.Type)//处理不同任务类型的知识点树 - { - case TaskTypeEnum.蓝鲸智库_中职视频分段: - Course_Id = 51; - break; - case TaskTypeEnum.蓝鲸智库_视频分段: - default: - Course_Id = 27; - break; - } + var Course_Id = taskInfo.CourseId; switch (taskInfo?.VideoType) { case AttachmentsInfoType.其他资料: @@ -624,17 +614,7 @@ namespace VideoAnalysisCore.AICore.GPT.DeepSeek if (taskInfo.VideoType != AttachmentsInfoType.复习) return; var subject = taskInfo.Subject.ToString(); - var Course_Id = 27; - switch (taskInfo.Type)//处理不同任务类型的知识点树 - { - case TaskTypeEnum.蓝鲸智库_中职视频分段: - Course_Id = 51; - break; - case TaskTypeEnum.蓝鲸智库_视频分段: - default: - Course_Id = 27; - break; - } + var Course_Id = taskInfo.CourseId; var captionsArr = JsonSerializer.Deserialize(taskInfo.Captions); //处理视频授课章节 diff --git a/VideoAnalysisCore/Common/DownloadFile.cs b/VideoAnalysisCore/Common/DownloadFile.cs index a867711..b9a629b 100644 --- a/VideoAnalysisCore/Common/DownloadFile.cs +++ b/VideoAnalysisCore/Common/DownloadFile.cs @@ -132,11 +132,10 @@ namespace VideoAnalysisCore.Common var fileUrl = taskInfo.MediaUrl; if (string.IsNullOrEmpty(fileUrl)) { - switch (taskInfo.Type) + switch (taskInfo.VideoType) { - case TaskTypeEnum.蓝鲸智库_视频分段: - case TaskTypeEnum.蓝鲸智库_中职视频分段: - + case AttachmentsInfoType.新课: + case AttachmentsInfoType.复习: var videoInfo = await vodClient.GetPlayInfoAsync(new AlibabaCloud.SDK.Vod20170321.Models.GetPlayInfoRequest() { VideoId = taskInfo.TagId, @@ -148,8 +147,6 @@ namespace VideoAnalysisCore.Common throw new Exception($"{DateTime.Now} 视频订阅=>获取阿里云视频信息失败 VideoCode {taskInfo.TagId} StatusCode {videoInfo?.StatusCode}"); fileUrl = videoInfo.Body.PlayInfoList.PlayInfo.First().PlayURL; break; - case TaskTypeEnum.教研会议_视频分析: - break; default: break; } diff --git a/VideoAnalysisCore/Controllers/ApiController.cs b/VideoAnalysisCore/Controllers/ApiController.cs index 9f68fb7..bbcd8ea 100644 --- a/VideoAnalysisCore/Controllers/ApiController.cs +++ b/VideoAnalysisCore/Controllers/ApiController.cs @@ -172,7 +172,7 @@ namespace VideoAnalysisCore.Controllers ComeFrom = GetClientIpAddress(), MediaUrl = req.MediaUrl, ApiToken = req.ApiToken, - Type = req.Type, + CourseId = req.CourseId, Subject = req.Subject, Tag = req.Tag, TagId = req.TagId, diff --git a/VideoAnalysisCore/Controllers/Dto/ApiDto.cs b/VideoAnalysisCore/Controllers/Dto/ApiDto.cs index 3200d1c..708d0bf 100644 --- a/VideoAnalysisCore/Controllers/Dto/ApiDto.cs +++ b/VideoAnalysisCore/Controllers/Dto/ApiDto.cs @@ -57,7 +57,8 @@ namespace VideoAnalysisCore.Controllers.Dto public long AttachmentId { get; set; } /// - /// 需要返回给我的参数 + /// 视频阿里云id + /// 需要返回给我的参数 /// public string VideoCode { get; set; } /// @@ -68,8 +69,8 @@ namespace VideoAnalysisCore.Controllers.Dto /// /// 任务类型 /// - [Required(ErrorMessage = "任务类型是必填项")] - public TaskTypeEnum TaskType { get; set; } + //[Required(ErrorMessage = "任务类型是必填项")] + //public TaskTypeEnum TaskType { get; set; } /// /// 课程类型 0=新课 3=复习 4= 活动 5=班会 7=其他资料 @@ -105,7 +106,20 @@ namespace VideoAnalysisCore.Controllers.Dto /// 用于查找视频下对应的PPT资源 /// public long ContentId { get; set; } + /// + /// 学科网的课程id + /// + public long CourseId { get; set; } + /// + /// 学科网的教材版本Id + /// + public long TextBookVersionId { get; set; } + + /// + /// 教育阶段 + /// + public EducationStageEnum StageId { get; set; } } /// /// 视频处理 请求 @@ -149,7 +163,7 @@ namespace VideoAnalysisCore.Controllers.Dto /// /// 任务类型 /// - public TaskTypeEnum? Type { get; set; } + public long CourseId { get; set; } /// /// 视频类型 /// diff --git a/VideoAnalysisCore/Controllers/LJZK_Controller.cs b/VideoAnalysisCore/Controllers/LJZK_Controller.cs index 4483503..50a87ca 100644 --- a/VideoAnalysisCore/Controllers/LJZK_Controller.cs +++ b/VideoAnalysisCore/Controllers/LJZK_Controller.cs @@ -69,7 +69,8 @@ namespace VideoAnalysisCore.Controllers VideoCode = s.VideoCode, MaterialId = s.MaterialId, AttachmentId = s.AttachmentId, - TaskType = s.TaskType, + Stage = s.StageId, + CourseId = s.CourseId, SubjectType = s.SubjectId, VideoUrl =s.VideoUrl, CourseType = s.CourseType, @@ -86,7 +87,8 @@ namespace VideoAnalysisCore.Controllers Id = YitIdHelper.NextId(), ComeFrom = GetClientIpAddress(), ApiToken = "", - Type = s.TaskType, + EducationStage = s.StageId, + CourseId = s.CourseId, Subject = s.SubjectId, TagId = s.VideoCode, MediaUrl =s.VideoUrl, diff --git a/VideoAnalysisCore/Job/NodeSubscriptionJob.cs b/VideoAnalysisCore/Job/NodeSubscriptionJob.cs index 6ac5724..5fb9a67 100644 --- a/VideoAnalysisCore/Job/NodeSubscriptionJob.cs +++ b/VideoAnalysisCore/Job/NodeSubscriptionJob.cs @@ -87,7 +87,7 @@ namespace VideoAnalysisCore.Job Id = YitIdHelper.NextId(), ComeFrom = "127.0.0.1", ApiToken = "", - Type = item.TaskType, + //Type = item.TaskType, Subject = item.Subject, Tag = item.NodeId.ToString(), TagId = s.VideoCode, diff --git a/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs b/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs index 77db099..7de39ab 100644 --- a/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs +++ b/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs @@ -7,6 +7,9 @@ using System.Threading.Tasks; namespace VideoAnalysisCore.Model.Enum { + /// + /// 蓝鲸智库 视频类型枚举 + /// public enum VideoType { PPT课件 = 1, diff --git a/VideoAnalysisCore/Model/Enum/EducationStageEnum.cs b/VideoAnalysisCore/Model/Enum/EducationStageEnum.cs new file mode 100644 index 0000000..981cab9 --- /dev/null +++ b/VideoAnalysisCore/Model/Enum/EducationStageEnum.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace VideoAnalysisCore.Model.Enum +{ + /// + /// 教育阶段枚举 + /// + public enum EducationStageEnum + { + /// + /// 学前 + /// + 学前 = 1, + /// + /// 小学 + /// + 小学 = 2, + /// + /// 初中 + /// + 初中 = 3, + /// + /// 高中 + /// + 高中 = 4, + /// + /// 大学 + /// + 大学 = 5, + /// + /// 中职 + /// + 中职 = 6 + } +} diff --git a/VideoAnalysisCore/Model/NodePackageInfo.cs b/VideoAnalysisCore/Model/NodePackageInfo.cs index 6d09c4b..d7041ca 100644 --- a/VideoAnalysisCore/Model/NodePackageInfo.cs +++ b/VideoAnalysisCore/Model/NodePackageInfo.cs @@ -48,9 +48,13 @@ namespace VideoAnalysisCore.Model public SubjectEnum SubjectType { get; set; } /// - /// 任务类型 + /// 教育阶段 /// - public TaskTypeEnum TaskType { get; set; } + public EducationStageEnum Stage { get; set; } + /// + /// 学科网的课程id + /// + public long CourseId { get; set; } /// /// 完成时间 /// diff --git a/VideoAnalysisCore/Model/VideoTask.cs b/VideoAnalysisCore/Model/VideoTask.cs index 4f29fee..4e56cfb 100644 --- a/VideoAnalysisCore/Model/VideoTask.cs +++ b/VideoAnalysisCore/Model/VideoTask.cs @@ -50,10 +50,13 @@ namespace VideoAnalysisCore.Model [SugarColumn( IsNullable = true)] public SubjectEnum? Subject { get; set; } /// - /// 任务类型 + /// 学科网的课程id /// - [SugarColumn(IsNullable = true)] - public TaskTypeEnum? Type { get; set; } + public long CourseId { get; set; } + /// + /// 教育阶段 + /// + public EducationStageEnum EducationStage { get; set; } /// /// 视频类型 /// 常规,教研,PPT...