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 OrdersController : ControllerBase { private readonly IOrderService _orderService; private readonly IBookingOrderService _bookingOrderService; public OrdersController(IOrderService orderService, IBookingOrderService bookingOrderService) { _orderService = orderService; _bookingOrderService = bookingOrderService; } /// /// 添加充值/消费订单 /// /// /// [HttpPost] [IgnoreTenant] public async Task AddAsync(OrderAddRequest request) { return await _orderService.AddAsync(request); } /// /// 设备发起订单 /// /// /// [HttpPost("device")] [IgnoreTenant] public async Task DeviceConsume(OrderAddRequest request) { return await _orderService.AddAsync(request); } /// /// 订单聚合数据 /// /// [HttpGet("aggregation")] public async Task> GetOrdersAggregationAsync([FromQuery] PageDto page) { return await _orderService.GetOrdersAggregationAsync(page); } //************************************************************** 订餐功能 ********************************************************************************** /// /// 订餐 /// /// [HttpPost("booking")] [Transactional] public async Task Booking(BookingMealRequest request) { return await _bookingOrderService.BookingAsync(request); } /// /// 订单分页 /// /// /// [HttpGet("booking/page")] public async Task> GetBookingPageAsync([FromQuery] OrderBookingPageRequest request) { return await _bookingOrderService.GetBookingPageAsync(request); } }