update: 单个/批量修改轨迹增加校验不允许修改外部提供商来源的轨迹

This commit is contained in:
云龙 王 2024-11-19 14:47:28 +08:00
parent 87a17ab97f
commit 9c24b15c41

View File

@ -66,6 +66,12 @@ public partial class TrackService : ApplicationService, ITrackService
throw new BusinessException(message: "【目的地时区】和【预计到达时间】必须同时输入"); 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); var trackContent = await _trackContentRepository.GetByCodeAsync(input.SubSystemId, input.TrackCode);
if (trackContent == default) if (trackContent == default)
{ {
@ -281,6 +287,12 @@ public partial class TrackService : ApplicationService, ITrackService
throw new BusinessException(message: "订单一个都不存在"); 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, TrackTime = input.TrackTime,
TrackTimeZone = input.TrackTimeZone, TrackTimeZone = input.TrackTimeZone,
OperationMan = userInfo.Data.UserName, OperationMan = userInfo.Data.UserName,
OperationManId= userInfo.Data.UserId, OperationManId = userInfo.Data.UserId,
IsVisibility = input.IsVisibility, IsVisibility = input.IsVisibility,
Source = input.Source, Source = input.Source,
Remarks = input.Remarks, Remarks = input.Remarks,
@ -368,7 +380,6 @@ public partial class TrackService : ApplicationService, ITrackService
TrackPlacePostcode = input.TrackPlacePostcode, TrackPlacePostcode = input.TrackPlacePostcode,
EstimatedDeliveryDate = input.EstimatedDeliveryDate, EstimatedDeliveryDate = input.EstimatedDeliveryDate,
DestinationTimeZone = input.DestinationTimeZone, DestinationTimeZone = input.DestinationTimeZone,
}; };
await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event); await _capPublisher.PublishAsync(GlobalConst.TrackUpsertSubscribe, @event);
} }