From dc257cf49bd936854ed98f468600aa43302e03e6 Mon Sep 17 00:00:00 2001 From: hardstylewyl <827778732@qq.com> Date: Thu, 17 Apr 2025 15:50:29 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=92=88=E5=AF=B9?= =?UTF-8?q?=E4=BA=8E=E4=BD=BF=E7=94=A8EsId=E4=BF=AE=E6=94=B9=E8=BD=A8?= =?UTF-8?q?=E8=BF=B9=E7=9A=84=E9=AA=8C=E8=AF=81=EF=BC=8C=E4=BD=BF=E5=85=B6?= =?UTF-8?q?=E6=AD=A3=E5=B8=B8=E8=BF=90=E8=A1=8C=E5=B7=A5=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ProvideServices/TrackService.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 5b383eee..fc237509 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -288,6 +288,7 @@ public partial class TrackService : ApplicationService, ITrackService // 轨迹内容上的约束检查 // 更新轨迹时是否可以匹配到轨迹的检查 await TrackUpsertValidation(input.IsAdd, + input.EsId, input.SubSystemId, order.Id, order.OrderNo, @@ -370,6 +371,7 @@ public partial class TrackService : ApplicationService, ITrackService // 轨迹内容上的约束检查 // 更新轨迹时是否可以匹配到轨迹的检查 await TrackUpsertValidation(input.IsAdd, + null, input.SubSystemId, order.Id, order.OrderNo, @@ -443,6 +445,7 @@ public partial class TrackService : ApplicationService, ITrackService //在轨迹更新主流程之前的前置检查 private async Task TrackUpsertValidation( bool isAdd, + string? esId, int subSystemId, int orderId, string orderNo, @@ -517,6 +520,21 @@ public partial class TrackService : ApplicationService, ITrackService #endregion + #region 针对于esId快速路径修改轨迹的检查 + + if (isAdd == false && !string.IsNullOrWhiteSpace(esId)) + { + var tracks = await _trackDetailsEsRepository.GetDataByIds(new[] { esId }); + if (tracks.Count == 0) + { + throw new BusinessException(message: $"轨迹esId:[{esId}]不存在,无法修改轨迹"); + } + + return; + } + + #endregion + //轨迹新增,不允许重复的轨迹提前拦截 if (isAdd) {