using System.Data; using Dlhis.Canteen.Order.Request; using Dlhis.Canteen.Order.Response; using Dlhis.Canteen.Order.Services; using Kurisu.AspNetCore.DataAccess.Dto; using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Dlhis.Canteen.Order.Controllers; /// /// 充值/消费 /// [Authorize] [Route("api/[controller]")] [ApiController] public class BalancesController : ControllerBase { private readonly IBalanceService _balanceService; public BalancesController(IBalanceService balanceService) { _balanceService = balanceService; } /// /// 获取所有消费记录分页 /// /// /// [HttpGet] [IgnoreTenant] public async Task> GetPageAsync([FromQuery] BalanceRecordPageRequest request) { return await _balanceService.GetPageAsync(request); } /// /// 数据导出 /// /// /// [HttpGet("export")] [ExcelResult("员工账务明细")] [IgnoreTenant] public async Task> GetPageToExportAsync([FromQuery] BalanceRecordPageRequest request) { return await _balanceService.GetPageToExportAsync(request); } /// /// 修补餐补明细 /// /// /// [HttpPost("supplementBalance")] [IgnoreTenant] public async Task SupplementBalanceAsync(BalanceSupplementRequest request) { await _balanceService.SupplementBalanceAsync(request); } /// /// 退款 /// /// [HttpPost("refund")] [IgnoreTenant] [Transactional(IsolationLevel.ReadCommitted)] public async Task RefundAsync(BalanceRecordRefundRequest request) { await _balanceService.RefundAsync(request.No); } /// /// 营业点消费明细 /// /// /// [HttpGet("recordPageDetails")] public async Task RecordPageDetailsAsync([FromQuery] BalanceRecordPageDetailRequest request) { return await _balanceService.RecordPageDetailsAsync(request); } /// /// 营业点消费明细导出 /// /// /// [ExcelResult("营业点消费明细")] [AllowAnonymous] [HttpGet("recordPageDetails/export")] public async Task> RecordPageDetailsToExportAsync([FromQuery] BalanceRecordPageDetailRequest request) { return await _balanceService.RecordPageDetailsToExportAsync(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")] [IgnoreTenant] public async Task GetPageByUserAsync([FromQuery] BalanceRecordUserPageRequest request) { return await _balanceService.GetPageByUserAsync(request); } /// /// 用户集团消费记录 /// /// /// [HttpGet("user/group/page")] [IgnoreTenant] public async Task> GetUserBalanceGroupAsync([FromQuery] BalanceRecordUserGroupPageRequest request) { return await _balanceService.GetUserBalanceGroupAsync(request); } /// /// 获取消费机总数、离线设备数量、营业点数量、可消费人数、人均日消费额 /// /// [HttpGet("consumenumbers")] public async Task GetConsumeNumberAsync() { return await _balanceService.GetConsumeNumberAsync(); } /// /// 手动处理余额 /// /// [HttpPost("manuallyRecalc")] //[Authorize(Roles = "admin")] [IgnoreTenant] [Transactional] public async Task ManuallyImportBalanceAndReCalcAsync(List requests) { await _balanceService.ManuallyImportBalanceAndReCalcAsync(requests); } }