fix:时间轴是否完结从订单上获取

This commit is contained in:
eli 2024-11-20 17:56:32 +08:00
parent 6ab5bbe1b1
commit a1986273c6

View File

@ -194,25 +194,17 @@ public class TrackOrderService : ApplicationService
if (system == null)
return new UnifyResultDto<List<GetDetailTimelineOutput>>(false, "未找到指定id的子系统");
var trackStatus = await _trackStatusRepository.GetListAsync(m => m.SubSystemId == input.SystemId);
if (trackStatus == null)
return new UnifyResultDto<List<GetDetailTimelineOutput>>(false, "未找到子系统下的任何轨迹状态");
var trackContent = await _trackContentRepository.GetListAsync(m => m.SubSystemId == input.SystemId);
if (trackContent == null)
return new UnifyResultDto<List<GetDetailTimelineOutput>>(false, "未找到子系统下的任何轨迹内容");
var trackDetails = await _trackDetailsEsRepository.GetListAsync(order.Id);
res.Data = new List<GetDetailTimelineOutput>();
var isCompleted = false;
foreach (var item in trackDetails)
{
var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatusCode);
var currentTrackContet = trackContent.FirstOrDefault(m => m.Code == item.TrackCode);
//是否完结
if (!isCompleted)
isCompleted = currentTrackStatus is { IsCompleted: true };
//如果是外部系统,且轨迹内容不对外则跳过这条轨迹内容
if (system.SystemProperty == 2 && currentTrackContet != null && !currentTrackContet.IsExternal)
@ -244,7 +236,7 @@ public class TrackOrderService : ApplicationService
}
//如果轨迹状态没完结则追加最后一个默认节点
if (!isCompleted)
if (!order.IsCompleted)
{
res.Data.Add(new GetDetailTimelineOutput()
{