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