From 89a6874c6aef2e9e8235dd49dc49d0c6633c21c2 Mon Sep 17 00:00:00 2001 From: eli Date: Thu, 14 Nov 2024 17:37:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=AD=97=E6=AE=B5=E5=9B=9E?= =?UTF-8?q?=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/TrackContents/EditTrackContentInput.cs | 15 +++++++++++++++ .../CAP/EventHandlers/TrackUpsertEventHandler.cs | 1 + .../Services/TrackOrders/TrackOrderService.cs | 9 +++++---- .../TrackDetailsAggregate/TrackDetailsIndex.cs | 5 +++++ .../Dtos/TrackContents/GetTrackContentDetailVO.cs | 14 ++++++++++++++ .../Dtos/TrackContents/TrackContentVO.cs | 5 +++++ .../Queries/ProvideQueries.cs | 1 + .../Repositories/TrackContentRepository.cs | 3 +++ 8 files changed, 49 insertions(+), 4 deletions(-) diff --git a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs index 94ed8b56..8b1aca31 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/TrackContents/EditTrackContentInput.cs @@ -119,4 +119,19 @@ public class GetTrackContentDetailDto /// 是否对外 /// public bool IsExternal { get; set; } + + /// + /// 是否可重复 + /// + public bool IsRepeatable { get; set; } + + /// + /// 是否允许手动修改 + /// + public bool IsAllowManuallyUpdate { get; set; } + + /// + /// 是否允许手动创建 + /// + public bool IsAllowManuallyCreate { get; set; } } diff --git a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs index ef68e72f..a5035d63 100644 --- a/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs +++ b/src/SJZY.Track.Application/CAP/EventHandlers/TrackUpsertEventHandler.cs @@ -282,6 +282,7 @@ public class TrackUpsertEventHandler : ITransientDependency, ICapSubscribe CreateTime = DateTime.Now, //来源轨迹内容,第一次新增的时候使用轨迹内容表提供的 TrackStatus = trackContent.TrackStatus, + TrackStatusCode = trackContent.TrackStatusCode, TrackContent = trackContent.TrackContent, TrackEnContent = trackContent.TrackEnContent, //新增轨迹明细字段 diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 4d0aea12..41ccf841 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -199,12 +199,13 @@ public class TrackOrderService : ApplicationService var trackDetails = await _trackDetailsEsRepository.GetListAsync(order.Id); res.Data = new List(); var isCompleted = false; - foreach (var item in trackDetails.OrderBy(m => m.CreateTime).ToList()) + foreach (var item in trackDetails) { - var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatus); + var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatusCode); //是否完结 - isCompleted = currentTrackStatus?.IsCompleted == true; + if (!isCompleted) + isCompleted = currentTrackStatus is { IsCompleted: true }; //如果是内部系统,且轨迹内容不对外则跳过这条轨迹内容 if (system.SystemProperty == 1 && item.IsVisibility) @@ -219,7 +220,7 @@ public class TrackOrderService : ApplicationService TrackTime = ToUnixTimestamp(item.TrackTime), TrackPlace = item.TrackPlace, EnContent = item.TrackEnContent, - Files = item.Files?.Any() == true + Files = item.Files == null ? new List() : item.Files!.Select(m => new TrackFileItem() { diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs index 99ea5e25..887ac5f9 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs @@ -37,6 +37,11 @@ public class TrackDetailsIndex : IdBaseIndex /// public string TrackStatus { get; set; } = GlobalConst.EmptyString; + /// + /// 轨迹状态code + /// + public string TrackStatusCode { get; set; } = GlobalConst.EmptyString; + /// /// 轨迹内容代码 /// diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs index 2d1d8426..fe5b29d2 100644 --- a/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs +++ b/src/SJZY.Track.Domain/Dtos/TrackContents/GetTrackContentDetailVO.cs @@ -56,4 +56,18 @@ public class GetTrackContentDetailVO /// 是否对外 /// public bool IsExternal { get; set; } + /// + /// 是否可重复 + /// + public bool IsRepeatable { get; set; } + + /// + /// 是否允许手动修改 + /// + public bool IsAllowManuallyUpdate { get; set; } + + /// + /// 是否允许手动创建 + /// + public bool IsAllowManuallyCreate { get; set; } } diff --git a/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs b/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs index 374fa387..b0a98b0e 100644 --- a/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs +++ b/src/SJZY.Track.Domain/Dtos/TrackContents/TrackContentVO.cs @@ -31,4 +31,9 @@ public class TrackContentVO /// 是否完成态 /// public bool IsCompleted { get; set; } + + /// + /// 轨迹状态代码 + /// + public string TrackStatusCode { get; set; } } diff --git a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs index 91550425..c91ba95d 100644 --- a/src/SJZY.Track.Repository/Queries/ProvideQueries.cs +++ b/src/SJZY.Track.Repository/Queries/ProvideQueries.cs @@ -87,6 +87,7 @@ public class ProvideQueries : ISugarRepository, IProvideQueries, ITransientDepen SubSystemCode = z.Key, TrackStatusId = x.TrackStatusId, TrackStatus = y.Status, + TrackStatusCode = y.Code, TrackContent = x.Content, TrackEnContent = x.EnContent, IsCompleted = y.IsCompleted, diff --git a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs index a4fe71cd..0cb9d205 100644 --- a/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs +++ b/src/SJZY.Track.Repository/Repositories/TrackContentRepository.cs @@ -33,6 +33,9 @@ public class TrackContentRepository : BasicRepository, ITrac EnContent = a.EnContent, TrackFlagId = a.TrackFlagId, IsExternal = a.IsExternal, + IsRepeatable = a.IsRepeatable, + IsAllowManuallyUpdate = a.IsAllowManuallyUpdate, + IsAllowManuallyCreate = a.IsAllowManuallyCreate }) .Mapper(x => { x.TrackFlagIds = x.TrackFlagId?.Split(',').Select(int.Parse).ToList(); }) .FirstAsync();