Merge branch 'S01-轨迹中台' into test

This commit is contained in:
李鹏军 2024-03-05 16:58:17 +08:00
commit 0480e75d86
6 changed files with 96 additions and 51 deletions

View File

@ -11,29 +11,34 @@
public class TrackOrderDetailDto
{
/// <summary>
/// 轨迹订单id
/// Id es主键
/// </summary>
public int Id { get; set; }
/// <summary>
/// 轨迹订单id
/// </summary>
public int OrderId { set; get; }
/// <summary>
/// 轨迹代码
/// </summary>
public string Code { get; set; }
public string? Code { get; set; }
/// <summary>
/// 轨迹内容
/// </summary>
public string Content { get; set; }
public string? Content { get; set; }
/// <summary>
/// 轨迹内容英文
/// </summary>
public string EnContent { get; set; }
public string? EnContent { get; set; }
/// <summary>
/// 轨迹发生地
/// </summary>
public string TrackPlace { get; set; }
public string? TrackPlace { get; set; }
/// <summary>
/// 轨迹发生时间
@ -43,6 +48,6 @@
/// <summary>
/// 轨迹发生时区
/// </summary>
public string TrackTimeZone { get; set; }
public string? TrackTimeZone { get; set; }
}
}

View File

@ -21,7 +21,8 @@ public class OrderAutoMapperProfile : Profile
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
CreateMap<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(MemberList.None);
CreateMap<TrackDetailsIndex, TrackOrderDetailDto>(MemberList.None).ForMember(dest => dest.Id, opt => opt.MapFrom(m => m.OrderId))
CreateMap<TrackDetailsIndex, TrackOrderDetailDto>(MemberList.None)
.ForMember(dest => dest.Id, opt => opt.Ignore())
.ForMember(dest => dest.Code, opt => opt.MapFrom(m => m.TrackCode))
.ForMember(dest => dest.Content, opt => opt.MapFrom(m => m.TrackContent))
.ForMember(dest => dest.EnContent, opt => opt.MapFrom(m => m.TrackEnContent))

View File

@ -43,8 +43,8 @@ public class OrderLinkService : ApplicationService
if (input.LinkOrderNos.Count < 1 || input.LinkOrderType == 0) return true;
// 单号去重
input.LinkOrderNos = input.LinkOrderNos.Distinct().ToList();
// 单号去重,去空
input.LinkOrderNos = input.LinkOrderNos.Where(x => !x.IsNullOrWhiteSpace()).Distinct().ToList();
// 解绑
if (!input.IsLink) return await UnLinkOrderAsync(input);

View File

@ -2,6 +2,7 @@
using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Dtos.Order;
using SJZY.UserCenter.HttpApi.Services;
namespace SJZY.Track.Application.Services.ProvideServices;
@ -42,7 +43,7 @@ public class OrderService : ApplicationService
}
order = ObjectMapper.Map<UpsertOrderInput, OrderEntity>(input);
order.SubSystemId = 1;
order.SubSystemId = CurrentUserRequest.SubSystemId;
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates!);
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos!);
@ -85,6 +86,11 @@ public class OrderService : ApplicationService
if (!trackDetails.IsNullOrEmpty())
{
var list = ObjectMapper.Map<List<TrackDetailsIndex>, List<TrackOrderDetailDto>>(trackDetails);
int id = 1;
list.ForEach(a =>
{
a.Id = id++;
});
return list;
}

View File

@ -68,47 +68,6 @@ public class TrackQueryService : ApplicationService
return res;
}
#region 轨迹订单明细列表
/// <summary>
/// 根据轨迹订单id获取轨迹订单明细列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/Track/GetDetails")]
public async Task<List<TrackOrderDetailDto>> GetOrderDetails(GetOrderDetailsInput input)
{
var trackDetails = await _trackDetailsRepository.GetListAsync(input.OrderId);
if (!trackDetails.IsNullOrEmpty())
{
var list = ObjectMapper.Map<List<TrackDetailsIndex>, List<TrackOrderDetailDto>>(trackDetails);
return list;
}
return new List<TrackOrderDetailDto>();
}
#endregion
#region 轨迹订单分页
/// <summary>
/// 获取分页的轨迹订单
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("/Track/GetTrackOrderList")]
public async Task<UnifyPageResultDto<TrackOrderDto>> GetPageTrackOrder(GetPageTrackOrderInput input)
{
var vo = ObjectMapper.Map<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(input);
var pageList = await _orderRepository.GetPageTrackOrder(vo);
var pageResultDto =
ObjectMapper.Map<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(pageList);
return pageResultDto;
}
#endregion
private async Task TrackDetailSort(List<GetTrackOutput> list, GetTrackInput input)
{
switch (input.SortMethod)

View File

@ -0,0 +1,74 @@
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
using SJZY.Track.Domain.Aggregates.OrderAggregate;
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
using SJZY.Track.Domain.Dtos.Order;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.DependencyInjection;
namespace SJZY.Track.Application.Services.TrackOrders
{
[ApiExplorerSettings(GroupName = "轨迹订单")]
[Route("/Track/Order")]
public class TrackOrderService : ApplicationService, ITransientDependency
{
private readonly IOrderRepository _orderRepository;
private readonly ITrackDetailsRepository _trackDetailsRepository;
public TrackOrderService(
IOrderRepository orderRepository,
ITrackDetailsRepository trackDetailsRepository
)
{
this._orderRepository=orderRepository;
this._trackDetailsRepository=trackDetailsRepository;
}
#region 轨迹订单明细
/// <summary>
/// 根据轨迹订单id获取轨迹订单明细列表
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetDetails")]
public async Task<List<TrackOrderDetailDto>> GetOrderDetails(GetOrderDetailsInput input)
{
var trackDetails = await _trackDetailsRepository.GetListAsync(input.OrderId);
if (!trackDetails.IsNullOrEmpty())
{
var list = ObjectMapper.Map<List<TrackDetailsIndex>, List<TrackOrderDetailDto>>(trackDetails);
int id = 1;
list.ForEach(a =>
{
a.Id = id++;
});
return list;
}
return new List<TrackOrderDetailDto>();
}
#endregion
#region 轨迹订单列表
/// <summary>
/// 获取分页的轨迹订单
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("GetTrackOrderList")]
public async Task<UnifyPageResultDto<TrackOrderDto>> GetPageTrackOrder(GetPageTrackOrderInput input)
{
var vo = ObjectMapper.Map<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(input);
var pageList = await _orderRepository.GetPageTrackOrder(vo);
var pageResultDto =
ObjectMapper.Map<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(pageList);
return pageResultDto;
}
#endregion
}
}