feat: 列表接口分页排序与验证

This commit is contained in:
2025-12-02 11:13:14 +08:00
parent 92e4f8caa4
commit e8777faf71
19 changed files with 110 additions and 41 deletions

View File

@@ -48,8 +48,8 @@ public sealed class DeliveriesController : BaseApiController
/// </summary>
[HttpGet]
[PermissionAuthorize("delivery:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<DeliveryOrderDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<DeliveryOrderDto>>> List(
[ProducesResponseType(typeof(ApiResponse<PagedResult<DeliveryOrderDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<PagedResult<DeliveryOrderDto>>> List(
[FromQuery] long? orderId,
[FromQuery] DeliveryStatus? status,
[FromQuery] int page = 1,
@@ -68,7 +68,7 @@ public sealed class DeliveriesController : BaseApiController
SortDescending = sortDesc
}, cancellationToken);
return ApiResponse<IReadOnlyList<DeliveryOrderDto>>.Ok(result);
return ApiResponse<PagedResult<DeliveryOrderDto>>.Ok(result);
}
/// <summary>

View File

@@ -49,7 +49,7 @@ public sealed class MerchantsController : BaseApiController
[HttpGet]
[PermissionAuthorize("merchant:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<MerchantDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<MerchantDto>>> List(
public async Task<ApiResponse<PagedResult<MerchantDto>>> List(
[FromQuery] MerchantStatus? status,
[FromQuery] int page = 1,
[FromQuery] int pageSize = 20,
@@ -65,7 +65,7 @@ public sealed class MerchantsController : BaseApiController
SortBy = sortBy,
SortDescending = sortDesc
}, cancellationToken);
return ApiResponse<IReadOnlyList<MerchantDto>>.Ok(result);
return ApiResponse<PagedResult<MerchantDto>>.Ok(result);
}
/// <summary>

View File

@@ -49,8 +49,8 @@ public sealed class OrdersController : BaseApiController
/// </summary>
[HttpGet]
[PermissionAuthorize("order:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<OrderDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<OrderDto>>> List(
[ProducesResponseType(typeof(ApiResponse<PagedResult<OrderDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<PagedResult<OrderDto>>> List(
[FromQuery] long? storeId,
[FromQuery] OrderStatus? status,
[FromQuery] PaymentStatus? paymentStatus,
@@ -73,7 +73,7 @@ public sealed class OrdersController : BaseApiController
SortDescending = sortDesc
}, cancellationToken);
return ApiResponse<IReadOnlyList<OrderDto>>.Ok(result);
return ApiResponse<PagedResult<OrderDto>>.Ok(result);
}
/// <summary>

View File

@@ -48,8 +48,8 @@ public sealed class PaymentsController : BaseApiController
/// </summary>
[HttpGet]
[PermissionAuthorize("payment:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<PaymentDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<PaymentDto>>> List(
[ProducesResponseType(typeof(ApiResponse<PagedResult<PaymentDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<PagedResult<PaymentDto>>> List(
[FromQuery] long? orderId,
[FromQuery] PaymentStatus? status,
[FromQuery] int page = 1,
@@ -68,7 +68,7 @@ public sealed class PaymentsController : BaseApiController
SortDescending = sortDesc
}, cancellationToken);
return ApiResponse<IReadOnlyList<PaymentDto>>.Ok(result);
return ApiResponse<PagedResult<PaymentDto>>.Ok(result);
}
/// <summary>

View File

@@ -48,8 +48,8 @@ public sealed class ProductsController : BaseApiController
/// </summary>
[HttpGet]
[PermissionAuthorize("product:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<ProductDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<ProductDto>>> List(
[ProducesResponseType(typeof(ApiResponse<PagedResult<ProductDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<PagedResult<ProductDto>>> List(
[FromQuery] long? storeId,
[FromQuery] long? categoryId,
[FromQuery] ProductStatus? status,
@@ -70,7 +70,7 @@ public sealed class ProductsController : BaseApiController
SortDescending = sortDesc
}, cancellationToken);
return ApiResponse<IReadOnlyList<ProductDto>>.Ok(result);
return ApiResponse<PagedResult<ProductDto>>.Ok(result);
}
/// <summary>

View File

@@ -48,8 +48,8 @@ public sealed class StoresController : BaseApiController
/// </summary>
[HttpGet]
[PermissionAuthorize("store:read")]
[ProducesResponseType(typeof(ApiResponse<IReadOnlyList<StoreDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<IReadOnlyList<StoreDto>>> List(
[ProducesResponseType(typeof(ApiResponse<PagedResult<StoreDto>>), StatusCodes.Status200OK)]
public async Task<ApiResponse<PagedResult<StoreDto>>> List(
[FromQuery] long? merchantId,
[FromQuery] StoreStatus? status,
[FromQuery] int page = 1,
@@ -68,7 +68,7 @@ public sealed class StoresController : BaseApiController
SortDescending = sortDesc
}, cancellationToken);
return ApiResponse<IReadOnlyList<StoreDto>>.Ok(result);
return ApiResponse<PagedResult<StoreDto>>.Ok(result);
}
/// <summary>