diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 75806f9e..e21286df 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -1,3 +1,4 @@ +using System.Linq.Expressions; using SJZY.Expand.AliyunOSS; using SJZY.Track.Application.Contract.Dtos.ProvideServices; using SJZY.Track.Application.Contract.Dtos.TrackOrder; @@ -108,11 +109,20 @@ public class TrackOrderService : ApplicationService /// 根据订单id获取轨迹明细列表 /// /// + /// + /// /// [HttpPost("GetDetails")] - public async Task> GetTracksAsync(int orderId) + public async Task> GetTracksAsync(int orderId, string orderNo, int systemId) { - var subSystemId = await _orderRepository.GetFirstAsync(x => x.Id == orderId, x => x.SubSystemId); + Expression> whereExpression = null; + if (orderId > 0) + whereExpression = m => m.Id == orderId; + + if (string.IsNullOrEmpty(orderNo) && systemId > 0) + whereExpression = m => m.OrderNo == orderNo && m.SubSystemId == systemId; + + var subSystemId = await _orderRepository.GetFirstAsync(whereExpression, x => x.SubSystemId); if (subSystemId == default) { throw new BusinessException(message: "订单不存在");