Files
jinko.yikatong/Src/Dlhis.Canteen/EMealVoucher/Controllers/EMealVoucherController.cs
2024-08-16 21:48:28 +08:00

76 lines
2.2 KiB
C#

using Dlhis.Canteen.EMealVoucher.Request;
using Dlhis.Canteen.EMealVoucher.Response;
using Dlhis.Canteen.EMealVoucher.Services;
using Kurisu.AspNetCore.DataAccess.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Canteen.EMealVoucher.Controllers;
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class EMealVoucherController : ControllerBase
{
private readonly IEMealVoucherService _eMealVoucherService;
public EMealVoucherController(IEMealVoucherService eMealVoucherService)
{
_eMealVoucherService = eMealVoucherService;
}
/// <summary>
/// 获取我的电子餐券申请
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("my")]
public async Task<Pagination<EMealVoucherPageResponse>> GetMyEMealVoucherPageAsync([FromQuery] EMealVoucherPageRequest request)
{
return await _eMealVoucherService.GetMyEMealVoucherPageAsync(request);
}
/// <summary>
/// 查看电子餐券
/// </summary>
/// <param name="no"></param>
/// <returns></returns>
[HttpGet("no")]
public async Task<List<EMealVoucherDetailResponse>> GetDetailsByNoAsync(string no)
{
return await _eMealVoucherService.GetDetailsByNoAsync(no);
}
/// <summary>
/// 获取url签名
/// </summary>
/// <param name="detailId"></param>
/// <returns></returns>
[HttpGet("signature")]
public async Task<string> GetQrCodeSignatureAsync(long detailId)
{
return await _eMealVoucherService.GetQrCodeSignatureAsync(detailId);
}
/// <summary>
/// 刷新url签名
/// </summary>
/// <param name="detailId"></param>
[HttpPost("signature/refresh")]
public async Task RefreshSignatureAsync(long detailId)
{
await _eMealVoucherService.RefreshSignatureAsync(detailId);
}
/// <summary>
/// 获取二维码
/// </summary>
/// <param name="signature"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpGet("qrcode")]
public async Task<string> GetQrCodeAsync(string signature)
{
return await _eMealVoucherService.GetQrCodeAsync(signature);
}
}