diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index a5999520..af769700 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -192,9 +192,15 @@ public class TrackOrderService : ApplicationService var system = await _orderRepository.GetSystemInfoById(input.CurrenUserSystemId); if (system == null) - return new UnifyResultDto>(false, "未找到制定id的子系统"); + return new UnifyResultDto>(false, "未找到指定id的子系统"); var trackStatus = await _trackStatusRepository.GetListAsync(m => m.SubSystemId == input.SystemId); + if (trackStatus == null) + return new UnifyResultDto>(false, "未找到子系统下的任何轨迹状态"); + + var trackContent = await _trackContentRepository.GetListAsync(m => m.SubSystemId == input.SystemId); + if (trackContent == null) + return new UnifyResultDto>(false, "未找到子系统下的任何轨迹内容"); var trackDetails = await _trackDetailsEsRepository.GetListAsync(order.Id); res.Data = new List(); @@ -202,16 +208,16 @@ public class TrackOrderService : ApplicationService foreach (var item in trackDetails) { var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatusCode); - - - //如果是外部系统,且轨迹内容不对外则跳过这条轨迹内容 - if (system.SystemProperty == 2 && !item.IsVisibility) - continue; + var currentTrackContet = trackContent.FirstOrDefault(m => m.Code == item.TrackCode); //是否完结 if (!isCompleted) isCompleted = currentTrackStatus is { IsCompleted: true }; + //如果是外部系统,且轨迹内容不对外则跳过这条轨迹内容 + if (system.SystemProperty == 2 && currentTrackContet != null && !currentTrackContet.IsExternal) + continue; + res.Data.Add(new GetDetailTimelineOutput() { IsHighlight = true,