diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 6acb8e68..65fb583f 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -113,22 +113,25 @@ public class TrackOrderService : ApplicationService /// /// [HttpPost("GetDetails")] - public async Task> GetTracksAsync(int orderId, string? orderNo, int systemId) + public async Task> GetTracksAsync(int? orderId, string? orderNo, int? systemId) { Expression> whereExpression = null; - if (orderId > 0) + if (orderId != null && orderId > 0) whereExpression = m => m.Id == orderId; - if (string.IsNullOrEmpty(orderNo) && systemId > 0) + if (string.IsNullOrEmpty(orderNo) && systemId != null && systemId > 0) whereExpression = m => m.OrderNo == orderNo && m.SubSystemId == systemId; + if (orderId == default && orderNo == default && systemId == default) + throw new BusinessException(message: "请求参数异常"); + var subSystemId = await _orderRepository.GetFirstAsync(whereExpression, x => x.SubSystemId); if (subSystemId == default) { throw new BusinessException(message: "订单不存在"); } - var trackDetails = await _trackDetailsEsRepository.GetListAsync(orderId); + var trackDetails = await _trackDetailsEsRepository.GetListAsync(orderId ?? 0); if (trackDetails.IsNullOrEmpty()) { return new List();