ow
This commit is contained in:
1 parent
75dc6fc980
commit
808042cf72
20 files changed
+484
-510
No files matched your search
@@ -803,6 +803,45 @@ namespace CloudBuilder.Master.Service
|
||||
CreateFamilyGroupFolderDetail(folder, familyGroupFolders);
|
||||
}
|
||||
|
||||
[PermissionOperate(name: MasterPermissionPolicy.DmsFile, operate: Operate.Insert)]
|
||||
[UnitOfWork]
|
||||
public void DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
ISecurityGeneratorNumberService securityGeneratorNumberService = service.ServiceProvider.GetService<ISecurityGeneratorNumberService>()!;
|
||||
IRepository<FamilyGroupFolderEntity> repositoryFamilyGroupFolder = repository.GetRepository<IRepository<FamilyGroupFolderEntity>>();
|
||||
|
||||
IRepository<DmsFolderEntity> repositoryFolder = repository.GetRepository<IRepository<DmsFolderEntity>>();
|
||||
IRepository<DmsFolderMapEntity> repositoryFolderMap = repository.GetRepository<IRepository<DmsFolderMapEntity>>();
|
||||
|
||||
DmsFolderEntity folder;
|
||||
DmsFolderMapEntity map;
|
||||
DmsFileEntity entity;
|
||||
|
||||
FamilyGroupFolderEntity familyGroupFolder = repositoryFamilyGroupFolder.DetachedEntities.Where(x => x.FolderName == familyDmsFile.FolderName).FirstOrDefault()!;
|
||||
|
||||
repositoryFamilyGroupFolder.DeleteNow(familyGroupFolder);
|
||||
|
||||
//如果只是文件分享,则返回
|
||||
if (familyDmsFile.IsDirectoryIndc == YesNoPolicy.NO) return;
|
||||
|
||||
folder = repositoryFolder.DetachedEntities.Where(x => x.FolderName == familyDmsFile.FolderName).FirstOrDefault()!;
|
||||
|
||||
repositoryFolder.DeleteNow(folder);
|
||||
|
||||
map = repositoryFolderMap.DetachedEntities.Where(x => x.FolderNameSon == folder.FolderName).FirstOrDefault()!;
|
||||
|
||||
repositoryFolderMap.DeleteNow(map);
|
||||
|
||||
entity = repository.DetachedEntities.Where(x => x.FileName == folder.FolderName).FirstOrDefault()!;
|
||||
|
||||
repository.DeleteNow(entity);
|
||||
|
||||
IRepository<FamilyFolderFavoriteEntity> repositoryFamilyFolderFavorite = repository.GetRepository<IRepository<FamilyFolderFavoriteEntity>>();
|
||||
FamilyFolderFavoriteEntity[] folderFavorite = repositoryFamilyFolderFavorite.DetachedEntities.Where(x => x.FolderName == folder.FolderName).ToArray();
|
||||
|
||||
repositoryFamilyFolderFavorite.DeleteNow(folderFavorite);
|
||||
}
|
||||
|
||||
[PermissionOperate(name: MasterPermissionPolicy.DmsFile, operate: Operate.Insert)]
|
||||
[UnitOfWork]
|
||||
public void CreateFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
@@ -1201,14 +1240,9 @@ namespace CloudBuilder.Master.Service
|
||||
{
|
||||
if (File.Exists(fileName)) File.Delete(fileName);
|
||||
}
|
||||
string m3u8FilePath = Path.Combine(webRootPath, service.UserId, "m3u8", Path.GetFileNameWithoutExtension(dmsFile.OrderKey));
|
||||
if (!Directory.Exists(m3u8FilePath))
|
||||
{
|
||||
Directory.CreateDirectory(m3u8FilePath);
|
||||
}
|
||||
string m3u8FullFile = Path.Combine(m3u8FilePath, "main.m3u8");
|
||||
//生成m3u8
|
||||
TsToM3u8(dmsFile.OrderKey, fullName, m3u8FullFile);
|
||||
string m3u8FilePath = fullName.Replace(fileExtension, ".png");
|
||||
//生成m3u8(暂不生成,只生成截图)
|
||||
TsToM3u8(dmsFile.OrderKey, fullName, m3u8FilePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1254,7 +1288,7 @@ namespace CloudBuilder.Master.Service
|
||||
public void TsToM3u8(string orderKey, string mp4Url, string m3u8Url, int videoLength = 6)
|
||||
{
|
||||
string para = string.Format(service.Configuration[ServiceSettingsPolicy.FfmpegPictrue], mp4Url, m3u8Url);
|
||||
RunMyProcess(service.Configuration[ServiceSettingsPolicy.FfmpegPath], para.Replace(".m3u8", ".png"));
|
||||
RunMyProcess(service.Configuration[ServiceSettingsPolicy.FfmpegPath], para);
|
||||
return;
|
||||
para = string.Format(service.Configuration["Ffmpeg:Arguments"], mp4Url, videoLength, m3u8Url);
|
||||
//不直接转码视频文件,影响服务器性能,改为在闭时自动生成
|
||||
@@ -1510,7 +1544,7 @@ namespace CloudBuilder.Master.Service
|
||||
{
|
||||
IRepository<FamilyGroupManagerUserViewEntity> repositoryFamilyGroupManager = repository.GetRepository<IRepository<FamilyGroupManagerUserViewEntity>>();
|
||||
|
||||
FamilyGroupManagerUserViewEntity[] ents = repositoryFamilyGroupManager.DetachedEntities.Where(x => x.UserName == service.UserId && x.ValidIndc=="Y").ToArray();
|
||||
FamilyGroupManagerUserViewEntity[] ents = repositoryFamilyGroupManager.DetachedEntities.Where(x => x.UserName == service.UserId && x.ValidIndc == "Y").ToArray();
|
||||
List<SelectOption> l = new List<SelectOption>();
|
||||
SelectOption selectOption;
|
||||
|
||||
@@ -1536,7 +1570,7 @@ namespace CloudBuilder.Master.Service
|
||||
|
||||
IRepository<FamilyGroupEntity> repositoryFamilyGroup = repository.GetRepository<IRepository<FamilyGroupEntity>>();
|
||||
|
||||
FamilyGroupEntity group = repositoryFamilyGroup.DetachedEntities.Where(x => x.FamilyName == familyName && x.ValidIndc==YesNoPolicy.YES).FirstOrDefault()!;
|
||||
FamilyGroupEntity group = repositoryFamilyGroup.DetachedEntities.Where(x => x.FamilyName == familyName && x.ValidIndc == YesNoPolicy.YES).FirstOrDefault()!;
|
||||
if (group == null) return l.ToArray();
|
||||
|
||||
selectOption = new SelectOption();
|
||||
|
||||
@@ -27,6 +27,8 @@ namespace CloudBuilder.Master.Service
|
||||
|
||||
void CreateFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile);
|
||||
|
||||
void DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile);
|
||||
|
||||
SelectOption[] FindDmsFolders();
|
||||
SelectOption[] FindDmsFolderDeleteLogs();
|
||||
DmsFolderData FindDmsFolderData();
|
||||
|
||||
@@ -75,6 +75,10 @@ return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,DmsFileEnti
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<DmsFileEntity,string>("/DmsFile/CreateDmsFolder" , dmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyDmsFileViewEntity,dynamic>("/DmsFile/DeleteFamilyDmsFolder" , familyDmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
public void CreateFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile)
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsJsonAsync<FamilyDmsFileViewEntity,dynamic>("/DmsFile/CreateFamilyDmsFolder" , familyDmsFile)).GetAwaiter().GetResult(); }
|
||||
|
||||
@@ -110,10 +110,10 @@ namespace CloudBuilder.Security.Policy
|
||||
{
|
||||
if (transcodeIndc == YesNoPolicy.YES)
|
||||
{
|
||||
var upload = (service.Configuration[ServiceSettingsPolicy.DmsFileUploadDirectory] ?? "").Replace(phy ?? "", "");
|
||||
var filePathRel = Path.Combine(upload, createdBy, "m3u8", "");
|
||||
var upload = (service.Configuration[ServiceSettingsPolicy.DmsFileBackupDirectory] ?? "").Replace(phy ?? "", "");
|
||||
var filePathRel = Path.Combine(upload, createdBy, fileExtension.Replace(".", ""), "");
|
||||
var filePath = filePathRel.Replace(Path.DirectorySeparatorChar, '/') + "/";
|
||||
url = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + Path.GetFileNameWithoutExtension(orderKey) + "/main.m3u8";
|
||||
url = service.Configuration[AppsettingsPolicy.ApplicationUrl] + webRootPath + filePath + Path.GetFileNameWithoutExtension(orderKey) + ".png";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -290,6 +290,26 @@ this.dmsFileService= dmsFileService;
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "DmsFile", operate: "Insert")]
|
||||
[HttpPost]
|
||||
[UnitOfWork]
|
||||
public dynamic DeleteFamilyDmsFolder(FamilyDmsFileViewEntity familyDmsFile){
|
||||
try
|
||||
{
|
||||
dmsFileService.DeleteFamilyDmsFolder(familyDmsFile);
|
||||
|
||||
return string.Empty;
|
||||
}
|
||||
catch (ValidatedException vex)
|
||||
{
|
||||
return vex;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new ServiceErrorException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
[PermissionOperate(name: "DmsFile", operate: "Insert")]
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
},
|
||||
"Ffmpeg": {
|
||||
"Path": "D:\\NET8\\Exe\\ffmpeg\\bin\\ffmpeg.exe", //视频转码
|
||||
"Pictrue": " -i {0} -ss 00:00:10.000 -frames:v 1 {1}",
|
||||
"Pictrue": " -i {0} -ss 00:00:2.000 -frames:v 1 {1}",
|
||||
"Arguments": " -i {0} -c:v libx264 -vf scale=1280:-1 -start_number 0 -hls_time {1} -hls_list_size 0 -f hls {2}" //0-源路径,1-目标路径,2-存放多少秒 1280×720,852*480
|
||||
},
|
||||
"CloudBuilder.Topshelf": {
|
||||
|
||||
Reference in new issue
Block a user