fix:修复轨迹新增/修改验证逻辑

This commit is contained in:
hardstylewyl 2025-04-14 09:49:23 +08:00
parent 80ee762f06
commit 2c4a643de9

View File

@ -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();
}
}