From 972fba99592a800f33f63ce241bc54533de133af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E8=82=A5=E7=BE=8A?= <1048382248@qq.com> Date: Thu, 3 Apr 2025 18:30:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9[=E5=A4=84=E7=90=86=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=20=E4=B8=8B=E8=BD=BD=E9=80=9F=E5=BA=A6...]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VideoAnalysis/AntDeploy.json | 62 +++++- VideoAnalysis/Controllers/ApiController.cs | 1 + VideoAnalysis/Controllers/Dto/ApiDto.cs | 28 ++- VideoAnalysis/Controllers/LJZK_Controller.cs | 11 +- VideoAnalysis/Dockerfile | 5 +- VideoAnalysis/Expand/AppConfigExpand.cs | 28 +++ VideoAnalysis/Program.cs | 6 +- VideoAnalysis/appsettings.Production.json | 4 + VideoAnalysis/appsettings.json | 4 + VideoAnalysisCore/Common/AppCommon.cs | 163 --------------- VideoAnalysisCore/Common/AppConfig.cs | 190 ++++++++++++++++++ VideoAnalysisCore/Common/DownloadFile.cs | 8 +- VideoAnalysisCore/Common/RedisExpand.cs | 2 + .../Model/Enum/AttachmentsInfoType.cs | 27 +++ VideoAnalysisCore/Model/NodePackageInfo.cs | 31 ++- VideoAnalysisCore/VideoAnalysisCore.csproj | 2 +- 16 files changed, 374 insertions(+), 198 deletions(-) create mode 100644 VideoAnalysis/Expand/AppConfigExpand.cs create mode 100644 VideoAnalysisCore/Common/AppConfig.cs create mode 100644 VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs diff --git a/VideoAnalysis/AntDeploy.json b/VideoAnalysis/AntDeploy.json index b8ce755..86fde1e 100644 --- a/VideoAnalysis/AntDeploy.json +++ b/VideoAnalysis/AntDeploy.json @@ -19,6 +19,24 @@ "ffmpeg.exe" ], "WindowsBackUpIgnoreList": [] + }, + { + "Name": "阿里云_代理", + "ServerList": [], + "LinuxServerList": [ + { + "UserName": "heyang", + "Pwd": "AAC53130AF118B652BCED77C39B959F9", + "Host": "10.127.127.77:10022", + "NickName": "", + "IIsFireUrl": null, + "DockerFireUrl": "", + "WindowsServiceFireUrl": null, + "LinuxServiceFireUrl": null + } + ], + "IgnoreList": [], + "WindowsBackUpIgnoreList": [] } ], "IIsConfig": { @@ -34,6 +52,15 @@ "DockerEnvName": null, "DockerVolume": null, "DockerOther": null + }, + { + "EnvName": "阿里云_代理", + "ConfigName": "", + "LinuxEnvParam": null, + "DockerPort": null, + "DockerEnvName": null, + "DockerVolume": null, + "DockerOther": null } ] }, @@ -50,6 +77,15 @@ "DockerEnvName": null, "DockerVolume": null, "DockerOther": null + }, + { + "EnvName": "阿里云_代理", + "ConfigName": "", + "LinuxEnvParam": null, + "DockerPort": null, + "DockerEnvName": null, + "DockerVolume": null, + "DockerOther": null } ] }, @@ -66,17 +102,26 @@ "DockerEnvName": null, "DockerVolume": null, "DockerOther": null + }, + { + "EnvName": "阿里云_代理", + "ConfigName": "", + "LinuxEnvParam": null, + "DockerPort": null, + "DockerEnvName": null, + "DockerVolume": null, + "DockerOther": null } ] }, "DockerConfig": { "Prot": "9040", "AspNetCoreEnv": "", - "LastEnvName": "10楼刀片机", + "LastEnvName": "阿里云_代理", "RemoveDaysFromPublished": "10", - "WorkDir": "/home/hy/", + "WorkDir": "/home/heyang/", "Volume": "/home/hy/VideoAnalysis/AICore:/app/AICore/_Static;/home/hy/VideoAnalysis/TaskCachedFile:/app/TaskCachedFile", - "Other": "", + "Other": "-e va_args=\"NoTask\" --name videoanalysis", "EnvPairList": [ { "EnvName": "10楼刀片机", @@ -85,7 +130,16 @@ "DockerPort": "9040", "DockerEnvName": "", "DockerVolume": "/home/hy/VideoAnalysis/AICore:/app/AICore/_Static;/home/hy/VideoAnalysis/TaskCachedFile:/app/TaskCachedFile", - "DockerOther": "" + "DockerOther": "-e va_args=\"NoTask1\"" + }, + { + "EnvName": "阿里云_代理", + "ConfigName": null, + "LinuxEnvParam": null, + "DockerPort": "9040", + "DockerEnvName": "", + "DockerVolume": "/home/hy/VideoAnalysis/AICore:/app/AICore/_Static;/home/hy/VideoAnalysis/TaskCachedFile:/app/TaskCachedFile", + "DockerOther": "-e va_args=\"NoTask\" --name videoanalysis" } ] }, diff --git a/VideoAnalysis/Controllers/ApiController.cs b/VideoAnalysis/Controllers/ApiController.cs index 02df074..d740eee 100644 --- a/VideoAnalysis/Controllers/ApiController.cs +++ b/VideoAnalysis/Controllers/ApiController.cs @@ -172,6 +172,7 @@ namespace Learn.VideoAnalysis.Controllers var hashEntries = task.GetType() .GetProperties(BindingFlags.Public | BindingFlags.Instance) .ToDictionary(s => s.Name, s => s.GetValue(task)); + await videoTaskDB.InsertAsync(task); RedisExpand.Redis.HMSet(RedisExpandKey.Task(task.Id), hashEntries); RedisExpand.Redis.LPush(RedisExpandKey.ChannelKey, task.Id); return Ok(task.Id); diff --git a/VideoAnalysis/Controllers/Dto/ApiDto.cs b/VideoAnalysis/Controllers/Dto/ApiDto.cs index 8479e49..b37ffe3 100644 --- a/VideoAnalysis/Controllers/Dto/ApiDto.cs +++ b/VideoAnalysis/Controllers/Dto/ApiDto.cs @@ -26,31 +26,43 @@ namespace Learn.VideoAnalysis.Controllers.Dto /// 视频编码 /// public string VideoCode { get; set; } + /// /// 视频文件名称 /// public string VideoName { get; set; } + /// + /// 内容类型 + /// + public AttachmentsInfoType AttachmentsInfoType { get; set; } } public class NodePackageReq { + /// - /// 媒体路径 + /// 录播结构目录节点编号 /// - [Required(ErrorMessage = "文件节点ID是必填项")] + [Required(ErrorMessage = "目录节点编号是必填项")] public long NodeId { get; set; } + + /// + /// 科目类型 + /// + [Required(ErrorMessage = "科目类型是必填项")] + public SubjectEnum SubjectType { get; set; } + /// /// 任务类型 /// - public TaskTypeEnum? TaskType { get; set; } - /// - /// 学科类型 - /// - public SubjectEnum? SubjectType { get; set; } + [Required(ErrorMessage = "任务类型是必填项")] + public TaskTypeEnum TaskType { get; set; } + /// /// 视频列表 /// - [Required(ErrorMessage = "文件节点ID是必填项")] + [Required(ErrorMessage = "文件数量是必填项")] public List AnalyzeItems { get; set; } + } /// /// 视频处理 请求 diff --git a/VideoAnalysis/Controllers/LJZK_Controller.cs b/VideoAnalysis/Controllers/LJZK_Controller.cs index c09cb6e..76979a5 100644 --- a/VideoAnalysis/Controllers/LJZK_Controller.cs +++ b/VideoAnalysis/Controllers/LJZK_Controller.cs @@ -79,8 +79,6 @@ namespace Learn.VideoAnalysis.Controllers public async Task NodePackage(NodePackageReq req) { Console.WriteLine($"{DateTime.Now} ļ req=" + JsonSerializer.Serialize(req)); - if (req is null || req.NodeId == 0) - return BadRequest("Чύ"); if (req.AnalyzeItems is null || req.AnalyzeItems.Count() == 0) return BadRequest("ЧƵб"); var videos = new List(req.AnalyzeItems.Count); @@ -90,10 +88,14 @@ namespace Learn.VideoAnalysis.Controllers { var np = new NodePackageInfo() { - MaterialId = s.MaterialId, VideoCode = s.VideoCode, - NodeId = req.NodeId, + AttachmentsInfoType = s.AttachmentsInfoType, + MaterialId = s.MaterialId, StructurePageContentId = s.StructurePageContentId, + VideoName = s.VideoName, + NodeId = req.NodeId, + TaskType = req.TaskType, + SubjectType = req.SubjectType, }; nodePackages.Add(np); if (videoIdArr.Contains(s.VideoCode)) @@ -105,7 +107,6 @@ namespace Learn.VideoAnalysis.Controllers ApiToken = "", Type = req.TaskType, Subject = req.SubjectType, - Tag = req.NodeId.ToString(), TagId = s.VideoCode, MediaUrl =string.Empty, MediaName = s.VideoName diff --git a/VideoAnalysis/Dockerfile b/VideoAnalysis/Dockerfile index 83bf394..c28f887 100644 --- a/VideoAnalysis/Dockerfile +++ b/VideoAnalysis/Dockerfile @@ -14,8 +14,9 @@ COPY sources.list /etc/apt/sources.list RUN apt-get update RUN apt-get install -y ffmpeg - + # 给我们要传的参数一个初始值 +ENV va_args= ENV ASPNETCORE_URLS=http://+:9040 -ENTRYPOINT ["dotnet", "Learn.VideoAnalysis.dll"] +ENTRYPOINT dotnet Learn.VideoAnalysis.dll $va_args diff --git a/VideoAnalysis/Expand/AppConfigExpand.cs b/VideoAnalysis/Expand/AppConfigExpand.cs new file mode 100644 index 0000000..ec5a232 --- /dev/null +++ b/VideoAnalysis/Expand/AppConfigExpand.cs @@ -0,0 +1,28 @@ +using Coravel; +using System.Collections.Generic; +using VideoAnalysisCore.Common; +using VideoAnalysisCore.Job; + +namespace Learn.VideoAnalysis.Expand +{ + public static class AppConfigExpand + { + public static void AddAppConfig(this ConfigurationManager cm, string[] args) + { + Console.WriteLine($"{DateTime.Now}=>初始化 AppConfig"); + cm.GetSection("AppConfig").Bind(AppCommon.Config); + var argList= args.ToList(); + var eArgs = Environment.GetEnvironmentVariable("va_args"); + if (!string.IsNullOrEmpty(eArgs)) + argList.AddRange(eArgs.Split(",")); + + Console.WriteLine("==========================================="); + Console.WriteLine("启动参数如下:"); + Console.WriteLine(string.Join(',', args)); + Console.WriteLine("==========================================="); + + if (args.Contains("NoTask")) + AppCommon.Config.TaskSetting.ProcessingTasks = false; + } + } +} diff --git a/VideoAnalysis/Program.cs b/VideoAnalysis/Program.cs index 7c40910..6720994 100644 --- a/VideoAnalysis/Program.cs +++ b/VideoAnalysis/Program.cs @@ -21,7 +21,6 @@ namespace Learn.VideoAnalysis public static void Main(string[] args) { var builder = WebApplication.CreateBuilder(args); - // Add services to the container. builder.Services.AddRazorComponents() .AddInteractiveServerComponents(); @@ -52,11 +51,12 @@ namespace Learn.VideoAnalysis }); // appsetting - builder.Configuration.GetSection("AppConfig").Bind(AppCommon.Config); //ʼ + builder.Configuration.AddAppConfig(args); + builder.Services.AddSqlSugarExpand(); - builder.Services.AddDownloadFileExpand(2); + builder.Services.AddDownloadFileExpand(); builder.Services.AddAlibabaCloudVod(); builder.Services.AddRedisExpand(); builder.Services.AddSpeakerAI(); diff --git a/VideoAnalysis/appsettings.Production.json b/VideoAnalysis/appsettings.Production.json index 0b309e4..24562c6 100644 --- a/VideoAnalysis/appsettings.Production.json +++ b/VideoAnalysis/appsettings.Production.json @@ -6,6 +6,10 @@ } }, "AppConfig": { + "TaskSetting": { + "DownloadSpeed": 8, + "ProcessingTasks": true //接收任务? + }, "Subsystem": { "蓝鲸智库": { "APIUrl": "https://zyapi.23544.com", diff --git a/VideoAnalysis/appsettings.json b/VideoAnalysis/appsettings.json index 8ac68a1..9f7bc1e 100644 --- a/VideoAnalysis/appsettings.json +++ b/VideoAnalysis/appsettings.json @@ -8,6 +8,10 @@ "AllowedHosts": "*", "AppConfig": { "ID": 1, //程序唯一值 + "TaskSetting": { + "DownloadSpeed": 2, + "ProcessingTasks": true,//接收任务? + }, "Admin": { "Account": "admin", "Password": "q1w2e3!@#" diff --git a/VideoAnalysisCore/Common/AppCommon.cs b/VideoAnalysisCore/Common/AppCommon.cs index a903798..29a8885 100644 --- a/VideoAnalysisCore/Common/AppCommon.cs +++ b/VideoAnalysisCore/Common/AppCommon.cs @@ -319,167 +319,4 @@ namespace VideoAnalysisCore.Common } - /// - /// ffmpeg配置 - /// - public class GptConfig - { - /// - /// 请求 公开的服务地址 - /// - public string Host { get; set; } = string.Empty; - /// - /// api的密钥 - /// - public string ApiKey { get; set; } = string.Empty; - } - /// - /// 文本模型 配置 - /// - public class ChatGptConfig - { - /// - /// KIMI - /// - /// - public GptConfig ChatGpt { get; set; } = new GptConfig(); - public GptConfig DeepSeek { get; set; } = new GptConfig(); - public GptConfig KIMI { get; set; } = new GptConfig(); - public GptConfig aliyun { get; set; } = new GptConfig(); - } - - /// - /// ffmpeg配置 - /// - public class FFmpegConfig - { - /// - /// 音频切片时间段 - /// 0不切片 - /// - public int TimeSlice { get; set; } = 0; - } - /// - /// Whisper配置 - /// - public class WhisperConfig - { - /// - /// 模型名称 - /// - public string ModelName { get; set; } = string.Empty; - - } - /// - /// 管理界面Admin账号 - /// - public class AdminConfig - { - /// - /// 账号 - /// - public string Account { get; set; } = string.Empty; - /// - /// 密码 - /// - public string Password { get; set; } = string.Empty; - } - /// - /// redis配置 - /// - public class RedisConfig - { - /// - /// redis连接字符串 - /// - public string ConnectionString { get; set; } = string.Empty; - } - - public class DBConfig - { - /// - /// 主库链接 - /// - public string ConnectionString { get; set; }=string.Empty; - /// - /// 数据库类型 - /// - public IocDbType SqlType { get; set; } - /// - /// 启动时更新表结构 - /// - public bool UpdateTable { get; set; } - /// - /// 配置ID - /// - public long ConfigId { get; set; } - - } - - - /// - /// 子系统配置 - /// - public class SubsystemInfo - { - public string APIUrl { get; set; } = string.Empty; - public string Token { get; set; } = string.Empty; - } - - /// - /// 子系统配置 - /// - public class SubsystemConfig - { - public SubsystemInfo 蓝鲸智库 { get; set; } = new SubsystemInfo(); - } - /// - /// 应用程序配置 - /// - public class AppConfig - { - /// - /// 程序ID - /// - public string ID { get; set; } = string.Empty; - /// - /// Admin - /// - public AdminConfig Admin { get; set; } = new AdminConfig(); - /// - /// 子系统 - /// - public SubsystemConfig Subsystem { get; set; } = new SubsystemConfig(); - /// - /// redis - /// - public RedisConfig Redis { get; set; } = new RedisConfig(); - /// - /// Whisper AI - /// - public WhisperConfig Whisper { get; set; } = new WhisperConfig(); - /// - /// FFmpeg - /// - public FFmpegConfig FFmpeg { get; set; } = new FFmpegConfig(); - /// - /// ChatGpt - /// - public ChatGptConfig ChatGpt { get; set; } = new ChatGptConfig(); - /// - /// 阿里云视频点播配置 - /// - public AlibabaCloudVodConfig AlibabaCloudVod { get; set; } = new AlibabaCloudVodConfig(); - - - /// - /// 数据库配置 - /// - public DBConfig DB { get; set; } = new DBConfig(); - /// - /// 其他数据库配置 - /// - public DBConfig[] OtherDBArr { get; set; } = Array.Empty(); - - } } diff --git a/VideoAnalysisCore/Common/AppConfig.cs b/VideoAnalysisCore/Common/AppConfig.cs new file mode 100644 index 0000000..42a16ac --- /dev/null +++ b/VideoAnalysisCore/Common/AppConfig.cs @@ -0,0 +1,190 @@ +using SqlSugar.IOC; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace VideoAnalysisCore.Common +{ + /// + /// 应用程序配置 + /// + public class AppConfig + { + /// + /// 程序ID + /// + public string ID { get; set; } = string.Empty; + /// + /// Admin + /// + public AdminConfig Admin { get; set; } = new AdminConfig(); + /// + /// 子系统 + /// + public SubsystemConfig Subsystem { get; set; } = new SubsystemConfig(); + /// + /// redis + /// + public RedisConfig Redis { get; set; } = new RedisConfig(); + /// + /// Whisper AI + /// + public WhisperConfig Whisper { get; set; } = new WhisperConfig(); + /// + /// FFmpeg + /// + public FFmpegConfig FFmpeg { get; set; } = new FFmpegConfig(); + /// + /// ChatGpt + /// + public ChatGptConfig ChatGpt { get; set; } = new ChatGptConfig(); + /// + /// 阿里云视频点播配置 + /// + public AlibabaCloudVodConfig AlibabaCloudVod { get; set; } = new AlibabaCloudVodConfig(); + + + /// + /// 数据库配置 + /// + public DBConfig DB { get; set; } = new DBConfig(); + /// + /// 其他数据库配置 + /// + public DBConfig[] OtherDBArr { get; set; } = Array.Empty(); + /// + /// 系统接收任务设置配置 + /// + public TaskSettingConfig TaskSetting { get; set; } = new TaskSettingConfig(); + + } + + public class TaskSettingConfig + { + /// + /// 下载速度MB/S + /// + public int DownloadSpeed { get; set; } + /// + /// 是否接收任务 + /// + public bool ProcessingTasks { get; set; } + + } + /// + /// ffmpeg配置 + /// + public class GptConfig + { + /// + /// 请求 公开的服务地址 + /// + public string Host { get; set; } = string.Empty; + /// + /// api的密钥 + /// + public string ApiKey { get; set; } = string.Empty; + } + /// + /// 文本模型 配置 + /// + public class ChatGptConfig + { + /// + /// KIMI + /// + /// + public GptConfig ChatGpt { get; set; } = new GptConfig(); + public GptConfig DeepSeek { get; set; } = new GptConfig(); + public GptConfig KIMI { get; set; } = new GptConfig(); + public GptConfig aliyun { get; set; } = new GptConfig(); + } + + /// + /// ffmpeg配置 + /// + public class FFmpegConfig + { + /// + /// 音频切片时间段 + /// 0不切片 + /// + public int TimeSlice { get; set; } = 0; + } + /// + /// Whisper配置 + /// + public class WhisperConfig + { + /// + /// 模型名称 + /// + public string ModelName { get; set; } = string.Empty; + + } + /// + /// 管理界面Admin账号 + /// + public class AdminConfig + { + /// + /// 账号 + /// + public string Account { get; set; } = string.Empty; + /// + /// 密码 + /// + public string Password { get; set; } = string.Empty; + } + /// + /// redis配置 + /// + public class RedisConfig + { + /// + /// redis连接字符串 + /// + public string ConnectionString { get; set; } = string.Empty; + } + + public class DBConfig + { + /// + /// 主库链接 + /// + public string ConnectionString { get; set; } = string.Empty; + /// + /// 数据库类型 + /// + public IocDbType SqlType { get; set; } + /// + /// 启动时更新表结构 + /// + public bool UpdateTable { get; set; } + /// + /// 配置ID + /// + public long ConfigId { get; set; } + + } + + + /// + /// 子系统配置 + /// + public class SubsystemInfo + { + public string APIUrl { get; set; } = string.Empty; + public string Token { get; set; } = string.Empty; + } + + /// + /// 子系统配置 + /// + public class SubsystemConfig + { + public SubsystemInfo 蓝鲸智库 { get; set; } = new SubsystemInfo(); + } +} diff --git a/VideoAnalysisCore/Common/DownloadFile.cs b/VideoAnalysisCore/Common/DownloadFile.cs index 9ef3e88..0843d7f 100644 --- a/VideoAnalysisCore/Common/DownloadFile.cs +++ b/VideoAnalysisCore/Common/DownloadFile.cs @@ -21,10 +21,10 @@ namespace VideoAnalysisCore.Common /// /// 初始化下载器 /// - /// 下载速度mb/s 默认8 - public static void AddDownloadFileExpand(this IServiceCollection services, int DownloadSpeed) + /// 下载速度mb/s + public static void AddDownloadFileExpand(this IServiceCollection services) { - DownloadFile.DownloadSpeed = DownloadSpeed; + DownloadFile.DownloadSpeed = AppCommon.Config.TaskSetting.DownloadSpeed; services.AddTransient(); DownloadFile.Opt = new DownloadConfiguration() @@ -34,7 +34,7 @@ namespace VideoAnalysisCore.Common // 要下载的文件部分数量,默认值是1 ChunkCount = 8, // 下载速度限制为2MB/秒,默认值为零(即无限制) - MaximumBytesPerSecond = 1024 * 1024 * DownloadSpeed, + MaximumBytesPerSecond = 1024 * 1024 * DownloadFile.DownloadSpeed, // 故障转移时的最大重试次数 MaxTryAgainOnFailover = 5, // 每50MB后释放内存缓冲区 diff --git a/VideoAnalysisCore/Common/RedisExpand.cs b/VideoAnalysisCore/Common/RedisExpand.cs index fba0da3..e630075 100644 --- a/VideoAnalysisCore/Common/RedisExpand.cs +++ b/VideoAnalysisCore/Common/RedisExpand.cs @@ -276,6 +276,8 @@ namespace VideoAnalysisCore.Common /// public static async Task ReceivingTaskAsync() { + if (!AppCommon.Config.TaskSetting.ProcessingTasks)//是否接收任务 + return; var oldTask = await Redis.GetAsync(RedisExpandKey.IDTask); if (!string.IsNullOrEmpty(oldTask)) { diff --git a/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs b/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs new file mode 100644 index 0000000..4abdd97 --- /dev/null +++ b/VideoAnalysisCore/Model/Enum/AttachmentsInfoType.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace VideoAnalysisCore.Model.Enum +{ + public enum AttachmentsInfoType + { + [Description("默认")] + None = 0, + [Description("常规课程")] + RegularClasses = 1, + [Description("教研")] + TeachingResearch = 2, + [Description("PPT")] + PPT = 3, + [Description("复习")] + Review = 4, + [Description("活动")] + Activities = 5, + [Description("班会")] + Meeting = 6, + } +} diff --git a/VideoAnalysisCore/Model/NodePackageInfo.cs b/VideoAnalysisCore/Model/NodePackageInfo.cs index 96b4785..f6d6c6b 100644 --- a/VideoAnalysisCore/Model/NodePackageInfo.cs +++ b/VideoAnalysisCore/Model/NodePackageInfo.cs @@ -25,27 +25,43 @@ namespace VideoAnalysisCore.Model [DisplayName("编号")] public long Id { get; set; } /// - /// 文件节点Id - /// - [DisplayName("文件节点Id"), Required] - public long NodeId { get; set; } - /// /// 文件节点存储ID /// [DisplayName("文件节点存储ID"), Required] [SugarColumn(Length = 32)] public string VideoCode { get; set; } - + /// + /// 视频文件名称 + /// + [SugarColumn(Length = 32)] + public string VideoName { get; set; } + /// + /// 录播结构目录节点编号 + /// + public long NodeId { get; set; } /// /// 录播内容编号 /// public long StructurePageContentId { get; set; } - /// /// 素材ID /// public long MaterialId { get; set; } /// + /// 内容类型 + /// + public AttachmentsInfoType AttachmentsInfoType { get; set; } + + /// + /// 科目类型 + /// + public SubjectEnum SubjectType { get; set; } + + /// + /// 任务类型 + /// + public TaskTypeEnum TaskType { get; set; } + /// /// 完成时间 /// [SugarColumn(IsNullable = true)] @@ -56,6 +72,5 @@ namespace VideoAnalysisCore.Model /// [DisplayName("创建时间")] public DateTime CreateTime { get; set; } =DateTime.Now; - } } diff --git a/VideoAnalysisCore/VideoAnalysisCore.csproj b/VideoAnalysisCore/VideoAnalysisCore.csproj index b1145ad..2beed3a 100644 --- a/VideoAnalysisCore/VideoAnalysisCore.csproj +++ b/VideoAnalysisCore/VideoAnalysisCore.csproj @@ -69,7 +69,7 @@ - +