2023-12-11 09:55:12 +08:00
|
|
|
|
using Volo.Abp.Application.Dtos;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Yi.Framework.Ddd.Application.Contracts
|
|
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 分页查询请求DTO,包含时间范围和自定义排序功能
|
|
|
|
|
|
/// </summary>
|
2023-12-11 09:55:12 +08:00
|
|
|
|
public class PagedAllResultRequestDto : PagedAndSortedResultRequestDto, IPagedAllResultRequestDto
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// 查询开始时间
|
2023-12-11 09:55:12 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public DateTime? StartTime { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// 查询结束时间
|
2023-12-11 09:55:12 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public DateTime? EndTime { get; set; }
|
2024-08-18 10:48:54 +08:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// 排序列名
|
2024-08-18 10:48:54 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? OrderByColumn { get; set; }
|
2024-09-04 16:35:21 +08:00
|
|
|
|
|
2024-08-18 10:48:54 +08:00
|
|
|
|
/// <summary>
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// 排序方向(ascending/descending)
|
2024-08-18 10:48:54 +08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
public string? IsAsc { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// 是否为升序排序
|
2024-08-18 10:48:54 +08:00
|
|
|
|
/// </summary>
|
2025-02-23 03:06:06 +08:00
|
|
|
|
public bool IsAscending => string.Equals(IsAsc, "ascending", StringComparison.OrdinalIgnoreCase);
|
2024-09-04 16:35:21 +08:00
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
private string? _sorting;
|
2024-09-04 16:35:21 +08:00
|
|
|
|
|
2025-02-23 03:06:06 +08:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 排序表达式
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public override string? Sorting
|
2024-08-18 10:48:54 +08:00
|
|
|
|
{
|
|
|
|
|
|
get
|
|
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
if (!string.IsNullOrWhiteSpace(OrderByColumn))
|
2024-08-18 10:48:54 +08:00
|
|
|
|
{
|
2025-02-23 03:06:06 +08:00
|
|
|
|
return $"{OrderByColumn} {(IsAscending ? "ASC" : "DESC")}";
|
2024-08-18 10:48:54 +08:00
|
|
|
|
}
|
2025-02-23 03:06:06 +08:00
|
|
|
|
return _sorting;
|
2024-08-18 10:48:54 +08:00
|
|
|
|
}
|
|
|
|
|
|
set => _sorting = value;
|
|
|
|
|
|
}
|
2023-12-11 09:55:12 +08:00
|
|
|
|
}
|
2024-09-04 16:35:21 +08:00
|
|
|
|
}
|