144 lines
4.4 KiB
C#
144 lines
4.4 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.SqlSugar.Aop;
|
|
using Kurisu.Core.DataAccess.Dto;
|
|
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] DisheMenuPageRequest request)
|
|
{
|
|
return await _dishesMenuService.GetDishesMenuPageAsync(request);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 菜单详情
|
|
/// </summary>
|
|
/// <param name="businessPlaceCode"></param>
|
|
/// <param name="customCode"></param>
|
|
/// <param name="date"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("detail")]
|
|
public async Task<DishesMenuSaveRequest> GetDishesMenuDetailAsync(Guid businessPlaceCode, string customCode, DateTime date)
|
|
{
|
|
return await _dishesMenuService.GetDishesMenuDetailAsync(businessPlaceCode, customCode, date);
|
|
}
|
|
|
|
/// <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")]
|
|
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);
|
|
}
|
|
}
|
|
|