Files
jinko.yikatong/Src/Dlhis.Basic/Dishes/Controller/DishesMenusController.cs

149 lines
4.6 KiB
C#

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.Dto;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.Dishes.Controller;
/// <summary>
/// 菜单菜品控制器
/// </summary>
[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;
}
/// <summary>
/// 菜单分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<Pagination<DishesMenuPageResponse>> GetDishesMenuPageAsync([FromQuery] DishesMenuPageRequest request)
{
return await _dishesMenuService.GetDishesMenuPageAsync(request);
}
/// <summary>
/// 菜单详情
/// </summary>
/// <param name="businessPlaceCode"></param>
/// <param name="customCode"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
/// <returns></returns>
[HttpGet("detail")]
public async Task<DishesMenuSaveRequest> GetDishesMenuDetailAsync(Guid businessPlaceCode, string customCode, DateTime startDate, DateTime endDate)
{
return await _dishesMenuService.GetDishesMenuDetailAsync(businessPlaceCode, customCode, startDate, endDate);
}
/// <summary>
/// 根据参数获取菜品
/// </summary>
/// <param name="businessPlaceCode"></param>
/// <param name="date"></param>
/// <param name="shiftType"></param>
/// <param name="categoryCode"></param>
/// <returns></returns>
[HttpGet("dishes-selections")]
[IgnoreTenant]
public async Task<List<DishesDetailResponse>> GetDishesUnderCurrentMenuAsync(Guid businessPlaceCode,
DateTime date,
ShiftEnumType? shiftType,
Guid categoryCode)
{
return await _dishesMenuService.GetDishesUnderCurrentMenuAsync(businessPlaceCode, date, shiftType, categoryCode);
}
/// <summary>
/// 菜单保存/更改
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("save")]
[Transactional]
public async Task SaveDishesMenuAsync(DishesMenuSaveRequest request)
{
await _dishesMenuService.SaveDishesMenuAsync(request);
}
/// <summary>
/// 菜单信息明细
/// 检查明细
/// </summary>
/// <param name="date"></param>
/// <param name="businessPlaceCode"></param>
/// <param name="shiftType"></param>
/// <param name="dishesCode"></param>
/// <returns></returns>
[HttpGet("checkdetail")]
[IgnoreTenant]
public async Task<DishesMenuDetailDto> GetBookingDishesDetailAsync(DateTime date, Guid businessPlaceCode, ShiftEnumType shiftType, string dishesCode)
{
return await _dishesMenuService.GetBookingDishesDetailAsync(date, businessPlaceCode, shiftType, dishesCode);
}
/// <summary>
/// 菜品分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("dishes/page")]
public async Task<Pagination<DishesResponse>> GetDishesAsync([FromQuery] DishesPageRequest request)
{
return await _dishesService.GetDishesPageAsync(request);
}
/// <summary>
/// 菜品保存/更改
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("dishes/save")]
public async Task SaveDishesAsync(DishesSaveRequest request)
{
await _dishesService.SaveDishesAsync(request);
}
/// <summary>
/// 根据id获取菜品详情
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet("dishes/detail/{id}")]
public async Task<DishesDetailResponse> GetDishesDetailByIdAsync(long id)
{
return await _dishesService.GetDishesDetailByIdAsync(id);
}
/// <summary>
/// 获取预定送餐配置
/// </summary>
/// <returns></returns>
[HttpGet("setting")]
[IgnoreTenant]
public async Task<DishesMenusBookingSettingResponse> GetDishesMenusBookingSetting([FromQuery] GetDishesMenusBookingRequest request)
{
return await _dishesService.GetDishesMenusBookingSetting(request);
}
}