using Dlhis.Canteen.Order.Request;
using Dlhis.Canteen.Order.Response;
using Dlhis.Canteen.Voucher.Requests;
using Dlhis.Canteen.Voucher.Response;
using Dlhis.Canteen.Voucher.Services;
using Kurisu.AspNetCore.DataAccess.Dto;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Canteen.Voucher.Controllers;
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class EMealVoucherController : ControllerBase
{
private readonly IEMealVoucherService _eMealVoucherService;
public EMealVoucherController(IEMealVoucherService eMealVoucherService)
{
_eMealVoucherService = eMealVoucherService;
}
///
/// 分页数据
///
///
///
[HttpGet("page")]
public async Task> GetPageAsync([FromQuery] EMealVoucherPageRequest request)
{
return await _eMealVoucherService.GetPageAsync(request);
}
///
/// 获取我的电子餐券申请
///
///
///
[HttpGet("my")]
public async Task> GetMyEMealVoucherPageAsync([FromQuery] EMealVoucherPageRequest request)
{
return await _eMealVoucherService.GetMyEMealVoucherPageAsync(request);
}
///
/// 查看电子餐券
///
///
///
[HttpGet("details")]
public async Task> GetDetailsByNoAsync(string no)
{
return await _eMealVoucherService.GetDetailsByNoAsync(no);
}
///
/// 获取url签名
///
///
///
[HttpGet("signature")]
public async Task GetQrCodeSignatureAsync(long detailId)
{
return await _eMealVoucherService.GetQrCodeSignatureAsync(detailId);
}
///
/// 刷新url签名
///
///
[HttpPost("signature/refresh")]
public async Task RefreshSignatureAsync(long detailId)
{
await _eMealVoucherService.RefreshSignatureAsync(detailId);
}
///
/// 获取二维码
///
///
///
[AllowAnonymous]
[HttpGet("qrcode")]
public async Task GetQrCodeAsync(string signature)
{
return await _eMealVoucherService.GetQrCodeAsync(signature);
}
///
/// 餐券消费分页
///
///
///
[HttpGet("balance/page")]
[IgnoreTenant]
public async Task> GetEMealVoucherPageAsync([FromQuery] BalanceRecordEMealVoucherPageRequest request)
{
return await _eMealVoucherService.GetEMealVoucherPageAsync(request);
}
}