Merge remote-tracking branch 'origin/S01-轨迹中台' into S01-轨迹中台
This commit is contained in:
commit
4c7a94bfff
@ -1,7 +1,9 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
|
using AutoMapper.Internal.Mappers;
|
||||||
using SJZY.Track.Application.Dtos.ProvideServices;
|
using SJZY.Track.Application.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Dtos.Order;
|
using SJZY.Track.Domain.Dtos.Order;
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
namespace SJZY.Track.Application.AutoMapper;
|
namespace SJZY.Track.Application.AutoMapper;
|
||||||
|
|
||||||
@ -18,5 +20,7 @@ public class OrderAutoMapperProfile : Profile
|
|||||||
CreateMap<OrderFligthInfo, OrderFlightEntity>(MemberList.None);
|
CreateMap<OrderFligthInfo, OrderFlightEntity>(MemberList.None);
|
||||||
|
|
||||||
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
|
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
|
||||||
|
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
|
||||||
|
CreateMap<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(MemberList.None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3,8 +3,8 @@ using SJZY.Track.Application.Dtos.TrackPull;
|
|||||||
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
||||||
using Volo.Abp.AutoMapper;
|
using Volo.Abp.AutoMapper;
|
||||||
|
|
||||||
namespace SJZY.Track.Application.AutoMapper
|
namespace SJZY.Track.Application.AutoMapper;
|
||||||
{
|
|
||||||
public class TrackPullAutoMapperProfile : Profile
|
public class TrackPullAutoMapperProfile : Profile
|
||||||
{
|
{
|
||||||
public TrackPullAutoMapperProfile()
|
public TrackPullAutoMapperProfile()
|
||||||
@ -15,4 +15,3 @@ namespace SJZY.Track.Application.AutoMapper
|
|||||||
CreateMap<UpdateTrackPullContentInput, TrackPullContentConfigEntity>(MemberList.None);
|
CreateMap<UpdateTrackPullContentInput, TrackPullContentConfigEntity>(MemberList.None);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
@ -0,0 +1,10 @@
|
|||||||
|
using AutoMapper;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Application.AutoMapper;
|
||||||
|
|
||||||
|
public class TrackPushAutoMapperProfile : Profile
|
||||||
|
{
|
||||||
|
public TrackPushAutoMapperProfile()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -26,7 +26,7 @@ namespace SJZY.Track.Application.Dtos.ProvideServices
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建时间截止
|
/// 创建时间截止
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? createTimeEnd { get; set; }
|
public DateTime? CreateTimeEnd { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -40,11 +40,63 @@ namespace SJZY.Track.Application.Dtos.ProvideServices
|
|||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 订单类型
|
/// 订单类型id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string OrderType { get; set; }
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单号
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderNumber { get; set; }
|
||||||
|
|
||||||
public string OrderNumber { get; set; }
|
/// <summary>
|
||||||
|
/// 轨迹模版
|
||||||
|
/// </summary>
|
||||||
|
public string? TrackTemplateNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户简称
|
||||||
|
/// </summary>
|
||||||
|
public string? CustomerShortName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户代码
|
||||||
|
/// </summary>
|
||||||
|
public string? CustomerCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单明细(json)
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderDetails { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string? NewestTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹内容英文
|
||||||
|
/// </summary>
|
||||||
|
public string? NewestTrackEnContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生地
|
||||||
|
/// </summary>
|
||||||
|
public string? NewestTrackPlace { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否完结
|
||||||
|
/// </summary>
|
||||||
|
public bool IsFinish { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统
|
||||||
|
/// </summary>
|
||||||
|
public string SubSystem { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,12 +26,12 @@ namespace SJZY.Track.Application.Dtos.TrackFlags
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 标记
|
/// 标记
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Flag { get; set; }
|
public string? Flag { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 代码
|
/// 代码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Code { get; set; }
|
public string? Code { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 是否完结
|
/// 是否完结
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
using SJZY.Track.Application.Dtos.ProvideServices;
|
using SJZY.Expand.ABP.Core.Common.Dto;
|
||||||
|
using SJZY.Track.Application.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Dtos.Order;
|
using SJZY.Track.Domain.Dtos.Order;
|
||||||
|
|
||||||
@ -91,9 +92,9 @@ public class OrderService : ApplicationService
|
|||||||
public async Task<UnifyPageResultDto<TrackOrderDto>> GetPageTrackOrder(GetPageTrackOrderInput input)
|
public async Task<UnifyPageResultDto<TrackOrderDto>> GetPageTrackOrder(GetPageTrackOrderInput input)
|
||||||
{
|
{
|
||||||
var vo = ObjectMapper.Map<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(input);
|
var vo = ObjectMapper.Map<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(input);
|
||||||
var jj = await _orderRepository.GetPageTrackOrder(vo);
|
var pageList = await _orderRepository.GetPageTrackOrder(vo);
|
||||||
|
var pageResultDto = ObjectMapper.Map<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(pageList);
|
||||||
return null;
|
return pageResultDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
using SJZY.Expand.ABP.Core.Localization;
|
using SJZY.Expand.ABP.Core.Localization;
|
||||||
using SJZY.Expand.ABP.Core.PublicMethords;
|
using SJZY.Expand.ABP.Core.PublicMethords;
|
||||||
using SJZY.Track.Application.Dtos.TrackPull;
|
using SJZY.Track.Application.Dtos.TrackPull;
|
||||||
using SJZY.Track.Application.Dtos.TrackTemplates;
|
|
||||||
using SJZY.Track.Application.Localization;
|
using SJZY.Track.Application.Localization;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
|
|||||||
@ -0,0 +1,38 @@
|
|||||||
|
using Microsoft.Extensions.Localization;
|
||||||
|
using SJZY.Track.Application.Localization;
|
||||||
|
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||||
|
using SJZY.Track.Domain.Dtos.Common;
|
||||||
|
using SJZY.Track.Domain.Dtos.TrackPush;
|
||||||
|
using Volo.Abp.DependencyInjection;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Application.Services.TrackPush;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹推送
|
||||||
|
/// </summary>
|
||||||
|
[ApiExplorerSettings(GroupName = "轨迹推送")]
|
||||||
|
[Route("/Track/PushConfig")]
|
||||||
|
public class TrackPushService : ApplicationService, ITransientDependency
|
||||||
|
{
|
||||||
|
private readonly IStringLocalizer<TrackLocalizationResource> _stringLocalizer;
|
||||||
|
private readonly ITrackPushConfigRepository _trackPushConfigRepository;
|
||||||
|
|
||||||
|
public TrackPushService(
|
||||||
|
IStringLocalizer<TrackLocalizationResource> stringLocalizer,
|
||||||
|
ITrackPushConfigRepository trackPushConfigRepository)
|
||||||
|
{
|
||||||
|
_stringLocalizer = stringLocalizer;
|
||||||
|
_trackPushConfigRepository = trackPushConfigRepository;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 轨迹推送配置列表
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="input"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPost("GetPage")]
|
||||||
|
public async Task<UnifyPageResultDto<GetTrackPushConfigPageOutputVO>> GetPageAsync([FromBody] KeywordsInputVO input)
|
||||||
|
{
|
||||||
|
return await _trackPushConfigRepository.GetPageAsync(input);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,5 +1,9 @@
|
|||||||
namespace SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
using SJZY.Track.Domain.Dtos.Common;
|
||||||
|
using SJZY.Track.Domain.Dtos.TrackPush;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||||
|
|
||||||
public interface ITrackPushConfigRepository : IBasicRepository<TrackPushConfigEntity>
|
public interface ITrackPushConfigRepository : IBasicRepository<TrackPushConfigEntity>
|
||||||
{
|
{
|
||||||
|
Task<UnifyPageResultDto<GetTrackPushConfigPageOutputVO>> GetPageAsync(KeywordsInputVO input);
|
||||||
}
|
}
|
||||||
@ -40,16 +40,63 @@ namespace SJZY.Track.Domain.Dtos.Order
|
|||||||
public int Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 订单类型
|
/// 订单类型id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string OrderType { get; set; }
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
public string OrderNumber { get; set; }
|
/// 订单号
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderNumber { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹模版
|
/// 轨迹模版
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string TrackTemplateNames { get; set; }
|
public string? TrackTemplateNames { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户简称
|
||||||
|
/// </summary>
|
||||||
|
public string? CustomerShortName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户代码
|
||||||
|
/// </summary>
|
||||||
|
public string? CustomerCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 订单明细(json)
|
||||||
|
/// </summary>
|
||||||
|
public string? OrderDetails { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹内容
|
||||||
|
/// </summary>
|
||||||
|
public string? NewestTrackContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹内容英文
|
||||||
|
/// </summary>
|
||||||
|
public string? NewestTrackEnContent { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 最新轨迹发生地
|
||||||
|
/// </summary>
|
||||||
|
public string? NewestTrackPlace { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 是否完结
|
||||||
|
/// </summary>
|
||||||
|
public bool IsFinish { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统
|
||||||
|
/// </summary>
|
||||||
|
public string SubSystem { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,7 @@ public class GetTrackPullConfigPageOutputVO
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public DateTime? CreateTime { get; set; }
|
public DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
public int? Id { get; set; }
|
public int Id { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 服务商名称
|
/// 服务商名称
|
||||||
|
|||||||
@ -0,0 +1,26 @@
|
|||||||
|
namespace SJZY.Track.Domain.Dtos.TrackPush;
|
||||||
|
|
||||||
|
public class GetTrackPushConfigPageOutputVO
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 创建时间
|
||||||
|
/// </summary>
|
||||||
|
public DateTime? CreateTime { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 客户名称
|
||||||
|
/// </summary>
|
||||||
|
public string CustomName { get; set; }
|
||||||
|
|
||||||
|
public int Id { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 子系统名称
|
||||||
|
/// </summary>
|
||||||
|
public string SubSystem { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 模板名称
|
||||||
|
/// </summary>
|
||||||
|
public string TrackTemplate { get; set; }
|
||||||
|
}
|
||||||
@ -1,6 +1,10 @@
|
|||||||
using SJZY.Track.Domain;
|
using Nest;
|
||||||
|
using SJZY.Track.Domain;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
using SJZY.Track.Domain.Dtos.Order;
|
using SJZY.Track.Domain.Dtos.Order;
|
||||||
|
using SJZY.Track.Domain.VEntities;
|
||||||
|
using SJZY.Track.Repository.VData.Entitys;
|
||||||
|
|
||||||
namespace SJZY.Track.Infrastructure.Repositories;
|
namespace SJZY.Track.Infrastructure.Repositories;
|
||||||
|
|
||||||
@ -81,29 +85,47 @@ public class OrderRepository : BasicRepository<OrderEntity>, IOrderRepository, I
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public async Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input)
|
public async Task<UnifyPageResultDto<TrackOrderVO>> GetPageTrackOrder(GetPageTrackOrderInputVO input)
|
||||||
{
|
{
|
||||||
//await Context.Queryable<OrderEntity, OrderTemplateEntity>((a,b)= );
|
var pageList = await Context.Queryable<OrderEntity>()
|
||||||
//await Context.Queryable<OrderEntity, OrderTemplateEntity>((a, b) => new JoinQueryInfos(JoinType.Left, a.Id==b.OrderId))
|
.LeftJoin<VExternalSubjectEntity>((a, b) => a.CustomId==b.Id)
|
||||||
// .GroupBy((a, b) => new { a.Id })
|
.LeftJoin<VSystemEntity>((a, b, c) => a.SubSystemId==c.Id)
|
||||||
// .Select((a, b) => new TrackOrderVO
|
.Select((a, b, c) => new TrackOrderVO
|
||||||
// {
|
{
|
||||||
// Id=a.Id,
|
Id = a.Id,
|
||||||
// OrderNumber=a.OrderNo,
|
OrderNumber= a.OrderNo,
|
||||||
// TrackTemplateNames = SqlFunc.AggregateConcat(b.)
|
OrderType = a.OrderType,
|
||||||
|
CustomerShortName= b.Abbreviation,
|
||||||
|
CustomerCode= b.Code,
|
||||||
|
TrackTemplateNames = "",
|
||||||
|
OrderDetails="",
|
||||||
|
NewestTrackContent= a.LatestTrackContent,
|
||||||
|
NewestTrackEnContent= a.LatestTrackEnContent,
|
||||||
|
NewestTrackPlace= a.LatestTrackPlace,
|
||||||
|
IsFinish=a.IsCompleted,
|
||||||
|
CreateTime=a.CreateTime,
|
||||||
|
SubSystem= c.CnName
|
||||||
|
})
|
||||||
|
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
||||||
|
|
||||||
|
if (pageList.List.Any())
|
||||||
|
{
|
||||||
|
var orderIds = pageList.List.Select(a => a.Id);
|
||||||
|
//查询轨迹模版
|
||||||
|
|
||||||
|
|
||||||
// }).ToPageListAsync(input.PageIndex, input.PageSize);
|
var trackTemplateList = await Context.Queryable<OrderTemplateEntity>()
|
||||||
|
.LeftJoin<TrackTemplateEntity>((a, b) => a.TrackTemplateId==b.Id)
|
||||||
|
.Where((a, b) => orderIds.Contains(a.OrderId))
|
||||||
|
.Select((a, b) => new { OrderId = a.OrderId, Name = b.Name })
|
||||||
|
.ToListAsync();
|
||||||
|
|
||||||
//await Context.Queryable<OrderEntity>()
|
pageList.List.ForEach(a =>
|
||||||
// .Includes(a => a.OrderTemplates)
|
{
|
||||||
// .Select(a => new TrackOrderVO
|
var templateListOfOrderId = trackTemplateList.Where(b => b.OrderId== a.Id);
|
||||||
// {
|
a.TrackTemplateNames = templateListOfOrderId.Select(c => c.Name).JoinAsString(",");
|
||||||
// Id=a.Id,
|
});
|
||||||
// OrderNumber=a.OrderNo,
|
}
|
||||||
// TrackTemplateNames = SqlFunc.Subqueryable<OrderTemplateEntity>().Where(z=>z.OrderId==a.Id).SelectStringJoin(z=>z.)
|
|
||||||
// })
|
|
||||||
// .ToPageListAsync(input.PageIndex, input.PageSize);
|
|
||||||
|
|
||||||
return null;
|
return pageList;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@ -1,8 +1,37 @@
|
|||||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||||
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
|
using SJZY.Track.Domain.Dtos.Common;
|
||||||
|
using SJZY.Track.Domain.Dtos.TrackPush;
|
||||||
|
using SJZY.Track.Domain.VEntities;
|
||||||
|
using SJZY.Track.Repository.VData.Entitys;
|
||||||
|
|
||||||
namespace SJZY.Track.Infrastructure.Repositories;
|
namespace SJZY.Track.Infrastructure.Repositories;
|
||||||
|
|
||||||
public class TrackPushConfigRepository : BasicRepository<TrackPushConfigEntity>, ITrackPushConfigRepository,
|
public class TrackPushConfigRepository : BasicRepository<TrackPushConfigEntity>, ITrackPushConfigRepository,
|
||||||
IScopedDependency
|
IScopedDependency
|
||||||
{
|
{
|
||||||
|
public async Task<UnifyPageResultDto<GetTrackPushConfigPageOutputVO>> GetPageAsync(KeywordsInputVO input)
|
||||||
|
{
|
||||||
|
return await AsQueryable()
|
||||||
|
.LeftJoin<VSystemEntity>((trackPush, system) => trackPush.SubSystemId == system.Id && !system.IsDeleted)
|
||||||
|
.LeftJoin<VExternalSubjectEntity>((trackPush, system, externalSubject) => trackPush.CustomId == externalSubject.Id && !externalSubject.IsDeleted)
|
||||||
|
.LeftJoin<TrackTemplateEntity>((trackPush, system, externalSubject, template) => SqlFunc.SplitIn(trackPush.TrackTemplateId, template.Id.ToString()) && !template.IsDeleted)
|
||||||
|
.Filter(null, true)
|
||||||
|
.Where(trackPush => !trackPush.IsDeleted)
|
||||||
|
.WhereIF(input.SubSystemId.HasValue, trackPush => trackPush.SubSystemId == input.SubSystemId)
|
||||||
|
.WhereIF(!input.Keywords.IsNullOrWhiteSpace(), (trackPush, system, externalSubject, template) => externalSubject.Name.Contains(input.Keywords) || template.Name.Contains(input.Keywords))
|
||||||
|
.OrderByDescending(trackPush => trackPush.CreateTime)
|
||||||
|
.Select((trackPush, system, externalSubject, template) => new GetTrackPushConfigPageOutputVO
|
||||||
|
{
|
||||||
|
Id = trackPush.Id,
|
||||||
|
SubSystem = system.CnName,
|
||||||
|
CustomName = externalSubject.Abbreviation,
|
||||||
|
TrackTemplate = SqlFunc.Subqueryable<TrackTemplateEntity>()
|
||||||
|
.Where(template => SqlFunc.SplitIn(trackPush.TrackTemplateId, template.Id.ToString()) && !template.IsDeleted)
|
||||||
|
.SelectStringJoin(template => template.Name, ","),
|
||||||
|
CreateTime = trackPush.CreateTime
|
||||||
|
})
|
||||||
|
.Distinct()
|
||||||
|
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user