Merge branch 'S07' into test
This commit is contained in:
commit
f46a6fb312
@ -70,7 +70,7 @@ public class TrackOrderDetailDto
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹发生时间
|
/// 轨迹发生时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? TrackTime { get; set; }
|
public DateTime TrackTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹发生时区
|
/// 轨迹发生时区
|
||||||
|
|||||||
@ -33,7 +33,7 @@ public class GetTrackInputV2 : OrderNosInfo
|
|||||||
public enum SortMethod
|
public enum SortMethod
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 按轨迹发生时间排序
|
/// 按轨迹发生时间升序
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ByTrackTime = 0,
|
ByTrackTime = 0,
|
||||||
|
|
||||||
@ -43,12 +43,22 @@ public enum SortMethod
|
|||||||
ByTrackTimeDesc = 1,
|
ByTrackTimeDesc = 1,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模板排序+轨迹发生时间
|
/// 模板排序+轨迹发生时间升序
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ByTemplateAndTrackTime = 2,
|
ByTemplateAndTrackTime = 2,
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 模板排序+轨迹发生时间
|
/// 模板排序+轨迹发生时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
ByTemplateAndTrackTimeDesc = 3
|
ByTemplateAndTrackTimeDesc = 3,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 按创建时间升序
|
||||||
|
/// </summary>
|
||||||
|
ByCreateTime = 4,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 按创建时间降序
|
||||||
|
/// </summary>
|
||||||
|
ByCreateTimeDesc = 5
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,4 +114,9 @@ public class TrackDetail
|
|||||||
/// 扩展信息字段,用与轨迹推送的附加字段
|
/// 扩展信息字段,用与轨迹推送的附加字段
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? Extra { get; set; }
|
public string? Extra { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime CreateTime { get; set; }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -88,7 +88,8 @@ public partial class TrackService
|
|||||||
TrackPlacePostcode = x.TrackPlacePostcode,
|
TrackPlacePostcode = x.TrackPlacePostcode,
|
||||||
DestinationTimeZone = x.DestinationTimeZone,
|
DestinationTimeZone = x.DestinationTimeZone,
|
||||||
EstimatedDeliveryDate = x.EstimatedDeliveryDate,
|
EstimatedDeliveryDate = x.EstimatedDeliveryDate,
|
||||||
Extra = x.Extra
|
Extra = x.Extra,
|
||||||
|
CreateTime = x.CreateTime
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
res.Add(item);
|
res.Add(item);
|
||||||
@ -166,7 +167,8 @@ public partial class TrackService
|
|||||||
TrackPlacePostcode = x.TrackPlacePostcode,
|
TrackPlacePostcode = x.TrackPlacePostcode,
|
||||||
DestinationTimeZone = x.DestinationTimeZone,
|
DestinationTimeZone = x.DestinationTimeZone,
|
||||||
EstimatedDeliveryDate = x.EstimatedDeliveryDate,
|
EstimatedDeliveryDate = x.EstimatedDeliveryDate,
|
||||||
Extra = x.Extra
|
Extra = x.Extra,
|
||||||
|
CreateTime = x.CreateTime,
|
||||||
}).ToList();
|
}).ToList();
|
||||||
|
|
||||||
res.Add(item);
|
res.Add(item);
|
||||||
@ -209,6 +211,12 @@ public partial class TrackService
|
|||||||
case SortMethod.ByTemplateAndTrackTimeDesc:
|
case SortMethod.ByTemplateAndTrackTimeDesc:
|
||||||
list.ForEach(item => item.TrackDetails.Sort((a, b) => DateTimeHelper.ConvertUtc0Compare(b.Time, b.TimeZone ?? 8, a.Time, a.TimeZone ?? 8)));
|
list.ForEach(item => item.TrackDetails.Sort((a, b) => DateTimeHelper.ConvertUtc0Compare(b.Time, b.TimeZone ?? 8, a.Time, a.TimeZone ?? 8)));
|
||||||
break;
|
break;
|
||||||
|
case SortMethod.ByCreateTime:
|
||||||
|
list.ForEach(item => item.TrackDetails.Sort((a, b) => a.CreateTime.CompareTo(b.CreateTime)));
|
||||||
|
break;
|
||||||
|
case SortMethod.ByCreateTimeDesc:
|
||||||
|
list.ForEach(item => item.TrackDetails.Sort((a, b) => b.CreateTime.CompareTo(a.CreateTime)));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
throw new ArgumentOutOfRangeException(nameof(sortMethod), sortMethod, "不支持的排序方式");
|
throw new ArgumentOutOfRangeException(nameof(sortMethod), sortMethod, "不支持的排序方式");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@ 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;
|
||||||
|
using SJZY.Track.Application.Helpers;
|
||||||
using SJZY.Track.Application.Services.Warning.Handlers;
|
using SJZY.Track.Application.Services.Warning.Handlers;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
||||||
@ -134,9 +135,10 @@ public class TrackOrderService : ApplicationService
|
|||||||
/// <param name="orderId"></param>
|
/// <param name="orderId"></param>
|
||||||
/// <param name="orderNo"></param>
|
/// <param name="orderNo"></param>
|
||||||
/// <param name="systemId"></param>
|
/// <param name="systemId"></param>
|
||||||
|
/// <param name="sortMethod"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
[HttpPost("GetDetails")]
|
[HttpPost("GetDetails")]
|
||||||
public async Task<List<TrackOrderDetailDto>> GetTracksAsync(int? orderId, string? orderNo, int? systemId)
|
public async Task<List<TrackOrderDetailDto>> GetTracksAsync(int? orderId, string? orderNo, int? systemId, SortMethod sortMethod = SortMethod.ByCreateTimeDesc)
|
||||||
{
|
{
|
||||||
Expression<Func<OrderEntity, bool>>? whereExpression = null;
|
Expression<Func<OrderEntity, bool>>? whereExpression = null;
|
||||||
//根据订单id查询
|
//根据订单id查询
|
||||||
@ -186,6 +188,29 @@ public class TrackOrderService : ApplicationService
|
|||||||
a.TrackTimeZone = $"GMT {flag}{timeZoneStr.RemovePostFix(":00")}";
|
a.TrackTimeZone = $"GMT {flag}{timeZoneStr.RemovePostFix(":00")}";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 排序
|
||||||
|
switch (sortMethod)
|
||||||
|
{
|
||||||
|
case SortMethod.ByTrackTime:
|
||||||
|
list.Sort((a, b) => DateTimeHelper.ConvertUtc0Compare(a.TrackTime, a.TrackTimeZoneValue, b.TrackTime, b.TrackTimeZoneValue));
|
||||||
|
break;
|
||||||
|
case SortMethod.ByTrackTimeDesc:
|
||||||
|
list.Sort((a, b) => DateTimeHelper.ConvertUtc0Compare(b.TrackTime, b.TrackTimeZoneValue, a.TrackTime, a.TrackTimeZoneValue));
|
||||||
|
break;
|
||||||
|
case SortMethod.ByTemplateAndTrackTime:
|
||||||
|
case SortMethod.ByTemplateAndTrackTimeDesc:
|
||||||
|
throw new BusinessException(message: "该接口暂不支持该模板排序方式,如需支持请联系轨迹中台负责人");
|
||||||
|
case SortMethod.ByCreateTime:
|
||||||
|
list.Sort((a, b) => a.CreateTime.CompareTo(b.CreateTime));
|
||||||
|
break;
|
||||||
|
case SortMethod.ByCreateTimeDesc:
|
||||||
|
list.Sort((a, b) => b.CreateTime.CompareTo(a.CreateTime));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new ArgumentOutOfRangeException(nameof(sortMethod), sortMethod, null);
|
||||||
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user