Merge branch 'S01-轨迹中台' into test
This commit is contained in:
commit
8b570a7462
@ -8,6 +8,7 @@ public class OrderNoInfo
|
|||||||
/// 订单类型,必填
|
/// 订单类型,必填
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Required]
|
[Required]
|
||||||
|
[Range(1, int.MaxValue)]
|
||||||
public int OrderType { get; set; }
|
public int OrderType { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
|
|
||||||
public class UpdateOrderInput : OrderNoInfo
|
public class UpdateOrderInput : OrderNoInfo
|
||||||
{
|
{
|
||||||
@ -15,30 +17,38 @@ public class UpdateOrderInput : OrderNoInfo
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 目的国家,必填
|
/// 目的国家,必填
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ArrivalCountry { get; set; }
|
[Required]
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string ArrivalCountry { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 起运国家,必填
|
/// 起运国家,必填
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string LeaveCountry { get; set; }
|
[Required]
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string LeaveCountry { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 目的城市,必填
|
/// 目的城市,必填
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string ArrivalCity { get; set; }
|
[Required]
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string ArrivalCity { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 起运城市,必填
|
/// 起运城市,必填
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string LeaveCity { get; set; }
|
[Required]
|
||||||
|
[MaxLength(200)]
|
||||||
|
public string LeaveCity { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 订单模板(传全量)
|
/// 订单模板(传全量)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<OrderTemplateInfo> Templates { get; set; } = new();
|
public List<OrderTemplateInfo>? Templates { get; set; } = new();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 订单航班信息
|
/// 订单航班信息
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public List<OrderFligthInfo> FlightInfos { get; set; } = new();
|
public List<OrderFlightInfo>? FlightInfos { get; set; } = new();
|
||||||
}
|
}
|
||||||
@ -24,7 +24,7 @@ public class OrderTemplateInfo
|
|||||||
public int? ServiceProviderId { get; set; }
|
public int? ServiceProviderId { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OrderFligthInfo
|
public class OrderFlightInfo
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 航班号
|
/// 航班号
|
||||||
|
|||||||
@ -1,24 +1,32 @@
|
|||||||
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
|
||||||
|
namespace SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
|
|
||||||
public class UpsertTrackInput : OrderNoInfo
|
public class UpsertTrackInput : OrderNoInfo
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹内容代码
|
/// 轨迹内容代码
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[MaxLength(50)]
|
||||||
public string TrackCode { get; set; } = null!;
|
public string TrackCode { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹发生地
|
/// 轨迹发生地
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
|
[MaxLength(200)]
|
||||||
public string TrackPlace { get; set; } = null!;
|
public string TrackPlace { get; set; } = null!;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹发生时间
|
/// 轨迹发生时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public DateTime TrackTime { get; set; }
|
public DateTime TrackTime { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹发生时区
|
/// 轨迹发生时区
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[Required]
|
||||||
public float TraceTimeZone { get; set; }
|
public float TraceTimeZone { get; set; }
|
||||||
}
|
}
|
||||||
@ -1,10 +1,8 @@
|
|||||||
using AutoMapper;
|
using AutoMapper;
|
||||||
using AutoMapper.Internal.Mappers;
|
|
||||||
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
using SJZY.Track.Application.Contract.Dtos.ProvideServices;
|
||||||
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
using SJZY.Track.Domain.Aggregates.OrderAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackDetailsAggregate;
|
||||||
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,7 +16,7 @@ public class OrderAutoMapperProfile : Profile
|
|||||||
CreateMap<OrderTemplateInfo, OrderTemplateEntity>(MemberList.None)
|
CreateMap<OrderTemplateInfo, OrderTemplateEntity>(MemberList.None)
|
||||||
.ForMember(dest => dest.ServiceProviderId, opt => opt.MapFrom(m => m.ServiceProviderId ?? 0))
|
.ForMember(dest => dest.ServiceProviderId, opt => opt.MapFrom(m => m.ServiceProviderId ?? 0))
|
||||||
.ForMember(dest => dest.TrackTemplateId, opt => opt.MapFrom(m => m.TemplateId));
|
.ForMember(dest => dest.TrackTemplateId, opt => opt.MapFrom(m => m.TemplateId));
|
||||||
CreateMap<OrderFligthInfo, OrderFlightEntity>(MemberList.None);
|
CreateMap<OrderFlightInfo, OrderFlightEntity>(MemberList.None);
|
||||||
|
|
||||||
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
|
CreateMap<GetPageTrackOrderInput, GetPageTrackOrderInputVO>(MemberList.None);
|
||||||
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
|
CreateMap<TrackOrderVO, TrackOrderDto>(MemberList.None);
|
||||||
|
|||||||
@ -43,8 +43,8 @@ public class OrderService : ApplicationService
|
|||||||
|
|
||||||
order = ObjectMapper.Map<UpsertOrderInput, OrderEntity>(input);
|
order = ObjectMapper.Map<UpsertOrderInput, OrderEntity>(input);
|
||||||
order.SubSystemId = 1;
|
order.SubSystemId = 1;
|
||||||
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates);
|
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates!);
|
||||||
order.OrderFlights = ObjectMapper.Map<List<OrderFligthInfo>, List<OrderFlightEntity>>(input.FlightInfos);
|
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos!);
|
||||||
|
|
||||||
await _orderRepository.CreateOrderAsync(order);
|
await _orderRepository.CreateOrderAsync(order);
|
||||||
return "创建成功";
|
return "创建成功";
|
||||||
@ -94,6 +94,7 @@ public class OrderService : ApplicationService
|
|||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region 轨迹订单列表
|
#region 轨迹订单列表
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取分页的轨迹订单
|
/// 获取分页的轨迹订单
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -108,13 +109,14 @@ public class OrderService : ApplicationService
|
|||||||
ObjectMapper.Map<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(pageList);
|
ObjectMapper.Map<UnifyPageResultDto<TrackOrderVO>, UnifyPageResultDto<TrackOrderDto>>(pageList);
|
||||||
return pageResultDto;
|
return pageResultDto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private async Task UpdateOrderAsync(UpdateOrderInput input, OrderEntity order)
|
private async Task UpdateOrderAsync(UpdateOrderInput input, OrderEntity order)
|
||||||
{
|
{
|
||||||
order = ObjectMapper.Map(input, order);
|
order = ObjectMapper.Map(input, order);
|
||||||
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates);
|
order.OrderTemplates = ObjectMapper.Map<List<OrderTemplateInfo>, List<OrderTemplateEntity>>(input.Templates);
|
||||||
order.OrderFlights = ObjectMapper.Map<List<OrderFligthInfo>, List<OrderFlightEntity>>(input.FlightInfos);
|
order.OrderFlights = ObjectMapper.Map<List<OrderFlightInfo>, List<OrderFlightEntity>>(input.FlightInfos);
|
||||||
await _orderRepository.UpdateOrderAsync(order);
|
await _orderRepository.UpdateOrderAsync(order);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,5 @@
|
|||||||
using System.Linq.Expressions;
|
using System;
|
||||||
|
using System.Linq.Expressions;
|
||||||
using Microsoft.Extensions.Localization;
|
using Microsoft.Extensions.Localization;
|
||||||
using SJZY.Expand.ABP.Core.Localization;
|
using SJZY.Expand.ABP.Core.Localization;
|
||||||
using SJZY.Expand.ABP.Core.PublicMethords;
|
using SJZY.Expand.ABP.Core.PublicMethords;
|
||||||
@ -211,18 +212,22 @@ public class TrackPullService : ApplicationService, ITransientDependency
|
|||||||
{
|
{
|
||||||
Expression<Func<TrackPullContentConfigEntity, bool>> isContentAnyExp = x => x.Id != input.Id && x.TrackPullConfigId == input.TrackPullConfigId;
|
Expression<Func<TrackPullContentConfigEntity, bool>> isContentAnyExp = x => x.Id != input.Id && x.TrackPullConfigId == input.TrackPullConfigId;
|
||||||
|
|
||||||
var trackKeywordExp = Expressionable.Create<TrackPullContentConfigEntity>()
|
if (await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentId == input.TrackContentId)))
|
||||||
.And(x => x.TrackContentId == input.TrackContentId
|
|
||||||
|| (input.TrackContentCodeValue != null && x.TrackContentCodeValue == input.TrackContentCodeValue)
|
|
||||||
|| (input.TrackStatusValue != null && x.TrackStatusValue == input.TrackStatusValue)
|
|
||||||
|| (input.TrackContentValue != null && x.TrackContentValue == input.TrackContentValue));
|
|
||||||
|
|
||||||
input.TrackKeywords?.ForEach(item => { trackKeywordExp.Or(x => SqlFunc.SplitIn(x.TrackKeyword, item)); });
|
|
||||||
|
|
||||||
isContentAnyExp = isContentAnyExp.And(trackKeywordExp.ToExpression());
|
|
||||||
|
|
||||||
if (await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp))
|
|
||||||
throw new BusinessException(message: _stringLocalizer["IsTrackPullContentAny"]);
|
throw new BusinessException(message: _stringLocalizer["IsTrackPullContentAny"]);
|
||||||
|
else if (!input.TrackContentCodeValue.IsNullOrWhiteSpace() && await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentCodeValue == input.TrackContentCodeValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPullContentCodeValueAny"]);
|
||||||
|
else if (!input.TrackStatusValue.IsNullOrWhiteSpace() && await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackStatusValue == input.TrackStatusValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPullContentStatusValueAny"]);
|
||||||
|
else if (!input.TrackContentValue.IsNullOrWhiteSpace() && await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentValue == input.TrackContentValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPullContentValueAny"]);
|
||||||
|
else if (!input.TrackKeywords.IsNullOrEmpty())
|
||||||
|
{
|
||||||
|
Expression<Func<TrackPullContentConfigEntity, bool>> trackKeywordExp = _ => true;
|
||||||
|
input.TrackKeywords!.ForEach(item => { trackKeywordExp = trackKeywordExp.Or(x => SqlFunc.SplitIn(x.TrackKeyword, item)); });
|
||||||
|
|
||||||
|
if (await _trackPullConfigRepository.IsContentAnyAsync(isContentAnyExp.And(trackKeywordExp)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPullContentKeywordsAny"]);
|
||||||
|
}
|
||||||
|
|
||||||
var oldTrackPullContentEntity = await _trackPullConfigRepository.GetContentByIdAsync(input.Id) ??
|
var oldTrackPullContentEntity = await _trackPullConfigRepository.GetContentByIdAsync(input.Id) ??
|
||||||
throw new BusinessException(message: _stringLocalizer["NotFindData"]);
|
throw new BusinessException(message: _stringLocalizer["NotFindData"]);
|
||||||
|
|||||||
@ -111,7 +111,7 @@ public class TrackPushService : ApplicationService, ITransientDependency
|
|||||||
if (input.Options == OptionTypeNoNull.修改) isAnyExp = isAnyExp.And(x => x.Id != input.Id);
|
if (input.Options == OptionTypeNoNull.修改) isAnyExp = isAnyExp.And(x => x.Id != input.Id);
|
||||||
|
|
||||||
var trackTemplateIdExp = Expressionable.Create<TrackPushConfigEntity>();
|
var trackTemplateIdExp = Expressionable.Create<TrackPushConfigEntity>();
|
||||||
foreach (var trackTemplateId in input.TrackTemplateIds) { trackTemplateIdExp.Or(x => SqlFunc.SplitIn(x.TrackTemplateId, trackTemplateId.ToString())); }
|
input.TrackTemplateIds?.ForEach(item => { trackTemplateIdExp.Or(x => SqlFunc.SplitIn(x.TrackTemplateId, item.ToString())); });
|
||||||
|
|
||||||
isAnyExp = isAnyExp.And(trackTemplateIdExp.ToExpression());
|
isAnyExp = isAnyExp.And(trackTemplateIdExp.ToExpression());
|
||||||
|
|
||||||
@ -202,17 +202,19 @@ public class TrackPushService : ApplicationService, ITransientDependency
|
|||||||
{
|
{
|
||||||
if (input.Options != OptionTypeNoNull.删除)
|
if (input.Options != OptionTypeNoNull.删除)
|
||||||
{
|
{
|
||||||
Expression<Func<TrackPushContentConfigEntity, bool>> isContentAnyExp = x =>
|
Expression<Func<TrackPushContentConfigEntity, bool>> isContentAnyExp = x => x.TrackPushConfigId == input.TrackPushConfigId;
|
||||||
x.TrackPushConfigId == input.TrackPushConfigId
|
|
||||||
&& (x.TrackContentId == input.TrackContentId
|
|
||||||
|| (input.TrackContentCodeValue != null && x.TrackContentCodeValue == input.TrackContentCodeValue)
|
|
||||||
|| (input.TrackStatusValue != null && x.TrackStatusValue == input.TrackStatusValue)
|
|
||||||
|| (input.TrackContentValue != null && x.TrackContentValue == input.TrackContentValue)
|
|
||||||
|| (input.TrackEnContentValue != null && x.TrackEnContentValue == input.TrackEnContentValue));
|
|
||||||
if (input.Options == OptionTypeNoNull.修改) isContentAnyExp = isContentAnyExp.And(x => x.Id != input.Id);
|
if (input.Options == OptionTypeNoNull.修改) isContentAnyExp = isContentAnyExp.And(x => x.Id != input.Id);
|
||||||
|
|
||||||
if (await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp))
|
if (await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentId == input.TrackContentId)))
|
||||||
throw new BusinessException(message: _stringLocalizer["IsTrackPushContentAny"]);
|
throw new BusinessException(message: _stringLocalizer["IsTrackPushContentAny"]);
|
||||||
|
else if (!input.TrackContentCodeValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentCodeValue == input.TrackContentCodeValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPushContentCodeValueAny"]);
|
||||||
|
else if (!input.TrackStatusValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackStatusValue == input.TrackStatusValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPushContentStatusValueAny"]);
|
||||||
|
else if (!input.TrackContentValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackContentValue == input.TrackContentValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPushContentValueAny"]);
|
||||||
|
else if (!input.TrackEnContentValue.IsNullOrWhiteSpace() && await _trackPushConfigRepository.IsContentAnyAsync(isContentAnyExp.And(x => x.TrackEnContentValue == input.TrackEnContentValue)))
|
||||||
|
throw new BusinessException(message: _stringLocalizer["IsTrackPushEnContentValueAny"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (input.Options)
|
switch (input.Options)
|
||||||
|
|||||||
@ -47,7 +47,7 @@ public class GetTrackPushContentDetailOutputVO
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 轨迹推送配置id
|
/// 轨迹推送配置id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public int TrackPullConfigId { get; set; }
|
public int TrackPushConfigId { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 推送轨迹状态
|
/// 推送轨迹状态
|
||||||
|
|||||||
@ -11,4 +11,9 @@ public enum EnumPropertyEnums
|
|||||||
/// 节点
|
/// 节点
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Description("ServiceNode")] 节点,
|
[Description("ServiceNode")] 节点,
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 单号类型
|
||||||
|
/// </summary>
|
||||||
|
[Description("TrackOrderType")] 单号类型
|
||||||
}
|
}
|
||||||
@ -1,9 +1,11 @@
|
|||||||
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
using SJZY.Expand.ABP.Core.PublicMethords;
|
||||||
|
using SJZY.Track.Domain.Aggregates.TrackContentAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackPullAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackPushAggregate;
|
||||||
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
using SJZY.Track.Domain.Aggregates.TrackTemplateAggregate;
|
||||||
using SJZY.Track.Domain.Dtos.Common;
|
using SJZY.Track.Domain.Dtos.Common;
|
||||||
using SJZY.Track.Domain.Dtos.TrackPush;
|
using SJZY.Track.Domain.Dtos.TrackPush;
|
||||||
|
using SJZY.Track.Domain.Enums;
|
||||||
using SJZY.Track.Domain.VEntities;
|
using SJZY.Track.Domain.VEntities;
|
||||||
using SJZY.Track.Repository.VData.Entitys;
|
using SJZY.Track.Repository.VData.Entitys;
|
||||||
using System.Linq.Expressions;
|
using System.Linq.Expressions;
|
||||||
@ -44,12 +46,14 @@ public class TrackPushConfigRepository : BasicRepository<TrackPushConfigEntity>,
|
|||||||
{
|
{
|
||||||
return await Context.Queryable<TrackPushContentConfigEntity>()
|
return await Context.Queryable<TrackPushContentConfigEntity>()
|
||||||
.InnerJoin<TrackContentEntity>((pushContent, trackContent) => pushContent.TrackContentId == trackContent.Id)
|
.InnerJoin<TrackContentEntity>((pushContent, trackContent) => pushContent.TrackContentId == trackContent.Id)
|
||||||
|
.LeftJoin<VEnumValueInfoEntity>((pushContent, trackContent, enumValue) => enumValue.Property == EnumPropertyEnums.单号类型.GetDescription() && pushContent.OrderNoType == enumValue.Enumkey && !enumValue.IsDeleted)
|
||||||
.Where(pushContent => pushContent.TrackPushConfigId == input.TrackPushConfigId)
|
.Where(pushContent => pushContent.TrackPushConfigId == input.TrackPushConfigId)
|
||||||
.OrderBy((pushContent, trackContent) => pushContent.Sort)
|
.OrderBy(pushContent => pushContent.Sort)
|
||||||
.Select((pushContent, trackContent) => new GetTrackPushContentPageOutputVO
|
.Select((pushContent, trackContent, enumValue) => new GetTrackPushContentPageOutputVO
|
||||||
{
|
{
|
||||||
Id = pushContent.Id,
|
Id = pushContent.Id,
|
||||||
Sort = pushContent.Sort
|
Sort = pushContent.Sort,
|
||||||
|
OrderNoType = enumValue.Disp
|
||||||
}, true)
|
}, true)
|
||||||
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
.ToPagedListAsync(input.PageIndex, input.PageSize);
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user