This commit is contained in:
owenchen committed 2026-09-21 16:54:56 +08:00
1 parent 9e79a6a67c
commit 7c8af2fb08
14 files changed
+328 -45

No files matched your search

@@ -2,11 +2,13 @@
using CliWrap;
using CloudBuilder.Core.DatabaseAccessor;
using CloudBuilder.Core.DatabaseAccessor.Entity;
using CloudBuilder.Core.Extensions;
using CloudBuilder.Core.Service;
using CloudBuilder.Master.Data;
using CloudBuilder.Master.Entity;
using CloudBuilder.Master.Policy;
using CloudBuilder.Master.SearchCriteria;
using CloudBuilder.Security.Entity;
using CloudBuilder.Security.Policy;
using CloudBuilder.Security.Service;
using Microsoft.AspNetCore.Authorization;
@@ -92,7 +94,7 @@ namespace CloudBuilder.Master.Service
data.Datas = list.Select(x => new DmsFileUploadViewDisplayData(x)
{
FormattedPic = FileTypePolicy.PackUrl(service, x.CreatedBy, x.OrderKey, YesNoPolicy.YES)
FormattedPic = FileTypePolicy.PackPicUrl(service, x.CreatedBy, x.OrderKey)
}).ToArray();
}
@@ -160,7 +162,7 @@ namespace CloudBuilder.Master.Service
data.Datas = list.Select(x => new DmsFileUploadViewDisplayData(x)
{
FormattedPic = FileTypePolicy.PackUrl(service, x.CreatedBy, x.OrderKey, YesNoPolicy.YES)
FormattedPic = FileTypePolicy.PackPicUrl(service, x.CreatedBy, x.OrderKey)
}).ToArray();
}
@@ -224,7 +226,7 @@ namespace CloudBuilder.Master.Service
data.Logs = list.Select(x => new DmsFileUploadDeleteLogViewDisplayData(x)
{
FormattedPic = FileTypePolicy.PackUrl(service, x.CreatedBy, x.OrderKey, YesNoPolicy.YES)
FormattedPic = FileTypePolicy.PackPicUrl(service, x.CreatedBy, x.OrderKey)
}).ToArray();
}
@@ -325,7 +327,7 @@ namespace CloudBuilder.Master.Service
data.Families = list.Select(x => new FamilyDmsFileViewDisplayData(x)
{
FileType = FileTypePolicy.GetType(x.OrderKey),
FormattedPic = FileTypePolicy.PackUrl(service, x.CreatedBy, x.OrderKey, YesNoPolicy.YES)
FormattedPic = FileTypePolicy.PackPicUrl(service, x.CreatedBy, x.OrderKey)
}).ToArray();
}
@@ -1371,7 +1373,7 @@ namespace CloudBuilder.Master.Service
{
DmsFileEntity entity = repository.DetachedEntities.Where(x => x.FileId == fileId && x.CreatedBy == service.UserId).FirstOrDefault()!;
return FileTypePolicy.PackUrl(service, entity.CreatedBy, entity.OrderKey, entity.TranscodeIndc);
return FileTypePolicy.PackSourceVideoUrl(service, entity.CreatedBy, entity.OrderKey, entity.TranscodeIndc);
}
[PermissionOperate(name: MasterPermissionPolicy.DmsFile, operate: Operate.Find)]
@@ -1379,7 +1381,7 @@ namespace CloudBuilder.Master.Service
{
DmsFileEntity entity = repository.DetachedEntities.Where(x => x.FileId == fileId && x.CreatedBy == service.UserId).FirstOrDefault()!;
return FileTypePolicy.PackSourceVideoUrl(service, entity.CreatedBy, entity.OrderKey);
return FileTypePolicy.PackSourceVideoUrl(service, entity.CreatedBy, entity.OrderKey,entity.TranscodeIndc);
}
[PermissionOperate(name: MasterPermissionPolicy.DmsFile, operate: Operate.Find)]
@@ -1388,7 +1390,7 @@ namespace CloudBuilder.Master.Service
IRepository<DmsFileDeleteLogEntity> repositoryDmsFileDeleteLog = repository.GetRepository<IRepository<DmsFileDeleteLogEntity>>();
DmsFileDeleteLogEntity entity = repositoryDmsFileDeleteLog.DetachedEntities.Where(x => x.FileId == fileId && x.CreatedBy == service.UserId).FirstOrDefault()!;
return FileTypePolicy.PackSourceVideoUrl(service, entity.CreatedBy, entity.OrderKey);
return FileTypePolicy.PackSourceVideoUrl(service, entity.CreatedBy, entity.OrderKey,entity.TranscodeIndc);
}
private string PackParameters(DmsFileEntity dmsFile)
@@ -1402,7 +1404,7 @@ namespace CloudBuilder.Master.Service
return para.ToArray().ToDelimiteredList(' ');
}
public void TsToM3u8(string orderKey, string mp4Url, string m3u8Url, int videoLength = 6)
public void TsToM3u8(string documentId, string mp4Url, string m3u8Url, int videoLength = 6)
{
string para = string.Format(service.Configuration[ServiceSettingsPolicy.FfmpegPictrue], mp4Url, m3u8Url);
try
@@ -1413,21 +1415,37 @@ namespace CloudBuilder.Master.Service
{
new FileLog(service.Configuration).WriteToFile(ex.Message);
}
return;
para = string.Format(service.Configuration["Ffmpeg:Arguments"], mp4Url, videoLength, m3u8Url);
var backupRootPath = ServiceSettingsPolicy.GetDmsFileBackupDirectory(service);
var fileExtension = "m3u8";
var filePath = Path.Combine(service.UserId, fileExtension.Replace(".", ""), "");
var orgFileExtension = Path.GetExtension(documentId);
var fullName = Path.Combine(backupRootPath, filePath, documentId.Replace(orgFileExtension, ".m3u8"));
string targetDir = Path.GetDirectoryName(fullName);
if (!Directory.Exists(targetDir))
{
Directory.CreateDirectory(targetDir);
}
//return;
para = string.Format(service.Configuration["Ffmpeg:Arguments"], mp4Url, videoLength, fullName);
//不直接转码视频文件,影响服务器性能,改为在闭时自动生成
//Task.Run(() =>
//{
// Thread.Sleep(200);
// RunMyProcess(service.Configuration["Ffmpeg:Path"], para);
//});
//IRepository<VideoToM3u8LogEntity> logRepository = repository.GetRepository<IRepository<VideoToM3u8LogEntity>>();
//VideoToM3u8LogEntity log = new VideoToM3u8LogEntity();
//log.VideoName = para;
//log.FilePath = Path.GetDirectoryName(m3u8Url)!;
//log.OrderKey = orderKey;
//log.Status = "S";
//logRepository.InsertNow(log);
IRepository<SecurityScheduleTaskQueueEntity> logRepository = repository.GetRepository<IRepository<SecurityScheduleTaskQueueEntity>>();
SecurityScheduleTaskQueueEntity task = new SecurityScheduleTaskQueueEntity();
task.DocumentId = documentId;
task.TaskId = service.Configuration["Ffmpeg:Path"];
task.TaskParam = para;
logRepository.InsertNow(task);
}
public void ImageToScare(string fullName, DmsFileEntity dmsFile)