From 2c4a643de90da04aba3f2bfeb983edc5be99d7b5 Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Mon, 14 Apr 2025 09:49:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=96=B0=E5=A2=9E/=E4=BF=AE=E6=94=B9=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ProvideServices/TrackService.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index d0f5a4aa..55088a90 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -537,7 +537,7 @@ public partial class TrackService : ApplicationService, ITrackService throw new BusinessException(message: $"订单:[{orderNo}],轨迹代码:[{trackCode}]和现存轨迹时间重复,不允许修改,请检查轨迹NewTrackTime"); } - if (!string.IsNullOrWhiteSpace(extra) && tracks.Any(track => string.Equals(track.Extra, newExtra))) + if (!string.IsNullOrWhiteSpace(newExtra) && tracks.Any(track => string.Equals(track.Extra, newExtra))) { throw new BusinessException(message: $"订单:[{orderNo}],轨迹代码:[{trackCode}]和现存轨迹Extra重复,不允许修改,请检查轨迹NewExtra"); } @@ -600,13 +600,17 @@ public partial class TrackService : ApplicationService, ITrackService ? tracks.Where(x => x.GetUtc0TrackTime() == (newTrackTime ?? trackTime).Subtract(TimeSpan.FromHours(trackTimezone))).ToList() : tracks.Where(x => x.GetUtc0TrackTime() == trackTime.Subtract(TimeSpan.FromHours(trackTimezone)) - // 修改了并且修改了时间 + // 修改了时间,要校验修改后的时间是否存在 || (newTrackTime != null && x.GetUtc0TrackTime() == newTrackTime.Value.Subtract(TimeSpan.FromHours(trackTimezone))) ).ToList(); - return isAdd ? tracks.Where(x => x.Extra == (newExtra ?? extra)).ToList() - : tracks.Where(x => x.Extra == extra || x.Extra == newExtra).ToList(); + : tracks.Where(x => + x.Extra == extra + // 修改了extra,要校验修改后的extra是否存在 + || (!string.IsNullOrWhiteSpace(newExtra) && x.Extra == newExtra) + ) + .ToList(); } }