Merge pull request 'S06' (#74) from S06 into uat
Reviewed-on: https://git.shijizhongyun.com/Dotnet/SJZY.Track.Api/pulls/74
This commit is contained in:
commit
103e2f87dd
@ -60,7 +60,9 @@ public partial class TrackService : ApplicationService, ITrackService
|
|||||||
throw new BusinessException(message: "轨迹来源是必须的");
|
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: "轨迹时间不合法");
|
throw new BusinessException(message: "轨迹时间不合法");
|
||||||
}
|
}
|
||||||
@ -326,7 +328,9 @@ public partial class TrackService : ApplicationService, ITrackService
|
|||||||
//【更新】存在指定轨迹的内容(匹配到多条则不处理)
|
//【更新】存在指定轨迹的内容(匹配到多条则不处理)
|
||||||
var order = orders.First();
|
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: "轨迹时间不合法");
|
throw new BusinessException(message: "轨迹时间不合法");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
using System.Linq.Expressions;
|
||||||
using SJZY.Expand.AliyunOSS;
|
using SJZY.Expand.AliyunOSS;
|
||||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Application.Contract.Dtos.TrackOrder;
|
using SJZY.Track.Application.Contract.Dtos.TrackOrder;
|
||||||
@ -108,17 +109,31 @@ public class TrackOrderService : ApplicationService
|
|||||||
/// 根据订单id获取轨迹明细列表
|
/// 根据订单id获取轨迹明细列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="orderId"></param>
|
/// <param name="orderId"></param>
|
||||||
|
/// <param name="orderNo"></param>
|
||||||
|
/// <param name="systemId"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("GetDetails")]
|
[HttpPost("GetDetails")]
|
||||||
public async Task<List<TrackOrderDetailDto>> GetTracksAsync(int orderId)
|
public async Task<List<TrackOrderDetailDto>> GetTracksAsync(int? orderId, string? orderNo, int? systemId)
|
||||||
{
|
{
|
||||||
var subSystemId = await _orderRepository.GetFirstAsync(x => x.Id == orderId, x => x.SubSystemId);
|
Expression<Func<OrderEntity, bool>>? 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 (whereExpression == default)
|
||||||
|
throw new BusinessException(message: "请求参数异常");
|
||||||
|
|
||||||
|
var subSystemId = await _orderRepository.GetFirstAsync(whereExpression, x => x.SubSystemId);
|
||||||
if (subSystemId == default)
|
if (subSystemId == default)
|
||||||
{
|
{
|
||||||
throw new BusinessException(message: "订单不存在");
|
throw new BusinessException(message: "订单不存在");
|
||||||
}
|
}
|
||||||
|
|
||||||
var trackDetails = await _trackDetailsEsRepository.GetListAsync(orderId);
|
var trackDetails = await _trackDetailsEsRepository.GetListAsync(orderId ?? 0);
|
||||||
if (trackDetails.IsNullOrEmpty())
|
if (trackDetails.IsNullOrEmpty())
|
||||||
{
|
{
|
||||||
return new List<TrackOrderDetailDto>();
|
return new List<TrackOrderDetailDto>();
|
||||||
@ -241,16 +256,20 @@ public class TrackOrderService : ApplicationService
|
|||||||
if (!order.IsCompleted) //如果没完结则显示签收节点
|
if (!order.IsCompleted) //如果没完结则显示签收节点
|
||||||
{
|
{
|
||||||
var eddUnixTimestamp = order.EstimatedDeliveryDate.HasValue ? ToUnixTimestamp(DateTime.Parse(order.EstimatedDeliveryDate.ToString()!)) : 0;
|
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 = "签收",
|
res.Data.Add(new GetDetailTimelineOutput()
|
||||||
IsHighlight = false,
|
{
|
||||||
TrackTimeZone = isShowTime ? $"GMT{(order.DestinationTimeZone >= 0 ? "+" : "-")}{order.DestinationTimeZone}" : "",
|
Content = "签收",
|
||||||
TrackTime = isShowTime ? eddUnixTimestamp : 0,
|
IsHighlight = false,
|
||||||
TrackTimePrefix = isShowTime ? "预计签收时间:" : "",
|
TrackTimeZone = isShowTime ? $"GMT{(order.DestinationTimeZone >= 0 ? "+" : "-")}{order.DestinationTimeZone}" : "",
|
||||||
});
|
TrackTime = isShowTime ? eddUnixTimestamp : 0,
|
||||||
|
TrackTimePrefix = isShowTime ? "预计签收时间:" : "",
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user