完成门店管理后端接口与任务

This commit is contained in:
2026-01-01 07:26:14 +08:00
parent dc9f6136d6
commit fc55003d3d
131 changed files with 15333 additions and 201 deletions

View File

@@ -0,0 +1,30 @@
using MediatR;
using TakeoutSaaS.Application.App.Stores.Dto;
namespace TakeoutSaaS.Application.App.Stores.Queries;
/// <summary>
/// 费用预览计算查询。
/// </summary>
public sealed record CalculateStoreFeeQuery : IRequest<StoreFeeCalculationResultDto>
{
/// <summary>
/// 门店 ID。
/// </summary>
public long StoreId { get; init; }
/// <summary>
/// 商品金额。
/// </summary>
public decimal OrderAmount { get; init; }
/// <summary>
/// 商品种类数量。
/// </summary>
public int? ItemCount { get; init; }
/// <summary>
/// 商品列表。
/// </summary>
public IReadOnlyList<StoreFeeCalculationItemDto> Items { get; init; } = [];
}

View File

@@ -0,0 +1,25 @@
using MediatR;
using TakeoutSaaS.Application.App.Stores.Dto;
namespace TakeoutSaaS.Application.App.Stores.Queries;
/// <summary>
/// 配送范围检测查询。
/// </summary>
public sealed record CheckStoreDeliveryZoneQuery : IRequest<StoreDeliveryCheckResultDto>
{
/// <summary>
/// 门店 ID。
/// </summary>
public long StoreId { get; init; }
/// <summary>
/// 经度。
/// </summary>
public double Longitude { get; init; }
/// <summary>
/// 纬度。
/// </summary>
public double Latitude { get; init; }
}

View File

@@ -0,0 +1,15 @@
using MediatR;
using TakeoutSaaS.Application.App.Stores.Dto;
namespace TakeoutSaaS.Application.App.Stores.Queries;
/// <summary>
/// 检查门店资质完整性查询。
/// </summary>
public sealed record CheckStoreQualificationsQuery : IRequest<StoreQualificationCheckResultDto>
{
/// <summary>
/// 门店 ID。
/// </summary>
public long StoreId { get; init; }
}

View File

@@ -0,0 +1,15 @@
using MediatR;
using TakeoutSaaS.Application.App.Stores.Dto;
namespace TakeoutSaaS.Application.App.Stores.Queries;
/// <summary>
/// 获取门店费用配置查询。
/// </summary>
public sealed record GetStoreFeeQuery : IRequest<StoreFeeDto?>
{
/// <summary>
/// 门店 ID。
/// </summary>
public long StoreId { get; init; }
}

View File

@@ -0,0 +1,35 @@
using MediatR;
using TakeoutSaaS.Application.App.Stores.Dto;
namespace TakeoutSaaS.Application.App.Stores.Queries;
/// <summary>
/// 资质预警分页查询。
/// </summary>
public sealed record ListExpiringStoreQualificationsQuery : IRequest<StoreQualificationAlertResultDto>
{
/// <summary>
/// 过期阈值天数(默认 30 天)。
/// </summary>
public int? DaysThreshold { get; init; }
/// <summary>
/// 租户 ID可选
/// </summary>
public long? TenantId { get; init; }
/// <summary>
/// 是否仅显示已过期。
/// </summary>
public bool Expired { get; init; }
/// <summary>
/// 当前页码。
/// </summary>
public int Page { get; init; } = 1;
/// <summary>
/// 每页条数。
/// </summary>
public int PageSize { get; init; } = 20;
}

View File

@@ -0,0 +1,15 @@
using MediatR;
using TakeoutSaaS.Application.App.Stores.Dto;
namespace TakeoutSaaS.Application.App.Stores.Queries;
/// <summary>
/// 查询门店资质列表。
/// </summary>
public sealed record ListStoreQualificationsQuery : IRequest<IReadOnlyList<StoreQualificationDto>>
{
/// <summary>
/// 门店 ID。
/// </summary>
public long StoreId { get; init; }
}

View File

@@ -20,6 +20,26 @@ public sealed class SearchStoresQuery : IRequest<PagedResult<StoreDto>>
/// </summary>
public StoreStatus? Status { get; init; }
/// <summary>
/// 审核状态过滤。
/// </summary>
public StoreAuditStatus? AuditStatus { get; init; }
/// <summary>
/// 经营状态过滤。
/// </summary>
public StoreBusinessStatus? BusinessStatus { get; init; }
/// <summary>
/// 主体类型过滤。
/// </summary>
public StoreOwnershipType? OwnershipType { get; init; }
/// <summary>
/// 关键词(名称/编码)。
/// </summary>
public string? Keyword { get; init; }
/// <summary>
/// 页码。
/// </summary>