ow
This commit is contained in:
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);
|
||||
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace CloudBuilder.Master.Data
|
||||
{
|
||||
public PublishPhotoEntity? PublishPhoto { get; set; }
|
||||
|
||||
public PublishPhotoDetailEntity[]? Details { get; set; }
|
||||
public PublishPhotoDetailDisplayData[]? Details { get; set; }
|
||||
|
||||
public PublishPhotoFamilyGroupDisplayData[]? FamilyGroups { get; set; }
|
||||
}
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
using CloudBuilder.Core.Authorization;
|
||||
using CloudBuilder.Master.Entity;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace CloudBuilder.Master.Data
|
||||
{
|
||||
[NotMapped]
|
||||
[TypeScript]
|
||||
public class PublishPhotoDetailDisplayData : PublishPhotoDetailEntity
|
||||
{
|
||||
public PublishPhotoDetailDisplayData()
|
||||
{
|
||||
}
|
||||
|
||||
public PublishPhotoDetailDisplayData(PublishPhotoDetailEntity entity)
|
||||
{
|
||||
CopyFrom(entity);
|
||||
}
|
||||
|
||||
public string? FormattedPic { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ namespace CloudBuilder.Master.Service
|
||||
void InsertPublishPhotoDetail(PublishData publishData);
|
||||
void InsertPublishPhotoDetailByFamilyGroup(PublishData publishData);
|
||||
|
||||
PublishPhotoDetailEntity[] FindPublishPhotoDetail();
|
||||
PublishPhotoDetailEntity[] FindPublishPhotoDetailByPublishName(string publishName);
|
||||
PublishPhotoDetailDisplayData[] FindPublishPhotoDetail();
|
||||
PublishPhotoDetailDisplayData[] FindPublishPhotoDetailByPublishName(string publishName);
|
||||
}
|
||||
}
|
||||
@@ -47,13 +47,13 @@ return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoData,PublishP
|
||||
{
|
||||
Task.Run(() => serviceRequest.PostAsync("/PublishPhoto/Delete?key=" + key.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoDetailEntity[] FindPublishPhotoDetailByPublishName(string publishName)
|
||||
public PublishPhotoDetailDisplayData[] FindPublishPhotoDetailByPublishName(string publishName)
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailEntity[]>("/PublishPhoto/FindPublishPhotoDetailByPublishName?publishName=" + publishName.ToString())).GetAwaiter().GetResult(); }
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailDisplayData[]>("/PublishPhoto/FindPublishPhotoDetailByPublishName?publishName=" + publishName.ToString())).GetAwaiter().GetResult(); }
|
||||
|
||||
public PublishPhotoDetailEntity[] FindPublishPhotoDetail()
|
||||
public PublishPhotoDetailDisplayData[] FindPublishPhotoDetail()
|
||||
{
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailEntity[]> ("/PublishPhoto/FindPublishPhotoDetail")).GetAwaiter().GetResult(); }
|
||||
return Task.Run(() => serviceRequest.PostAsJsonAsync<PublishPhotoDetailDisplayData[]> ("/PublishPhoto/FindPublishPhotoDetail")).GetAwaiter().GetResult(); }
|
||||
|
||||
public void InsertPublishPhotoDetail(PublishData publishData)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<NameOfLastUsedPublishProfile>D:\Docker\CloudBuilder\CloudBuilder.Web.Entry\Properties\PublishProfiles\FolderProfile4.pubxml</NameOfLastUsedPublishProfile>
|
||||
<NameOfLastUsedPublishProfile>D:\Docker\CloudBuilder\CloudBuilder.Web.Entry\Properties\PublishProfiles\FolderProfile3.pubxml</NameOfLastUsedPublishProfile>
|
||||
<ActiveDebugProfile>http</ActiveDebugProfile>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>C:\inetpub\wwwroot\dockwebapi2</_PublishTargetUrl>
|
||||
<History>True|2026-09-22T03:19:19.6087109Z||;True|2026-09-22T11:09:24.9165065+08:00||;True|2026-09-21T22:40:07.1232044+08:00||;True|2026-09-21T22:35:06.9446571+08:00||;True|2026-09-21T22:27:42.1146825+08:00||;False|2026-09-21T22:27:17.6066573+08:00||;True|2026-09-21T21:01:22.8888913+08:00||;True|2026-09-21T19:15:03.4753747+08:00||;True|2026-09-21T18:08:30.0866986+08:00||;True|2026-09-21T16:51:19.8137872+08:00||;True|2026-09-21T16:30:01.0950896+08:00||;True|2026-09-21T15:09:00.2326737+08:00||;True|2026-09-21T14:47:09.6120256+08:00||;True|2026-09-21T14:16:35.3194409+08:00||;True|2026-09-21T13:54:58.2829712+08:00||;True|2026-09-21T13:36:45.3134499+08:00||;True|2026-09-19T09:48:52.0085130+08:00||;False|2026-09-19T09:47:56.1658214+08:00||;True|2026-09-17T18:50:15.9493380+08:00||;True|2026-09-17T18:11:11.5364547+08:00||;True|2026-09-17T18:07:27.7830758+08:00||;True|2026-09-17T17:58:16.5798560+08:00||;True|2026-09-17T15:37:30.9025614+08:00||;True|2026-09-17T15:25:46.9116292+08:00||;True|2026-09-17T15:05:18.6592403+08:00||;True|2026-09-17T14:57:28.7997437+08:00||;True|2026-09-17T14:36:00.6339386+08:00||;True|2026-09-17T13:56:43.2376873+08:00||;True|2026-09-16T13:56:51.8724546+08:00||;True|2026-09-15T20:44:46.6559899+08:00||;True|2026-09-13T19:02:59.5654245+08:00||;True|2026-09-10T09:14:56.2914193+08:00||;True|2026-09-09T16:40:16.6461154+08:00||;True|2026-09-08T13:55:23.1502435+08:00||;True|2026-09-08T08:04:53.4279263+08:00||;True|2026-09-07T08:48:17.4682304+08:00||;True|2026-09-04T14:39:08.7878670+08:00||;True|2026-09-04T14:35:48.2937877+08:00||;True|2026-09-04T11:45:16.1372876+08:00||;True|2026-09-04T11:42:59.9356436+08:00||;True|2026-09-03T16:05:52.5270232+08:00||;True|2026-09-03T14:52:56.8559144+08:00||;True|2026-09-02T11:08:23.8720038+08:00||;True|2026-09-02T10:58:16.8081797+08:00||;True|2026-08-26T13:34:12.3805892+08:00||;True|2026-08-25T08:31:30.7787234+08:00||;True|2026-08-20T13:10:46.4725468+08:00||;True|2026-08-20T13:10:28.3142576+08:00||;True|2026-08-19T16:10:27.3362887+08:00||;True|2026-08-19T16:01:12.6234971+08:00||;True|2026-08-19T15:42:46.6576265+08:00||;True|2026-08-19T13:39:59.9363522+08:00||;True|2026-08-19T13:36:53.0379313+08:00||;True|2026-08-19T13:31:36.0841398+08:00||;True|2026-08-19T11:44:37.5319626+08:00||;True|2026-08-19T09:36:45.6000047+08:00||;True|2026-08-19T09:34:36.8468631+08:00||;True|2026-08-19T08:35:41.2202300+08:00||;True|2026-08-18T16:20:59.0170916+08:00||;</History>
|
||||
<History>True|2026-09-22T15:03:13.6509491Z||;True|2026-09-22T16:07:15.9177123+08:00||;True|2026-09-22T11:19:19.6087109+08:00||;True|2026-09-22T11:09:24.9165065+08:00||;True|2026-09-21T22:40:07.1232044+08:00||;True|2026-09-21T22:35:06.9446571+08:00||;True|2026-09-21T22:27:42.1146825+08:00||;False|2026-09-21T22:27:17.6066573+08:00||;True|2026-09-21T21:01:22.8888913+08:00||;True|2026-09-21T19:15:03.4753747+08:00||;True|2026-09-21T18:08:30.0866986+08:00||;True|2026-09-21T16:51:19.8137872+08:00||;True|2026-09-21T16:30:01.0950896+08:00||;True|2026-09-21T15:09:00.2326737+08:00||;True|2026-09-21T14:47:09.6120256+08:00||;True|2026-09-21T14:16:35.3194409+08:00||;True|2026-09-21T13:54:58.2829712+08:00||;True|2026-09-21T13:36:45.3134499+08:00||;True|2026-09-19T09:48:52.0085130+08:00||;False|2026-09-19T09:47:56.1658214+08:00||;True|2026-09-17T18:50:15.9493380+08:00||;True|2026-09-17T18:11:11.5364547+08:00||;True|2026-09-17T18:07:27.7830758+08:00||;True|2026-09-17T17:58:16.5798560+08:00||;True|2026-09-17T15:37:30.9025614+08:00||;True|2026-09-17T15:25:46.9116292+08:00||;True|2026-09-17T15:05:18.6592403+08:00||;True|2026-09-17T14:57:28.7997437+08:00||;True|2026-09-17T14:36:00.6339386+08:00||;True|2026-09-17T13:56:43.2376873+08:00||;True|2026-09-16T13:56:51.8724546+08:00||;True|2026-09-15T20:44:46.6559899+08:00||;True|2026-09-13T19:02:59.5654245+08:00||;True|2026-09-10T09:14:56.2914193+08:00||;True|2026-09-09T16:40:16.6461154+08:00||;True|2026-09-08T13:55:23.1502435+08:00||;True|2026-09-08T08:04:53.4279263+08:00||;True|2026-09-07T08:48:17.4682304+08:00||;True|2026-09-04T14:39:08.7878670+08:00||;True|2026-09-04T14:35:48.2937877+08:00||;True|2026-09-04T11:45:16.1372876+08:00||;True|2026-09-04T11:42:59.9356436+08:00||;True|2026-09-03T16:05:52.5270232+08:00||;True|2026-09-03T14:52:56.8559144+08:00||;True|2026-09-02T11:08:23.8720038+08:00||;True|2026-09-02T10:58:16.8081797+08:00||;True|2026-08-26T13:34:12.3805892+08:00||;True|2026-08-25T08:31:30.7787234+08:00||;True|2026-08-20T13:10:46.4725468+08:00||;True|2026-08-20T13:10:28.3142576+08:00||;True|2026-08-19T16:10:27.3362887+08:00||;True|2026-08-19T16:01:12.6234971+08:00||;True|2026-08-19T15:42:46.6576265+08:00||;True|2026-08-19T13:39:59.9363522+08:00||;True|2026-08-19T13:36:53.0379313+08:00||;True|2026-08-19T13:31:36.0841398+08:00||;True|2026-08-19T11:44:37.5319626+08:00||;True|2026-08-19T09:36:45.6000047+08:00||;True|2026-08-19T09:34:36.8468631+08:00||;True|2026-08-19T08:35:41.2202300+08:00||;True|2026-08-18T16:20:59.0170916+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<_PublishTargetUrl>C:\inetpub\wwwroot\windows</_PublishTargetUrl>
|
||||
<History>True|2026-09-22T07:18:53.4935889Z||;True|2026-09-22T11:24:43.8593406+08:00||;True|2026-09-19T09:55:09.0653660+08:00||;True|2026-09-19T09:53:13.8933944+08:00||;</History>
|
||||
<History>True|2026-09-22T15:02:08.0902556Z||;True|2026-09-22T16:47:49.2530282+08:00||;True|2026-09-22T15:18:53.4935889+08:00||;True|2026-09-22T11:24:43.8593406+08:00||;True|2026-09-19T09:55:09.0653660+08:00||;True|2026-09-19T09:53:13.8933944+08:00||;</History>
|
||||
<LastFailureDetails />
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
Reference in new issue
Block a user