diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 279396cf..5c20cc21 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -66,6 +66,12 @@ public partial class TrackService : ApplicationService, ITrackService throw new BusinessException(message: "【目的地时区】和【预计到达时间】必须同时输入"); } + //当修改时,如果为来源为外部提供商则不允许修改 + if (!input.IsAdd && input.Source == (int) TrackSourceEnum.ExternalServiceProvide) + { + throw new BusinessException(message: "来源为外部服务商轨迹不允许修改"); + } + var trackContent = await _trackContentRepository.GetByCodeAsync(input.SubSystemId, input.TrackCode); if (trackContent == default) { @@ -281,6 +287,12 @@ public partial class TrackService : ApplicationService, ITrackService throw new BusinessException(message: "订单一个都不存在"); } + //当修改时,如果为来源为外部提供商则不允许修改 + if (!input.IsAdd && input.Source == (int) TrackSourceEnum.ExternalServiceProvide) + { + throw new BusinessException(message: "来源为外部服务商轨迹不允许修改"); + } + // 校验主体:批量新增只选取第一条订单进行校验 //【新增】存在指定轨迹的内容,进行更新覆盖(只处理一条的情况,并且决定权交给用户),不存在直接插入即可 //【更新】存在指定轨迹的内容(匹配到多条则不处理) @@ -352,7 +364,7 @@ public partial class TrackService : ApplicationService, ITrackService TrackTime = input.TrackTime, TrackTimeZone = input.TrackTimeZone, OperationMan = userInfo.Data.UserName, - OperationManId= userInfo.Data.UserId, + OperationManId = userInfo.Data.UserId, IsVisibility = input.IsVisibility, Source = input.Source, Remarks = input.Remarks, @@ -368,7 +380,6 @@ public partial class TrackService : ApplicationService, ITrackService TrackPlacePostcode = input.TrackPlacePostcode, EstimatedDeliveryDate = input.EstimatedDeliveryDate, DestinationTimeZone = input.DestinationTimeZone, - }; await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event); }