fix:时间轴是否完结从订单上获取
This commit is contained in:
parent
6ab5bbe1b1
commit
a1986273c6
@ -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()
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user