diff --git a/src/TrackCenter.Application/Services/ProvideServices/OrderServiceV2.cs b/src/TrackCenter.Application/Services/ProvideServices/OrderServiceV2.cs index 907ca399..a0ba0365 100644 --- a/src/TrackCenter.Application/Services/ProvideServices/OrderServiceV2.cs +++ b/src/TrackCenter.Application/Services/ProvideServices/OrderServiceV2.cs @@ -213,7 +213,7 @@ public class OrderServiceV2( }; var config = await trackPullConfigRepository - .FirstOrDefaultAsync(x => x.AppKey == input.ApiCode + .FirstOrDefaultAsync(x => x.AppKey == AppKey && x.ServiceProviderCode == input.ApiCode); if (config == null) throw new BusinessException(message: "没有一个拉取配置可以适用,请配置,否则无法拉取轨迹"); @@ -241,7 +241,7 @@ public class OrderServiceV2( // tips: 2025-11-29 zzh 大包没有轨迹拉取能力 // var config = await trackPullConfigRepository - // .FirstOrDefaultAsync(x => x.AppKey == input.ApiCode + // .FirstOrDefaultAsync(x => x.AppKey == AppKey // && x.ServiceProviderCode == input.ApiCode); // // if (config == null) throw new BusinessException(message: "没有一个拉取配置可以适用,请配置,否则无法拉取轨迹"); @@ -267,7 +267,7 @@ public class OrderServiceV2( order.OrderFlights = new List(); var config = await trackPullConfigRepository - .FirstOrDefaultAsync(x => x.AppKey == input.ApiCode + .FirstOrDefaultAsync(x => x.AppKey == AppKey && x.ServiceProviderCode == input.ApiCode); if (config == null) throw new BusinessException(message: "没有一个拉取配置可以适用,请配置,否则无法拉取轨迹"); diff --git a/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs b/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs index d6a6c23f..6a502ae6 100644 --- a/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs +++ b/src/TrackCenter.Application/Services/TrackOrders/TrackOrderService.cs @@ -50,13 +50,11 @@ public class TrackOrderService : ApplicationServiceBase /// /// [HttpPost("GetTrackOrderList")] - public async Task> GetTrackOrderPagedList(GetPageTrackOrderInput input) + public async Task> GetTrackOrderPagedList(GetPageTrackOrderInput input) { var vo = ObjectMapper.Map(input); var pageList = await _orderRepository.GetTrackOrderPagedList(vo); - var pageResultDto = - ObjectMapper.Map, PagedResult>(pageList); - return pageResultDto; + return pageList; } #endregion diff --git a/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs b/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs index 6927319e..5af210cd 100644 --- a/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs +++ b/src/TrackCenter.Domain/Dtos/Order/GetPageTrackOrderInputVO.cs @@ -73,10 +73,55 @@ public class TrackOrderVO /// public string Customer { get; set; } - ///// - ///// 订单明细(json) - ///// - //public string? OrderDetails { get; set; } + /// + /// 轨迹单号 + /// + public string? TrackNo { get; set; } + + /// + /// 其他单号 + /// + public string? OtherNo { get; set; } + + /// + /// 渠道 + /// + public string? Channel { get; set; } + + /// + /// 产品 + /// + public string? Product { get; set; } + + /// + /// API编码 + /// + public string? ApiCode { get; set; } + + /// + /// 国家编码 + /// + public string? CountryCode { get; set; } + + /// + /// 州省 + /// + public string? Province { get; set; } + + /// + /// 邮编 + /// + public string? Postcode { get; set; } + + /// + /// 城市 + /// + public string? City { get; set; } + + /// + /// 邮箱 + /// + public string? Email { get; set; } /// /// 最新轨迹状态 @@ -118,11 +163,6 @@ public class TrackOrderVO /// public DateTime? CreateTime { get; set; } - /// - /// 应用 - /// - public string? App { get; set; } - /// /// 应用 /// @@ -147,9 +187,4 @@ public class TrackOrderVO /// 目的地时区 /// public float? DestinationTimeZone { get; set; } - - /// - /// 第三方单号,服务商-轨迹0000000、轨迹服务商-0000000 - /// - public string? ThirdPartyOrderNumber { get; set; } } diff --git a/src/TrackCenter.Repository/Repositories/OrderRepository.cs b/src/TrackCenter.Repository/Repositories/OrderRepository.cs index d3f309c3..edd79730 100644 --- a/src/TrackCenter.Repository/Repositories/OrderRepository.cs +++ b/src/TrackCenter.Repository/Repositories/OrderRepository.cs @@ -5,13 +5,11 @@ using TrackCenter.Domain.Consts; using TrackCenter.Domain.Dtos.Order; using TrackCenter.Domain.Enums; using TrackCenter.Domain.Extensions; -using TrackCenter.Domain.VEntities; namespace TrackCenter.Repository.Repositories; public class OrderRepository : BasicRepository, IOrderRepository, ITransientDependency { - public async Task> GetTrackOrderPagedList(GetPageTrackOrderInputVO input) { //查询完去重 @@ -20,20 +18,19 @@ public class OrderRepository : BasicRepository, IOrderRepository, I if (input.OrderNos.IsNullOrEmpty()) { pageList = await Context.Queryable() - .LeftJoin((a, c) => a.AppKey == c.AppKey && c.IsDeleted == false) - .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, c) => a.AppKey == input.AppKey) + .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), a => a.AppKey == input.AppKey) .WhereIF(input.CreateTimeStart.HasValue && input.CreateTimeEnd.HasValue, - (a, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) + a => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) .WhereIF(input.CreateTimeStart.HasValue && (!input.CreateTimeEnd.HasValue), - (a, c) => a.CreateTime >= input.CreateTimeStart) + a => a.CreateTime >= input.CreateTimeStart) .WhereIF((!input.CreateTimeStart.HasValue) && input.CreateTimeEnd.HasValue, - (a, c) => a.CreateTime <= input.CreateTimeEnd) - .WhereIF(!input.Customer.IsNullOrWhiteSpace(), (a, c) => a.Customer.Contains(input.Customer!)) - .WhereIF(input.TrackOrderType > 0, (a, c) => a.OrderType == input.TrackOrderType) - .WhereIF(input.TabType > 0, (a, c) => a.QuestionType == input.TabType) - .WhereIF(input.TabType == TrackProblemType.Warn, (a , c) => !a.IsCompleted) - .OrderByDescending((a, c) => a.CreateTime) - .Select((a, c) => new TrackOrderVO + a => a.CreateTime <= input.CreateTimeEnd) + .WhereIF(!input.Customer.IsNullOrWhiteSpace(), a => a.Customer.Contains(input.Customer!)) + .WhereIF(input.TrackOrderType > 0, a => a.OrderType == input.TrackOrderType) + .WhereIF(input.TabType > 0, a => a.QuestionType == input.TabType) + .WhereIF(input.TabType == TrackProblemType.Warn, a => !a.IsCompleted) + .OrderByDescending(a => a.CreateTime) + .Select(a => new TrackOrderVO { Id = a.Id, OrderNumber = a.OrderNo, @@ -48,11 +45,19 @@ public class OrderRepository : BasicRepository, IOrderRepository, I NewestTrackTimeZone = a.LatestTrackTimeZone, IsFinish = a.IsCompleted, CreateTime = a.CreateTime, - App = c.Name, - AppKey = c.AppKey, + AppKey = a.AppKey, DestinationTimeZone = a.DestinationTimeZone, EstimatedDeliveryDate = a.EstimatedDeliveryDate, - ThirdPartyOrderNumber = a.ThirdPartyOrderNumber + TrackNo = a.TrackNo, + OtherNo = a.ThirdPartyOrderNumber, + Channel = a.Channel, + Product = a.ProductCode, + ApiCode = a.ServiceProviderCode, + CountryCode = a.ArrivalCountry, + Province = a.ArrivalProvince, + Postcode = a.ArrivalPostCode, + City = a.ArrivalCity, + Email = a.ArrivalEmail }) .ToPagedListAsync(input.PageIndex, input.PageSize); } @@ -84,21 +89,20 @@ public class OrderRepository : BasicRepository, IOrderRepository, I } pageList = await Context.Queryable() - .Where(x => orderIds.Contains(x.Id)) - .LeftJoin((a, c) => a.AppKey == c.AppKey && c.IsDeleted == false) - .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), (a, c) => a.AppKey == input.AppKey) + .Where(a => orderIds.Contains(a.Id)) + .WhereIF(!input.AppKey.IsNullOrWhiteSpace(), a => a.AppKey == input.AppKey) .WhereIF(input.CreateTimeStart.HasValue && input.CreateTimeEnd.HasValue, - (a, c) => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) + a => a.CreateTime >= input.CreateTimeStart && a.CreateTime <= input.CreateTimeEnd) .WhereIF(input.CreateTimeStart.HasValue && (!input.CreateTimeEnd.HasValue), - (a, c) => a.CreateTime >= input.CreateTimeStart) + a => a.CreateTime >= input.CreateTimeStart) .WhereIF((!input.CreateTimeStart.HasValue) && input.CreateTimeEnd.HasValue, - (a, c) => a.CreateTime <= input.CreateTimeEnd) - .WhereIF(!input.Customer.IsNullOrWhiteSpace(), (a, c) => a.Customer.Contains(input.Customer!)) - .WhereIF(input.TrackOrderType > 0, (a, c) => a.OrderType == input.TrackOrderType) - .WhereIF(input.TabType > 0, (a, c) => a.QuestionType == input.TabType) - .WhereIF(input.TabType == TrackProblemType.Warn, (a, c) => !a.IsCompleted) - .OrderByDescending((a, c) => a.CreateTime) - .Select((a, c) => new TrackOrderVO + a => a.CreateTime <= input.CreateTimeEnd) + .WhereIF(!input.Customer.IsNullOrWhiteSpace(), a => a.Customer.Contains(input.Customer!)) + .WhereIF(input.TrackOrderType > 0, a => a.OrderType == input.TrackOrderType) + .WhereIF(input.TabType > 0, a => a.QuestionType == input.TabType) + .WhereIF(input.TabType == TrackProblemType.Warn, a => !a.IsCompleted) + .OrderByDescending(a => a.CreateTime) + .Select(a => new TrackOrderVO { Id = a.Id, OrderNumber = a.OrderNo, @@ -113,11 +117,19 @@ public class OrderRepository : BasicRepository, IOrderRepository, I NewestTrackTimeZone = a.LatestTrackTimeZone, IsFinish = a.IsCompleted, CreateTime = a.CreateTime, - App = c.Name, - AppKey = c.AppKey, + AppKey = a.AppKey, DestinationTimeZone = a.DestinationTimeZone, EstimatedDeliveryDate = a.EstimatedDeliveryDate, - ThirdPartyOrderNumber = a.ThirdPartyOrderNumber + TrackNo = a.TrackNo, + OtherNo = a.ThirdPartyOrderNumber, + Channel = a.Channel, + Product = a.ProductCode, + ApiCode = a.ServiceProviderCode, + CountryCode = a.ArrivalCountry, + Province = a.ArrivalProvince, + Postcode = a.ArrivalPostCode, + City = a.ArrivalCity, + Email = a.ArrivalEmail }) .ToPagedListAsync(input.PageIndex, input.PageSize); }