From e969bed42e3789a06f3a0396d69cbe4f208c6c6c Mon Sep 17 00:00:00 2001 From: eli Date: Wed, 13 Nov 2024 11:51:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E8=BF=9E=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ProvideServices/GetDetailTimelineInput.cs | 4 +-- .../GetDetailTimelineOutput.cs | 30 +++++++++++++++---- .../Services/TrackOrders/TrackOrderService.cs | 28 ++++++++++------- .../Aggregates/OrderAggregate/OrderEntity.cs | 2 +- .../TrackDetailsIndex.cs | 2 +- 5 files changed, 47 insertions(+), 19 deletions(-) diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineInput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineInput.cs index 9294efc0..94067c80 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineInput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineInput.cs @@ -13,7 +13,7 @@ public class GetDetailTimelineInput public int SystemId{ get; set; } /// - /// 是否客户端,false时展示所有轨迹,true时只展示对外的轨迹 + /// 是否 /// - public bool IsCustomeClient { get; set; } + public bool IsClient { get; set; } } diff --git a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineOutput.cs b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineOutput.cs index a621240b..d5d56c9b 100644 --- a/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineOutput.cs +++ b/src/SJZY.Track.Application.Contract/Dtos/ProvideServices/GetDetailTimelineOutput.cs @@ -17,11 +17,6 @@ public class GetDetailTimelineOutput /// public string EnContent { get; set; } - /// - /// 轨迹发生地 - /// - public string TrackPlace { get; set; } = null!; - /// /// 轨迹发生时间 /// @@ -51,4 +46,29 @@ public class GetDetailTimelineOutput /// 是否高亮 /// public bool IsHighlight { get; set; } + + /// + /// 是否显示悬停效果 + /// + public bool IsShowHover { get; set; } + + /// + /// 轨迹发生地 + /// + public string TrackPlace { get; set; } + + /// + /// 轨迹发生地(城市) + /// + public string? TrackPlaceCity { get; set; } + + /// + /// 轨迹发生地(省/州) + /// + public string? TrackPlaceProvince { get; set; } + + /// + /// 轨迹发生地(国家/地区) + /// + public string? TrackPlaceNation { get; set; } } diff --git a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs index b1fff209..9b3cbae7 100644 --- a/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/SJZY.Track.Application/Services/TrackOrders/TrackOrderService.cs @@ -191,24 +191,32 @@ public class TrackOrderService : ApplicationService var trackDetails = await _trackDetailsEsRepository.GetListAsync(order.Id); res.Data = new List(); var isCompleted = false; - foreach (var item in trackDetails) + foreach (var item in trackDetails.OrderBy(m => m.CreateTime).ToList()) { + var currentTrackStatus = trackStatus.FirstOrDefault(m => m.Code == item.TrackStatus); + //是否完结 - isCompleted = trackStatus.Any(m => m.IsCompleted && m.Code == item.TrackStatus); - + isCompleted = currentTrackStatus?.IsCompleted == true; + //如果是客户端,且轨迹内容不对外则跳过这条轨迹内容 + if (input.IsClient && item.IsVisibility) + continue; res.Data.Add(new GetDetailTimelineOutput() { IsHighlight = true, - Files = new List(), - //Remark = item.Remark, - //TrackTimeZone = item.TrackTimeZone, + IsShowHover = true, + Remark = item.Remarks == null || item.Remarks == "--" ? "" : item.Remarks, + TrackTimeZone = $"GMT{(item.TrackTimeZone >= 0 ? "+" : "-")}{item.TrackTimeZone}", TrackTime = ToUnixTimestamp(item.TrackTime), TrackPlace = item.TrackPlace, EnContent = item.TrackEnContent, + Files = string.IsNullOrEmpty(item.Files) || item.Files == "--" ? new List() : item.Files.Split(",").ToList(), Content = item.TrackContent, - TrackCode = item.TrackCode + TrackCode = item.TrackCode, + TrackPlaceNation = item.TrackPlaceNation, + TrackPlaceProvince = item.TrackPlaceProvince, + TrackPlaceCity = item.TrackPlaceCity, }); } @@ -219,9 +227,9 @@ public class TrackOrderService : ApplicationService { Content = "签收", IsHighlight = false, - TrackTimeZone = $"GMT{(order.DestinationTimeZone >= 0 ? "+" : "-")}{order.DestinationTimeZone}", - TrackTime = ToUnixTimestamp(order.EstimatedDeliveryDate), - TrackTimePrefix = "预计签收时间:", + TrackTimeZone = order.EstimatedDeliveryDate.HasValue ? $"GMT{(order.DestinationTimeZone >= 0 ? "+" : "-")}{order.DestinationTimeZone}" : "", + TrackTime = order.EstimatedDeliveryDate.HasValue ? ToUnixTimestamp(DateTime.Parse(order.EstimatedDeliveryDate.ToString()!)) : 0, + TrackTimePrefix = order.EstimatedDeliveryDate.HasValue ? "预计签收时间:" : "", }); } diff --git a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs index 492555ec..45c49e45 100644 --- a/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs +++ b/src/SJZY.Track.Domain/Aggregates/OrderAggregate/OrderEntity.cs @@ -182,7 +182,7 @@ public class OrderEntity : IFullAuditedBasicEntitys, IAggregateRoot /// 预计到达时间 /// [SugarColumn(ColumnName = "EstimatedDeliveryDate")] - public DateTime EstimatedDeliveryDate { get; set; } + public DateTime? EstimatedDeliveryDate { get; set; } public void ResetTrackInfo() { diff --git a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs index 4d5361a2..c3532fdb 100644 --- a/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs +++ b/src/SJZY.Track.Domain/Aggregates/TrackDetailsAggregate/TrackDetailsIndex.cs @@ -110,7 +110,7 @@ public class TrackDetailsIndex : IdBaseIndex /// /// 客户是否可见 /// - public int IsVisibility { get; set; } + public bool IsVisibility { get; set; } /// /// 数据来源:1外部服务商创建,2内部系统创建,3人工创建