Files
jinko.yikatong/Src/Dlhis.Canteen/Tickets/Controllers/TicketsController.cs
2025-03-05 12:34:29 +08:00

50 lines
1.4 KiB
C#

using Dlhis.Canteen.Tickets.Request;
using Dlhis.Canteen.Tickets.Response;
using Dlhis.Canteen.Tickets.Services;
using Kurisu.AspNetCore.DataAccess.Dto;
using Kurisu.AspNetCore.Utils.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Canteen.Tickets.Controllers;
/// <summary>
/// 券
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class TicketsController : ControllerBase
{
private readonly INamedResolver _namedResolver;
public TicketsController(INamedResolver namedResolver)
{
_namedResolver = namedResolver;
}
/// <summary>
/// 获取分页数据(按券类型)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<Pagination<TicketPageResponse>> GetPageAsync(TicketPageRequest request)
{
return await _namedResolver.GetService<ITicketService>(request.Type.ToString()).GetPageAsync(request);
}
/// <summary>
/// 创建券
/// </summary>
/// <param name="type">券类型,需要后端支持</param>
[AllowAnonymous]
[HttpPost("{type:required}/create")]
public async Task CreateAsync(string type)
{
var srv = _namedResolver.GetService<ITicketService>(type);
srv.ThrowIfNull("不支持的券类型");
await srv.CreateAsync();
}
}