From aa7d4b2c5f19d05bdffe444ad1659457d4a36d3c Mon Sep 17 00:00:00 2001 From: zzh <1368735060@qq.com> Date: Thu, 3 Sep 2026 18:56:29 +0800 Subject: [PATCH] feat: return track status on detail timeline API Expose TrackStatus/TrackStatusCode and highlight only the latest node for courier-style timeline UIs. Co-authored-by: Cursor --- .../Dtos/ProvideServices/GetDetailTimelineOutput.cs | 10 ++++++++++ .../Services/TrackOrders/TrackOrderService.cs | 10 ++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/TrackCenter.Application/Dtos/ProvideServices/GetDetailTimelineOutput.cs b/src/TrackCenter.Application/Dtos/ProvideServices/GetDetailTimelineOutput.cs index f341f5a8..439005ad 100644 --- a/src/TrackCenter.Application/Dtos/ProvideServices/GetDetailTimelineOutput.cs +++ b/src/TrackCenter.Application/Dtos/ProvideServices/GetDetailTimelineOutput.cs @@ -7,6 +7,16 @@ public class GetDetailTimelineOutput /// public string TrackCode { get; set; } + /// + /// 轨迹状态(如:已揽收、运输中、派送中、已签收) + /// + public string TrackStatus { get; set; } + + /// + /// 轨迹状态 code + /// + public string TrackStatusCode { get; set; } + /// /// 轨迹内容 /// diff --git a/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs b/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs index 2dff335a..5bd06152 100644 --- a/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs @@ -223,7 +223,7 @@ public class TrackOrderService : ApplicationServiceBase : item.TrackTime); res.Add(new GetDetailTimelineOutput() { - IsHighlight = true, + IsHighlight = false, IsShowHover = true, Remark = item.Remarks == null || item.Remarks == "--" ? "" : item.Remarks, TrackTimeZone = $"GMT{(item.TrackTimeZone >= 0 ? "+" : "-")}{GetTimeZoneStr(item.TrackTimeZone)}", @@ -240,14 +240,20 @@ public class TrackOrderService : ApplicationServiceBase }).ToList(), Content = item.TrackContent, TrackCode = item.TrackCode, + TrackStatus = item.TrackStatus, + TrackStatusCode = item.TrackStatusCode, TrackPlaceNation = item.TrackPlaceNation, TrackPlaceProvince = item.TrackPlaceProvince, TrackPlaceCity = item.TrackPlaceCity, }); } - // 按轨迹发生时间正序排序 + // 按轨迹发生时间正序排序;最新一条高亮 res = res.OrderBy(m => m.TrackTime).ToList(); + if (res.Count > 0) + { + res[^1].IsHighlight = true; + } return res; }