using Dlhis.Basic.Dishes.Dto;
using Dlhis.Basic.Dishes.Request;
using Dlhis.Basic.Dishes.Response;
using Dlhis.Basic.Dishes.Services;
using Dlhis.Entity.Canteen.Enums;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
using Kurisu.Core.DataAccess.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.Dishes.Controller;
///
/// 菜单菜品控制器
///
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class DishesMenusController : ControllerBase
{
private readonly IDishesMenuService _dishesMenuService;
private readonly IDishesService _dishesService;
public DishesMenusController(IDishesMenuService dishesMenuService, IDishesService dishesService)
{
_dishesMenuService = dishesMenuService;
_dishesService = dishesService;
}
///
/// 菜单分页
///
///
///
[HttpGet("page")]
public async Task> GetDishesMenuPageAsync([FromQuery] DisheMenuPageRequest request)
{
return await _dishesMenuService.GetDishesMenuPageAsync(request);
}
///
/// 菜单详情
///
///
///
///
///
[HttpGet("detail")]
public async Task GetDishesMenuDetailAsync(Guid businessPlaceCode, string customCode, DateTime date)
{
return await _dishesMenuService.GetDishesMenuDetailAsync(businessPlaceCode, customCode, date);
}
///
/// 根据参数获取菜品
///
///
///
///
///
///
[HttpGet("dishes-selections")]
[IgnoreTenant]
public async Task> GetDishesUnderCurrentMenuAsync(Guid businessPlaceCode,
DateTime date,
ShiftEnumType? shiftType,
Guid categoryCode)
{
return await _dishesMenuService.GetDishesUnderCurrentMenuAsync(businessPlaceCode, date, shiftType, categoryCode);
}
///
/// 菜单保存/更改
///
///
///
[HttpPost("save")]
[Transactional]
public async Task SaveDishesMenuAsync(DishesMenuSaveRequest request)
{
await _dishesMenuService.SaveDishesMenuAsync(request);
}
///
/// 检查明细
///
///
///
///
///
///
[HttpGet("checkdetail")]
public async Task GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, ShiftEnumType shiftType, string dishesCode)
{
return await _dishesMenuService.GetBookingDishesDetailAsync(date, businessPlaceCode, shiftType, dishesCode);
}
///
/// 菜品分页
///
///
///
[HttpGet("dishes/page")]
public async Task> GetDishesAsync([FromQuery] DishesPageRequest request)
{
return await _dishesService.GetDishesPageAsync(request);
}
///
/// 菜品保存/更改
///
///
///
[HttpPost("dishes/save")]
public async Task SaveDishesAsync(DishesSaveRequest request)
{
await _dishesService.SaveDishesAsync(request);
}
///
/// 根据id获取菜品详情
///
///
///
[HttpGet("dishes/detail/{id}")]
public async Task GetDishesDetailByIdAsync(long id)
{
return await _dishesService.GetDishesDetailByIdAsync(id);
}
///
/// 获取预定送餐配置
///
///
[HttpGet("setting")]
[IgnoreTenant]
public async Task GetDishesMenusBookingSetting([FromQuery] GetDishesMenusBookingRequest request)
{
return await _dishesService.GetDishesMenusBookingSetting(request);
}
}