This commit is contained in:
itcsx committed 2026-09-22 23:09:11 +08:00
1 parent 4adae1bd7d
commit adcf94df4a
17 files changed
+274 -97

No files matched your search

@@ -1,19 +1,21 @@
using CloudBuilder.Core.DatabaseAccessor.Entity;
using Microsoft.AspNetCore.Authorization;
using CloudBuilder.Core.DatabaseAccessor;
using CloudBuilder.Core.DatabaseAccessor.Entity;
using CloudBuilder.Core.Extensions;
using CloudBuilder.Core.Policy;
using CloudBuilder.Core.Service;
using CloudBuilder.Master.Data;
using CloudBuilder.Master.Entity;
using CloudBuilder.Master.Policy;
using CloudBuilder.Master.SearchCriteria;
using CloudBuilder.Master.Data;
using CloudBuilder.Core.Service;
using System.Diagnostics;
using CloudBuilder.Security.Service;
using Microsoft.Extensions.DependencyInjection;
using CloudBuilder.Security.Entity;
using CloudBuilder.Security.Utility;
using CloudBuilder.Security.Policy;
using CloudBuilder.Core.Policy;
using CloudBuilder.Security.Service;
using CloudBuilder.Security.Utility;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http.HttpResults;
using Microsoft.Extensions.DependencyInjection;
using System.Diagnostics;
namespace CloudBuilder.Master.Service
{
public class PublishPhotoService : IPublishPhotoService
@@ -73,13 +75,14 @@ namespace CloudBuilder.Master.Service
data.PublishPhoto = publish;
IRepository<PublishPhotoDetailEntity> repositoryPublishPhotoDetail = repository.GetRepository<IRepository<PublishPhotoDetailEntity>>();
data.Details = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publish.PublishName).OrderBy(x => x.OrderBy).ToArray();
data.Details = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publish.PublishName).OrderBy(x => x.OrderBy).Select(x => new PublishPhotoDetailDisplayData(x)).ToArray();
bool isAttached = Debugger.IsAttached;
if (data.Details != null || data.Details.Length > 0)
foreach (var item in data.Details)
{
item.FormattedPic = PackImageScareFileName(isAttached, item.FileName);
item.FileName = PackImageFileName(isAttached, item.FileName);
}
@@ -87,10 +90,20 @@ namespace CloudBuilder.Master.Service
return data;
}
private string PackImageFileName(bool isAttached,string fileName)
private string PackImageScareFileName(bool isAttached, string fileName)
{
return (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "")
+ fileName?.Replace("\\", "/");
var phy = service.Configuration[ServiceSettingsPolicy.PhysicalFileDirectory] ?? "";
var backup = (ServiceSettingsPolicy.GetDmsFileBackupDirectory(service) ?? "").Replace(phy ?? "", "");
var scale = (ServiceSettingsPolicy.GetDmsFileScaleDirectory(service) ?? "").Replace(phy ?? "", "");
return (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "")
+ fileName?.Replace("\\", "/").Replace(backup.Replace("\\", "/"), scale.Replace("\\", "/"));
}
private string PackImageFileName(bool isAttached, string fileName)
{
return (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "")
+ fileName?.Replace("\\", "/");
}
[PermissionOperate(name: MasterPermissionPolicy.PublishPhoto, operate: Operate.Find)]
@@ -336,9 +349,9 @@ namespace CloudBuilder.Master.Service
}
[AllowAnonymous]
public PublishPhotoDetailEntity[] FindPublishPhotoDetailByPublishName(string publishName)
public PublishPhotoDetailDisplayData[] FindPublishPhotoDetailByPublishName(string publishName)
{
List<PublishPhotoDetailEntity> publishPhotoDetails = new List<PublishPhotoDetailEntity>();
List<PublishPhotoDetailDisplayData> publishPhotoDetails = new List<PublishPhotoDetailDisplayData>();
if (string.IsNullOrEmpty(publishName)) return publishPhotoDetails.ToArray();
IRepository<PublishPhotoEntity> repositoryPublishPhoto = repository.GetRepository<IRepository<PublishPhotoEntity>>();
@@ -348,7 +361,7 @@ namespace CloudBuilder.Master.Service
return publishPhotoDetails.ToArray();
IRepository<PublishPhotoDetailEntity> repositoryPublishPhotoDetail = repository.GetRepository<IRepository<PublishPhotoDetailEntity>>();
PublishPhotoDetailEntity[] dtls = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publishName).OrderBy(x => x.OrderBy).ToArray();
PublishPhotoDetailDisplayData[] dtls = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publishName).OrderBy(x => x.OrderBy).Select(x => new PublishPhotoDetailDisplayData(x)).ToArray();
if (dtls == null || dtls.Length == 0) return publishPhotoDetails.ToArray();
@@ -356,7 +369,7 @@ namespace CloudBuilder.Master.Service
foreach (var item in dtls)
{
if (item.FileName.ToLower().StartsWith("http")) continue;
item.FormattedPic = PackImageScareFileName(isAttached, item.FileName);
item.FileName = PackImageFileName(isAttached, item.FileName);
}
@@ -364,16 +377,16 @@ namespace CloudBuilder.Master.Service
}
[AllowAnonymous]
public PublishPhotoDetailEntity[] FindPublishPhotoDetail()
public PublishPhotoDetailDisplayData[] FindPublishPhotoDetail()
{
PublishPhotoEntity publishPhoto = repository.DetachedEntities.Where(x => x.OwnerName == service.UserId && x.DefaultIndc == YesNoPolicy.YES).FirstOrDefault();
List<PublishPhotoDetailEntity> publishPhotoDetails = new List<PublishPhotoDetailEntity>();
List<PublishPhotoDetailDisplayData> publishPhotoDetails = new List<PublishPhotoDetailDisplayData>();
if (publishPhoto == null)
return publishPhotoDetails.ToArray();
IRepository<PublishPhotoDetailEntity> repositoryPublishPhotoDetail = repository.GetRepository<IRepository<PublishPhotoDetailEntity>>();
PublishPhotoDetailEntity[] dtls = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publishPhoto.PublishName).OrderBy(x => x.OrderBy).ToArray();
PublishPhotoDetailDisplayData[] dtls = repositoryPublishPhotoDetail.DetachedEntities.Where(x => x.PublishName == publishPhoto.PublishName).OrderBy(x => x.OrderBy).Select(x => new PublishPhotoDetailDisplayData(x)).ToArray();
if (dtls == null || dtls.Length == 0) return dtls;
@@ -382,6 +395,7 @@ namespace CloudBuilder.Master.Service
{
if (item.FileName.ToLower().StartsWith("http")) continue;
item.FormattedPic = PackImageScareFileName(isAttached, item.FileName);
item.FileName = (isAttached ? service.Configuration[AppsettingsPolicy.ApplicationUrl] : "") + item.FileName;
}
@@ -425,7 +439,7 @@ namespace CloudBuilder.Master.Service
var fileExtension = Path.GetExtension(dmsFile.OrderKey);
var filePathRel = Path.Combine(webRootPath.Substring(1), backup, dmsFile.CreatedBy, fileExtension.Replace(".", ""), "");
var filePath = '/'+filePathRel.Replace(Path.DirectorySeparatorChar, '/');
var filePath = '/' + filePathRel.Replace(Path.DirectorySeparatorChar, '/');
string path = Path.Combine(filePath, dmsFile.OrderKey);