From 85d0b9efe10e66ac925b2d8532da8b219fe34cb8 Mon Sep 17 00:00:00 2001 From: eli Date: Wed, 27 Nov 2024 17:48:36 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=BD=A8=E8=BF=B9=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=94=AF=E6=8C=81=E8=AE=A2=E5=8D=95=E5=8F=B7?= =?UTF-8?q?+=E5=AD=90=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackOrders/TrackOrderService.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) 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: "订单不存在"); From 7fe025c9bdf5ec12cc04d70d1e17f94834180298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=BE=99=20=E7=8E=8B?= Date: Thu, 28 Nov 2024 10:07:46 +0800 Subject: [PATCH 2/7] =?UTF-8?q?update:=20=E3=80=90=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=BD=B4=E3=80=91=E5=BD=93=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E9=9C=80=E8=A6=81=E6=98=BE=E7=A4=BA=E7=9A=84=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E6=89=8D=E9=9C=80=E8=A6=81=E8=A1=A5=E5=85=85=E7=AD=BE=E6=94=B6?= =?UTF-8?q?=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TrackOrders/TrackOrderService.cs | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index e21286df..4c63e8a7 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -251,16 +251,20 @@ public class TrackOrderService : ApplicationService if (!order.IsCompleted) //如果没完结则显示签收节点 { var eddUnixTimestamp = order.EstimatedDeliveryDate.HasValue ? ToUnixTimestamp(DateTime.Parse(order.EstimatedDeliveryDate.ToString()!)) : 0; + var isShowTime = eddUnixTimestamp > 0 && res.Data.All(m => m.TrackTime < eddUnixTimestamp); - var isShowTime = eddUnixTimestamp > 0 && res.Data != null && res.Data.All(m => m.TrackTime < eddUnixTimestamp); - res.Data.Add(new GetDetailTimelineOutput() + //当存在需要显示的轨迹才需要补充签收节点 + if (res.Data.Count != 0) { - Content = "签收", - IsHighlight = false, - TrackTimeZone = isShowTime ? $"GMT{(order.DestinationTimeZone >= 0 ? "+" : "-")}{order.DestinationTimeZone}" : "", - TrackTime = isShowTime ? eddUnixTimestamp : 0, - TrackTimePrefix = isShowTime ? "预计签收时间:" : "", - }); + res.Data.Add(new GetDetailTimelineOutput() + { + Content = "签收", + IsHighlight = false, + TrackTimeZone = isShowTime ? $"GMT{(order.DestinationTimeZone >= 0 ? "+" : "-")}{order.DestinationTimeZone}" : "", + TrackTime = isShowTime ? eddUnixTimestamp : 0, + TrackTimePrefix = isShowTime ? "预计签收时间:" : "", + }); + } } return res; From 99bf506ab7df4c63bb7ea036ec61fb0cc1525c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=91=E9=BE=99=20=E7=8E=8B?= Date: Thu, 28 Nov 2024 10:35:08 +0800 Subject: [PATCH 3/7] =?UTF-8?q?update:=20=E3=80=90GetDetails=E3=80=91?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E8=BD=A8=E8=BF=B9=E6=98=8E=E7=BB=86=EF=BC=8C?= =?UTF-8?q?=E5=AF=B9orderNo=E5=8F=82=E6=95=B0=E5=A2=9E=E5=8A=A0=E5=8F=AF?= =?UTF-8?q?=E9=80=89=E9=A1=B9=E9=81=BF=E5=85=8D=E4=B8=8D=E4=BC=A0=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=E6=97=B6=E6=8A=A5400=E9=94=99=E8=AF=AF?= 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 4c63e8a7..6acb8e68 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -113,7 +113,7 @@ 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) From aa6b269f213b19f181ff2d14ab522b7b6da05110 Mon Sep 17 00:00:00 2001 From: eli Date: Thu, 28 Nov 2024 11:49:18 +0800 Subject: [PATCH 4/7] =?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 5/7] =?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 6/7] =?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 7/7] =?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: "轨迹时间不合法"); }