feat 菜单订单控制器
This commit is contained in:
70
Src/Dlhis.Canteen/Order/Controllers/MenuDishesController.cs
Normal file
70
Src/Dlhis.Canteen/Order/Controllers/MenuDishesController.cs
Normal file
@@ -0,0 +1,70 @@
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Dlhis.Canteen.Order.Services;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Controllers;
|
||||
|
||||
/// <summary>
|
||||
/// 菜单菜品控制器
|
||||
/// </summary>
|
||||
[Authorize]
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class MenuDishesController : ControllerBase
|
||||
{
|
||||
private readonly IMenuDishesService _menuDishesService;
|
||||
|
||||
public MenuDishesController(IMenuDishesService menuDishesService)
|
||||
{
|
||||
_menuDishesService = menuDishesService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取菜单
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("pageMenu")]
|
||||
public async Task<Pagination<GetMenuResponse>> GetMenuAsync([FromQuery]GetMenuRequest request)
|
||||
{
|
||||
return await _menuDishesService.GetMenuAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 菜单保存/更改
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("saveMenu")]
|
||||
public async Task SaveMenuAsync(SaveMenuRequest request)
|
||||
{
|
||||
await _menuDishesService.SaveMenuAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取菜品
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("pageDishes")]
|
||||
public async Task<Pagination<GetDishesResponse>> GetDishesAsync([FromQuery] GetDishesRequest request)
|
||||
{
|
||||
return await _menuDishesService.GetDishesAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 菜品保存/更改
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost("saveDishes")]
|
||||
public async Task SaveDishesAsync(SaveDishesRequest request)
|
||||
{
|
||||
await _menuDishesService.SaveDishesAsync(request);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Dlhis.Canteen.Order.Services;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Controllers;
|
||||
|
||||
/// <summary>
|
||||
///订单/明细控制器
|
||||
/// </summary>
|
||||
[Authorize]
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class MiniProgramOrderDetailController : ControllerBase
|
||||
{
|
||||
private readonly IMiniProgramOrderDetailService _miniProgramOrderDetailService;
|
||||
|
||||
public MiniProgramOrderDetailController(IMiniProgramOrderDetailService miniProgramOrderDetailService)
|
||||
{
|
||||
_miniProgramOrderDetailService = miniProgramOrderDetailService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 订单分页
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("pageOrder")]
|
||||
public async Task<Pagination<GetMiniProgramOrderResponse>> GetMiniProgramOrderAsync([FromQuery]GetMiniProgramOrderRequest request)
|
||||
{
|
||||
return await _miniProgramOrderDetailService.GetMiniProgramOrderAsync(request);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 明细分页
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("pageDetail")]
|
||||
public async Task<Pagination<GetDetailResponse>> GetDetailAsync([FromQuery] GetDetailRequest request)
|
||||
{
|
||||
return await _miniProgramOrderDetailService.GetDetailAsync(request);
|
||||
}
|
||||
}
|
||||
8
Src/Dlhis.Canteen/Order/Request/GetDetailRequest.cs
Normal file
8
Src/Dlhis.Canteen/Order/Request/GetDetailRequest.cs
Normal file
@@ -0,0 +1,8 @@
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class GetDetailRequest : PageDto
|
||||
{
|
||||
}
|
||||
}
|
||||
9
Src/Dlhis.Canteen/Order/Request/GetDishesRequest.cs
Normal file
9
Src/Dlhis.Canteen/Order/Request/GetDishesRequest.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class GetDishesRequest : PageDto
|
||||
{
|
||||
public Guid? MenuCode { get; set; }
|
||||
}
|
||||
}
|
||||
9
Src/Dlhis.Canteen/Order/Request/GetMenuRequest.cs
Normal file
9
Src/Dlhis.Canteen/Order/Request/GetMenuRequest.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class GetMenuRequest : PageDto
|
||||
{
|
||||
public Guid? PlaceCode { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class GetMiniProgramOrderRequest : PageDto
|
||||
{
|
||||
}
|
||||
}
|
||||
69
Src/Dlhis.Canteen/Order/Request/SaveDishesRequest.cs
Normal file
69
Src/Dlhis.Canteen/Order/Request/SaveDishesRequest.cs
Normal file
@@ -0,0 +1,69 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using SqlSugar.DbConvert;
|
||||
using SqlSugar;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class SaveDishesRequest
|
||||
{
|
||||
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单编码
|
||||
/// </summary>
|
||||
public Guid MenuCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 大类
|
||||
/// </summary>
|
||||
public string Categories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小类
|
||||
/// </summary>
|
||||
public string SubCategories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 类型
|
||||
/// </summary>
|
||||
[EnumDataType(typeof(CanteenDishesEnumType))]
|
||||
public CanteenDishesEnumType Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 限售份数
|
||||
/// </summary>
|
||||
public int RestrictedNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图片
|
||||
/// </summary>
|
||||
public string Image { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enable { get; set; }
|
||||
}
|
||||
}
|
||||
48
Src/Dlhis.Canteen/Order/Request/SaveMenuRequest.cs
Normal file
48
Src/Dlhis.Canteen/Order/Request/SaveMenuRequest.cs
Normal file
@@ -0,0 +1,48 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using SqlSugar;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class SaveMenuRequest
|
||||
{
|
||||
public long? Id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属营业点
|
||||
/// </summary>
|
||||
[Required]
|
||||
public Guid PlaceCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 厂区
|
||||
/// </summary>
|
||||
public string Factory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始日期
|
||||
/// </summary>
|
||||
public DateOnly StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束日期
|
||||
/// </summary>
|
||||
public DateOnly EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次段
|
||||
/// </summary>
|
||||
public List<ShiftEnumType> ShiftTypes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enable { get; set; }
|
||||
}
|
||||
}
|
||||
66
Src/Dlhis.Canteen/Order/Response/GetDetailResponse.cs
Normal file
66
Src/Dlhis.Canteen/Order/Response/GetDetailResponse.cs
Normal file
@@ -0,0 +1,66 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using SqlSugar.DbConvert;
|
||||
using SqlSugar;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Response
|
||||
{
|
||||
public class GetDetailResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public string ThirdNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 营业日
|
||||
/// </summary>
|
||||
public DateOnly BusinessDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐别
|
||||
/// </summary>
|
||||
public string ShiftType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品编码
|
||||
/// </summary>
|
||||
public Guid DishesCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品名称
|
||||
/// </summary>
|
||||
public Guid DishesName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 数量
|
||||
/// </summary>
|
||||
public int Num { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// </summary>
|
||||
public decimal Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单明细状态
|
||||
/// </summary>
|
||||
public OrderDetailsStatusEnumType OrderStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单明细状态CN
|
||||
/// </summary>
|
||||
public string OrderStatusCN => OrderStatus.GetDescription();
|
||||
}
|
||||
|
||||
}
|
||||
75
Src/Dlhis.Canteen/Order/Response/GetDishesResponse.cs
Normal file
75
Src/Dlhis.Canteen/Order/Response/GetDishesResponse.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using SqlSugar.DbConvert;
|
||||
using SqlSugar;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Response
|
||||
{
|
||||
public class GetDishesResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 菜单编码
|
||||
/// </summary>
|
||||
public Guid MenuCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 大类
|
||||
/// </summary>
|
||||
public string Categories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 小类
|
||||
/// </summary>
|
||||
public string SubCategories { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品编码
|
||||
/// </summary>
|
||||
public Guid Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品类型
|
||||
/// </summary>
|
||||
public CanteenDishesEnumType Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品类型描述
|
||||
/// </summary>
|
||||
public string TypeDescription => Type.GetDescription();
|
||||
|
||||
/// <summary>
|
||||
/// 描述
|
||||
/// </summary>
|
||||
public string Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Amount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 限售份数
|
||||
/// </summary>
|
||||
public int RestrictedNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图片
|
||||
/// </summary>
|
||||
public string Image { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enable { get; set; }
|
||||
}
|
||||
}
|
||||
59
Src/Dlhis.Canteen/Order/Response/GetMenuResponse.cs
Normal file
59
Src/Dlhis.Canteen/Order/Response/GetMenuResponse.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Response
|
||||
{
|
||||
public class GetMenuResponse
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// 菜单编码
|
||||
/// </summary>
|
||||
public Guid Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单名称
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 所属营业点
|
||||
/// </summary>
|
||||
public Guid PlaceCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 厂区
|
||||
/// </summary>
|
||||
public string Factory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始日期
|
||||
/// </summary>
|
||||
public DateOnly StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束日期
|
||||
/// </summary>
|
||||
public DateOnly EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次段
|
||||
/// </summary>
|
||||
public List<ShiftEnumType> ShiftTypes
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ShiftTypesSrt.IsEmpty()) ShiftTypesSrt = "[]";
|
||||
|
||||
return ShiftTypesSrt.ToObject<List<ShiftEnumType>>();
|
||||
}
|
||||
}
|
||||
|
||||
public string ShiftTypesSrt { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
/// </summary>
|
||||
public bool Enable { get; set; }
|
||||
}
|
||||
}
|
||||
106
Src/Dlhis.Canteen/Order/Response/GetMiniProgramOrderResponse.cs
Normal file
106
Src/Dlhis.Canteen/Order/Response/GetMiniProgramOrderResponse.cs
Normal file
@@ -0,0 +1,106 @@
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using SqlSugar.DbConvert;
|
||||
using SqlSugar;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Response
|
||||
{
|
||||
public class GetMiniProgramOrderResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 订单号
|
||||
/// </summary>
|
||||
public string No { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 姓名
|
||||
/// </summary>
|
||||
public string Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工号
|
||||
/// </summary>
|
||||
public string Code { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 人事范围
|
||||
/// </summary>
|
||||
public string Werks { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 部门编码
|
||||
/// </summary>
|
||||
public string DepartmentNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 成本中心
|
||||
/// </summary>
|
||||
public string CostId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 工作地
|
||||
/// </summary>
|
||||
public string Workplace { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 厂区
|
||||
/// </summary>
|
||||
public string Factory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 营业点
|
||||
/// </summary>
|
||||
public Guid PlaceCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次
|
||||
/// </summary>
|
||||
public string ShiftType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品
|
||||
/// </summary>
|
||||
public Guid DishesCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 手机号码
|
||||
/// </summary>
|
||||
public string Phone { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 用餐日期
|
||||
/// </summary>
|
||||
public DateOnly SysDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 下单时间
|
||||
/// </summary>
|
||||
public DateTime CostDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付方式
|
||||
/// </summary>
|
||||
public CanteenPayEnumType PayType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 支付方式CN
|
||||
/// </summary>
|
||||
public string PayTypeCN => PayType.GetDescription();
|
||||
|
||||
/// <summary>
|
||||
/// 订单状态
|
||||
/// </summary>
|
||||
public MiniProgramOrderStatusEnumType OrderStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单状态CN
|
||||
/// </summary>
|
||||
public string OrderStatusCN => OrderStatus.GetDescription();
|
||||
|
||||
/// <summary>
|
||||
/// 总金额
|
||||
/// </summary>
|
||||
public decimal TotalAmount { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
18
Src/Dlhis.Canteen/Order/Services/IMenuDishesService.cs
Normal file
18
Src/Dlhis.Canteen/Order/Services/IMenuDishesService.cs
Normal file
@@ -0,0 +1,18 @@
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Services
|
||||
{
|
||||
public interface IMenuDishesService :IScopeDependency
|
||||
{
|
||||
Task<Pagination<GetMenuResponse>> GetMenuAsync(GetMenuRequest request);
|
||||
|
||||
Task SaveMenuAsync(SaveMenuRequest request);
|
||||
|
||||
Task<Pagination<GetDishesResponse>> GetDishesAsync(GetDishesRequest request);
|
||||
|
||||
Task SaveDishesAsync(SaveDishesRequest request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Services
|
||||
{
|
||||
public interface IMiniProgramOrderDetailService : IScopeDependency
|
||||
{
|
||||
Task<Pagination<GetMiniProgramOrderResponse>> GetMiniProgramOrderAsync(GetMiniProgramOrderRequest request);
|
||||
|
||||
Task<Pagination<GetDetailResponse>> GetDetailAsync( GetDetailRequest request);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Canteen.Entities;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Kurisu.Core.User.Abstractions;
|
||||
using Kurisu.SqlSugar.Extensions;
|
||||
using Kurisu.SqlSugar.Services;
|
||||
using Mapster;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Services.Implements
|
||||
{
|
||||
public class MenuDishesService : IMenuDishesService
|
||||
{
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
|
||||
public MenuDishesService(IDbContext dbContext, ICurrentUser currentUser)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
_currentUser = currentUser;
|
||||
}
|
||||
|
||||
public async Task<Pagination<GetMenuResponse>> GetMenuAsync(GetMenuRequest request)
|
||||
{
|
||||
var currentTenantId = _currentUser.GetStringTenantId();
|
||||
|
||||
var page = await _dbContext.Queryable<CanteenMenuEntity>()
|
||||
.Where(x => x.Factory == currentTenantId)
|
||||
.WhereIF(request.PlaceCode.HasValue, x => request.PlaceCode == x.PlaceCode)
|
||||
.WhereIF(!request.Search.IsEmpty(),x => x.Name.Contains(request.Search))
|
||||
.Select(x => new GetMenuResponse
|
||||
{
|
||||
ShiftTypesSrt = x.ShiftTypes.ToString(),
|
||||
},true)
|
||||
.ToPageListAsync(request);
|
||||
return page;
|
||||
}
|
||||
|
||||
public async Task SaveMenuAsync(SaveMenuRequest request)
|
||||
{
|
||||
var place = await _dbContext.Queryable<BusinessPlaceEntity>()
|
||||
.FirstAsync(x => x.Code == request.PlaceCode);
|
||||
place.ThrowIfNull($"{request.PlaceCode}:该营业点不存在!");
|
||||
|
||||
if (!request.Id.HasValue)
|
||||
{
|
||||
var entity = request.Adapt<CanteenMenuEntity>();
|
||||
entity.Code = Guid.NewGuid();
|
||||
await _dbContext.InsertAsync(entity);
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity = await _dbContext.Queryable<CanteenMenuEntity>()
|
||||
.Where(x => x.Id == request.Id).FirstAsync();
|
||||
request.Adapt(entity);
|
||||
await _dbContext.UpdateAsync(entity);
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<Pagination<GetDishesResponse>> GetDishesAsync(GetDishesRequest request)
|
||||
{
|
||||
var page = await _dbContext.Queryable<CanteenDishesEntity>()
|
||||
.WhereIF(request.MenuCode.HasValue, x => request.MenuCode == x.MenuCode)
|
||||
.WhereIF(!request.Search.IsEmpty(),x => x.Name.Contains(request.Search))
|
||||
.Select<GetDishesResponse>()
|
||||
.ToPageListAsync(request);
|
||||
return page;
|
||||
}
|
||||
|
||||
public async Task SaveDishesAsync(SaveDishesRequest request)
|
||||
{
|
||||
var menu = await _dbContext.Queryable<CanteenMenuEntity>()
|
||||
.FirstAsync(x => x.Code == request.MenuCode);
|
||||
menu.ThrowIfNull($"{request.MenuCode}:该菜单不存在!");
|
||||
|
||||
if (!request.Id.HasValue)
|
||||
{
|
||||
var dishers = request.Adapt<CanteenDishesEntity>();
|
||||
dishers.Code = Guid.NewGuid();
|
||||
await _dbContext.InsertAsync(dishers);
|
||||
}
|
||||
else
|
||||
{
|
||||
var entity = await _dbContext.Queryable<CanteenDishesEntity>()
|
||||
.Where(x => x.Id == request.Id).FirstAsync();
|
||||
request.Adapt(entity);
|
||||
await _dbContext.UpdateAsync(entity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
using Dlhis.Canteen.Order.Request;
|
||||
using Dlhis.Canteen.Order.Response;
|
||||
using Dlhis.Entity.Canteen.Entities;
|
||||
using Kurisu.AspNetCore.Utils.Extensions;
|
||||
using Kurisu.Core.DataAccess.Dto;
|
||||
using Kurisu.SqlSugar.Extensions;
|
||||
using Kurisu.SqlSugar.Services;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Services.Implements;
|
||||
|
||||
public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
|
||||
{
|
||||
private readonly IDbContext _dbContext;
|
||||
|
||||
public MiniProgramOrderDetailService(IDbContext dbContext)
|
||||
{
|
||||
_dbContext = dbContext;
|
||||
}
|
||||
|
||||
public async Task<Pagination<GetMiniProgramOrderResponse>> GetMiniProgramOrderAsync(GetMiniProgramOrderRequest request)
|
||||
{
|
||||
var page = await _dbContext.Queryable<MiniProgramOrderEntity>()
|
||||
.WhereIF(!request.Search.IsEmpty(), x => x.Name == request.Search || x.Code == request.Search)
|
||||
.Select<GetMiniProgramOrderResponse>()
|
||||
.ToPageListAsync(request);
|
||||
return page;
|
||||
}
|
||||
|
||||
public async Task<Pagination<GetDetailResponse>> GetDetailAsync(GetDetailRequest request)
|
||||
{
|
||||
var page = await _dbContext.Queryable<OrderDetailsEntity>()
|
||||
.WhereIF(!request.Search.IsEmpty(),x => x.ThirdNo == request.Search)
|
||||
.Select<GetDetailResponse>()
|
||||
.ToPageListAsync(request);
|
||||
|
||||
return page;
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,6 @@
|
||||
using Kurisu.SqlSugar;
|
||||
using Dlhis.Entity.Canteen.Enums;
|
||||
using Dlhis.Entity.Device.Enums;
|
||||
using Kurisu.SqlSugar;
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -54,8 +56,8 @@ public class CanteenMenuEntity : SugarBaseEntity
|
||||
/// <summary>
|
||||
/// 餐次段
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "餐次段", IsNullable = true)]
|
||||
public List<string> ShiftTypes { get; set; }
|
||||
[SugarColumn(ColumnDataType = "varchar(150)", IsJson = true, ColumnDescription = "餐次段", DefaultValue = "[]")]
|
||||
public List<ShiftEnumType> ShiftTypes { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否启用
|
||||
|
||||
@@ -2,11 +2,6 @@
|
||||
using Kurisu.SqlSugar;
|
||||
using SqlSugar;
|
||||
using SqlSugar.DbConvert;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Dlhis.Entity.Canteen.Entities
|
||||
{
|
||||
@@ -49,6 +44,7 @@ namespace Dlhis.Entity.Canteen.Entities
|
||||
/// <summary>
|
||||
/// 成本中心
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "成本中心")]
|
||||
public string CostId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
41
Src/Dlhis.Entity/Canteen/Enums/ShiftEnumType.cs
Normal file
41
Src/Dlhis.Entity/Canteen/Enums/ShiftEnumType.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace Dlhis.Entity.Canteen.Enums
|
||||
{
|
||||
/// <summary>
|
||||
/// 餐次
|
||||
/// </summary>
|
||||
[Description("餐次")]
|
||||
public enum ShiftEnumType
|
||||
{
|
||||
/// <summary>
|
||||
/// 早餐
|
||||
/// </summary>
|
||||
[Description("早餐")]
|
||||
Breakfast = 1,
|
||||
|
||||
/// <summary>
|
||||
/// 午餐
|
||||
/// </summary>
|
||||
[Description("午餐")]
|
||||
Lunch = 2,
|
||||
|
||||
/// <summary>
|
||||
/// 晚餐
|
||||
/// </summary>
|
||||
[Description("晚餐")]
|
||||
Dinner = 3,
|
||||
|
||||
/// <summary>
|
||||
/// 宵夜
|
||||
/// </summary>
|
||||
[Description("宵夜")]
|
||||
Nightsnack = 4,
|
||||
|
||||
/// <summary>
|
||||
/// 凌晨餐
|
||||
/// </summary>
|
||||
[Description("凌晨餐")]
|
||||
Midnightsnack = 5,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user