- 后端新增管理员、商品、分类聚合模型 - 实现积分规则、礼品、订单、会员等完整功能 - 添加管理员认证和权限管理 - 完善数据库迁移和实体配置 - 前端管理后台实现登录、仪表盘、积分规则、礼品、订单、会员等页面 - 集成shadcn-vue UI组件库 - 添加前后端功能文档和截图
57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
using FastEndpoints;
|
|
using Fengling.Backend.Web.Application.Queries.MarketingCodes;
|
|
|
|
namespace Fengling.Backend.Web.Endpoints.Admin.MarketingCodes;
|
|
|
|
/// <summary>
|
|
/// 查询营销码请求
|
|
/// </summary>
|
|
public record GetMarketingCodesRequest
|
|
{
|
|
public string? BatchNo { get; init; }
|
|
public Guid? ProductId { get; init; }
|
|
public bool? IsUsed { get; init; }
|
|
public DateTime? StartDate { get; init; }
|
|
public DateTime? EndDate { get; init; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询营销码列表端点
|
|
/// </summary>
|
|
[Tags("Admin-MarketingCodes")]
|
|
[HttpGet("/api/admin/marketing-codes")]
|
|
[AllowAnonymous]
|
|
public class GetMarketingCodesEndpoint(IMediator mediator)
|
|
: Endpoint<GetMarketingCodesRequest, ResponseData<List<MarketingCodeDto>>>
|
|
{
|
|
public override async Task HandleAsync(GetMarketingCodesRequest req, CancellationToken ct)
|
|
{
|
|
var query = new GetMarketingCodesQuery(
|
|
req.BatchNo,
|
|
req.ProductId,
|
|
req.IsUsed,
|
|
req.StartDate,
|
|
req.EndDate);
|
|
|
|
var result = await mediator.Send(query, ct);
|
|
await Send.OkAsync(result.AsResponseData(), ct);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询营销码批次列表端点
|
|
/// </summary>
|
|
[Tags("Admin-MarketingCodes")]
|
|
[HttpGet("/api/admin/marketing-codes/batches")]
|
|
[AllowAnonymous]
|
|
public class GetMarketingCodeBatchesEndpoint(IMediator mediator)
|
|
: EndpointWithoutRequest<ResponseData<List<MarketingCodeBatchDto>>>
|
|
{
|
|
public override async Task HandleAsync(CancellationToken ct)
|
|
{
|
|
var query = new GetMarketingCodeBatchesQuery();
|
|
var result = await mediator.Send(query, ct);
|
|
await Send.OkAsync(result.AsResponseData(), ct);
|
|
}
|
|
}
|