175 lines
5.4 KiB
C#
175 lines
5.4 KiB
C#
using Dlhis.Canteen.Order.Request;
|
|
using Dlhis.Canteen.Order.Response;
|
|
using Dlhis.Canteen.Order.Services;
|
|
using Kurisu.Core.DataAccess.Dto;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Dlhis.Canteen.Order.Controllers;
|
|
|
|
/// <summary>
|
|
/// 充值/消费
|
|
/// </summary>
|
|
[Authorize]
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class BalancesController : ControllerBase
|
|
{
|
|
private readonly IBalanceService _balanceService;
|
|
|
|
public BalancesController(IBalanceService balanceService)
|
|
{
|
|
_balanceService = balanceService;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取记录分页
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
public async Task<Pagination<BalanceRecordResponse>> GetPageAsync([FromQuery] BalanceRecordPageRequest request)
|
|
{
|
|
return await _balanceService.GetPageAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设备消费记录
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("device/page")]
|
|
[IgnoreTenant]
|
|
public async Task<Pagination<BalanceRecordResponse>> GetPageByDeviceUniqueNoGetAsync([FromQuery] BalanceRecordPageByDeviceUniqueNoRequest request)
|
|
{
|
|
return await _balanceService.GetPageByDeviceUniqueNoAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设备消费记录
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("device/page")]
|
|
[IgnoreTenant]
|
|
public async Task<Pagination<BalanceRecordResponse>> GetPageByDeviceUniqueNoPostAsync(BalanceRecordPageByDeviceUniqueNoRequest request)
|
|
{
|
|
return await _balanceService.GetPageByDeviceUniqueNoAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 用户消费记录
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("user/page")]
|
|
public async Task<Pagination<BalanceRecordUserResponse>> GetPageByUserAsync([FromQuery] BalanceRecordUserPageRequest request)
|
|
{
|
|
return await _balanceService.GetPageByUserAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 作废消费明细
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("obsoluteOutRecord")]
|
|
[Transactional]
|
|
public async Task ObsoluteAsync(BalanceRecordObsoluteRequest request)
|
|
{
|
|
await _balanceService.ObsoluteAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据成本中心
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("recordByCostId")]
|
|
public async Task<Pagination<BalanceRecordCostIdResponse>> RecordByCostIdAsync([FromQuery] BalanceRecordPageByCostIdRequest request)
|
|
{
|
|
return await _balanceService.RecordByCostIdAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 消费明细
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("recordPageDetails")]
|
|
public async Task<Pagination<BalanceRecordResponse>> RecordPageDetailsAsync([FromQuery] BalanceRecordPageDetailsRequest request)
|
|
{
|
|
return await _balanceService.RecordPageDetailsAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 消费汇总 根据部门号
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("recordSummaryByNo")]
|
|
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByNoAsync([FromQuery] BalanceRecordSummaryRequest request)
|
|
{
|
|
return await _balanceService.BalanceRecordSummaryByNoAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 消费汇总 根据人事范围
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("recordSummaryByTid")]
|
|
public async Task<Pagination<BalanceRecordSummaryRespones>> BalanceRecordSummaryByTidAsync([FromQuery] BalanceRecordSummaryRequest request)
|
|
{
|
|
return await _balanceService.BalanceRecordSummaryByTidAsync(request);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 用餐分析
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("BalanceRecordSummaryAsync")]
|
|
public async Task<Pagination<BalanceRecordAnalysisRespones>> BalanceRecordAnalysisAsync([FromQuery] BalanceRecordAnalysisRequest request)
|
|
{
|
|
return await _balanceService.BalanceRecordAnalysisAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取消费机总数、离线设备数量、营业点数量、可消费人数、人均日消费额
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("consumenumbers")]
|
|
public async Task<ConsumeNumberResponse> GetConsumeNumberAsync()
|
|
{
|
|
return await _balanceService.GetConsumeNumberAsync();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 电子餐券申请记录查询
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet("oaemealvoucher")]
|
|
public async Task<Pagination<OaEMealVoucherResponse>> GetOaEMealVoucherAsync([FromQuery] OaEMealVoucherRequest request)
|
|
{
|
|
return await _balanceService.GetOaEMealVoucherAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 电子餐券使用记录查询
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("oaemealvoucherdetail")]
|
|
public async Task<Pagination<OaEMealVoucherDetailResponse>> GetOaEMealVoucherDetailAsync([FromQuery] OaEMealVoucherDetailRequest request)
|
|
{
|
|
return await _balanceService.GetOaEMealVoucherDetailAsync(request);
|
|
}
|
|
|
|
}
|