From aa6b269f213b19f181ff2d14ab522b7b6da05110 Mon Sep 17 00:00:00 2001 From: eli Date: Thu, 28 Nov 2024 11:49:18 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E5=BF=85=E5=A1=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackOrders/TrackOrderService.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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(); From 26f57263b174999c932000087605dddff795b9b7 Mon Sep 17 00:00:00 2001 From: eli Date: Fri, 29 Nov 2024 12:01:45 +0800 Subject: [PATCH 2/4] =?UTF-8?q?fix=EF=BC=9A=E8=BD=A8=E8=BF=B9=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackOrders/TrackOrderService.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 65fb583f..472c63bf 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -119,7 +119,7 @@ public class TrackOrderService : ApplicationService if (orderId != null && orderId > 0) whereExpression = m => m.Id == orderId; - if (string.IsNullOrEmpty(orderNo) && systemId != null && 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) From a4df525ee894981bc3a8576effb0c2800ec4a874 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=BE=99=20=E7=8E=8B?= Date: Fri, 29 Nov 2024 14:23:06 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E3=80=90=E6=A0=B9?= =?UTF-8?q?=E6=8D=AEId=E8=8E=B7=E5=8F=96=E8=BD=A8=E8=BF=B9=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E3=80=91=E6=A0=A1=E9=AA=8C=EF=BC=8C=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BB=A5=E4=B8=8B=E6=A0=A1=E9=AA=8C=E8=A7=84=E5=88=99=20?= =?UTF-8?q?=E8=A7=84=E5=88=991=EF=BC=9AorderId=E4=B8=BA=E7=A9=BA=EF=BC=8Co?= =?UTF-8?q?rderNo=E4=B8=BA=E7=A9=BA+systemId>0=EF=BC=8C=E6=A0=A1=E9=AA=8C?= =?UTF-8?q?=E4=B8=BA=E5=8F=82=E6=95=B0=E5=BC=82=E5=B8=B8=20=E8=A7=84?= =?UTF-8?q?=E5=88=992=EF=BC=9AorderId=E4=B8=BA=E7=A9=BA=EF=BC=8CorderNo?= =?UTF-8?q?=E4=B8=8D=E4=B8=BA=E7=A9=BA+systemId=E4=B8=BA=E7=A9=BA=EF=BC=8C?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C=E4=B8=BA=E5=8F=82=E6=95=B0=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=20=E6=B3=A8=EF=BC=9A=E5=BD=93orderId>0,orderNo=E4=B8=8D?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA,systemId>0=EF=BC=8C=E5=88=99=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E3=80=90=E8=AE=A2=E5=8D=95=E5=8F=B7+=E7=B3=BB?= =?UTF-8?q?=E7=BB=9Fid=E3=80=91=E7=9A=84=E6=96=B9=E5=BC=8F=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=BD=A8=E8=BF=B9=E6=98=8E=E7=BB=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackOrders/TrackOrderService.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index 472c63bf..3f3aa542 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -115,14 +115,16 @@ public class TrackOrderService : ApplicationService [HttpPost("GetDetails")] public async Task> GetTracksAsync(int? orderId, string? orderNo, int? systemId) { - Expression> whereExpression = null; + Expression>? whereExpression = null; + //根据订单id查询 if (orderId != null && orderId > 0) whereExpression = m => m.Id == orderId; + //根据订单号+系统id查询 if (!string.IsNullOrEmpty(orderNo) && systemId != null && systemId > 0) whereExpression = m => m.OrderNo == orderNo && m.SubSystemId == systemId; - if (orderId == default && orderNo == default && systemId == default) + if (whereExpression == default) throw new BusinessException(message: "请求参数异常"); var subSystemId = await _orderRepository.GetFirstAsync(whereExpression, x => x.SubSystemId); From a6eddbdbd9fecfe0da32a37546e14687e5dbb759 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=BE=99=20=E7=8E=8B?= Date: Fri, 29 Nov 2024 14:44:03 +0800 Subject: [PATCH 4/4] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E3=80=90=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=BD=A8=E8=BF=B9=E3=80=91=E5=8F=82=E6=95=B0=E3=80=90?= =?UTF-8?q?NewTrackTime=E3=80=91=E8=BD=A8=E8=BF=B9=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=9A=84=E8=8C=83=E5=9B=B4=E7=9A=84=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/ProvideServices/TrackService.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs index 4e0322a3..b1afaa30 100644 --- a/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs +++ b/src/SJZY.Track.Application/Services/ProvideServices/TrackService.cs @@ -60,7 +60,9 @@ public partial class TrackService : ApplicationService, ITrackService throw new BusinessException(message: "轨迹来源是必须的"); } - if (input.TrackTime < DateTime.Now.AddYears(-100) || input.TrackTime > DateTime.Now.AddYears(100)) + //要求时间在当前时间的前后100年之间内 + bool ValidateTrackTime(DateTime? d) => (d != null && d < DateTime.Now.AddYears(-100) || d > DateTime.Now.AddYears(100)); + if (ValidateTrackTime(input.TrackTime) || ValidateTrackTime(input.NewTrackTime)) { throw new BusinessException(message: "轨迹时间不合法"); } @@ -326,7 +328,9 @@ public partial class TrackService : ApplicationService, ITrackService //【更新】存在指定轨迹的内容(匹配到多条则不处理) var order = orders.First(); - if (input.TrackTime < DateTime.Now.AddYears(-100) || input.TrackTime > DateTime.Now.AddYears(100)) + //要求时间在当前时间的前后100年之间内 + bool ValidateTrackTime(DateTime? d) => (d != null && d < DateTime.Now.AddYears(-100) || d > DateTime.Now.AddYears(100)); + if (ValidateTrackTime(input.TrackTime) || ValidateTrackTime(input.NewTrackTime)) { throw new BusinessException(message: "轨迹时间不合法"); }