fix 临时修改送餐代码

This commit is contained in:
2024-03-15 16:06:17 +08:00
parent 328ef5f42c
commit 9a84143315
17 changed files with 279 additions and 443 deletions

View File

@@ -2,7 +2,7 @@
{ {
public class DispositionDishesDto public class DispositionDishesDto
{ {
public Guid DisherCode { get; set; } public string DisherCode { get; set; }
public int RestrictedNum { get; set; } public int RestrictedNum { get; set; }

View File

@@ -35,7 +35,7 @@ namespace Dlhis.Canteen.Order.Request
/// <summary> /// <summary>
/// 菜品 /// 菜品
/// </summary> /// </summary>
public Guid DishesCode { get; set; } public string DishesCode { get; set; }
/// <summary> /// <summary>
/// 数量 /// 数量

View File

@@ -1,59 +1,51 @@
using Dlhis.Entity.Canteen.Enums; using System.ComponentModel.DataAnnotations;
using SqlSugar.DbConvert;
using SqlSugar;
using System.ComponentModel.DataAnnotations;
namespace Dlhis.Canteen.Order.Request namespace Dlhis.Canteen.Order.Request;
public class SaveDishesRequest
{ {
public class SaveDishesRequest public long? Id { get; set; }
{
public long? Id { get; set; } /// <summary>
/// 大类
/// </summary>
public string PCategory { get; set; }
/// <summary> /// <summary>`
/// 大类 /// 小类
/// </summary> /// </summary>
public string Categories { get; set; } [Required]
public string Category { get; set; }
/// <summary> /// <summary>
/// 小类 /// 菜品名称
/// </summary> /// </summary>
public string SubCategories { get; set; } [Required]
public string Name { get; set; }
/// <summary>
/// 菜品名称
/// </summary>
public string Name { get; set; }
/// <summary> [Required]
/// 类型 public string CustomCode { get; set; }
/// </summary>
[EnumDataType(typeof(CanteenDishesEnumType))]
public CanteenDishesEnumType Type { get; set; }
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
public string Description { get; set; } public string Description { get; set; }
/// <summary> /// <summary>
/// 单价 /// 单价
/// </summary> /// </summary>
public decimal Amount { get; set; } [Range(0, 10000)]
public decimal Price { get; set; }
/// <summary>
/// 单位
/// </summary>
public string Unit { get; set; }
/// <summary> /// <summary>
/// 图片 /// 图片
/// </summary> /// </summary>
public string Image { get; set; } public string ImageUrl { get; set; }
/// <summary> /// <summary>
/// 是否启用 /// 是否启用
/// </summary> /// </summary>
public bool Enable { get; set; } public bool Enable { get; set; }
}
} }

View File

@@ -1,44 +1,39 @@
using Dlhis.Entity.Canteen.Enums; using Dlhis.Entity.Canteen.Enums;
using Dlhis.Entity.Device.Enums;
using SqlSugar;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace Dlhis.Canteen.Order.Request namespace Dlhis.Canteen.Order.Request;
public class SaveMenuRequest : IValidatableObject
{ {
public class SaveMenuRequest /// <summary>
/// 所属营业点
/// </summary>
public Guid PlaceCode { get; set; }
/// <summary>
/// 菜单名称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 营业日期,不能小于等于当天
/// </summary>
public DateTime Date { get; set; }
/// <summary>
/// 餐次段
/// </summary>
public ShiftEnumType ShiftType { get; set; }
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{ {
public long? Id { get; set; } throw new NotImplementedException();
/// <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 List<ShiftEnumType> ShiftTypes { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool Enable { get; set; }
} }
} }

View File

@@ -18,7 +18,7 @@ namespace Dlhis.Canteen.Order.Response
/// <summary> /// <summary>
/// 菜品编码 /// 菜品编码
/// </summary> /// </summary>
public Guid Code { get; set; } public string Code { get; set; }
/// <summary> /// <summary>
/// 菜品名称 /// 菜品名称
@@ -28,7 +28,7 @@ namespace Dlhis.Canteen.Order.Response
/// <summary> /// <summary>
/// 菜品类型 /// 菜品类型
/// </summary> /// </summary>
public CanteenDishesEnumType Type { get; set; } public CanteenMenuEnumType Type { get; set; }
/// <summary> /// <summary>
/// 菜品类型描述 /// 菜品类型描述

View File

@@ -120,7 +120,7 @@ namespace Dlhis.Canteen.Order.Response
/// <summary> /// <summary>
/// 订单类型 /// 订单类型
/// </summary> /// </summary>
public CanteenDishesEnumType OrderType { get; set; } public CanteenMenuEnumType OrderType { get; set; }
/// <summary> /// <summary>
/// 订单类型CN /// 订单类型CN

View File

@@ -1,7 +1,6 @@
using Dlhis.Canteen.Order.Request; using Dlhis.Canteen.Order.Request;
using Dlhis.Canteen.Order.Response; using Dlhis.Canteen.Order.Response;
using Kurisu.Core.DataAccess.Dto; using Kurisu.Core.DataAccess.Dto;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Canteen.Order.Services namespace Dlhis.Canteen.Order.Services
{ {
@@ -14,7 +13,5 @@ namespace Dlhis.Canteen.Order.Services
Task<Pagination<GetDishesResponse>> GetDishesAsync(GetDishesRequest request); Task<Pagination<GetDishesResponse>> GetDishesAsync(GetDishesRequest request);
Task SaveDishesAsync(SaveDishesRequest request); Task SaveDishesAsync(SaveDishesRequest request);
Task DispositionDishesAsync(DispositionDishesRequest request);
} }
} }

View File

@@ -24,16 +24,16 @@ namespace Dlhis.Canteen.Order.Services.Implements
public async Task<Pagination<GetMenuResponse>> GetMenuAsync(GetMenuRequest request) public async Task<Pagination<GetMenuResponse>> GetMenuAsync(GetMenuRequest request)
{ {
var page = await _dbContext.Queryable<CanteenMenuEntity>() var page = await _dbContext.Queryable<CanteenMenuEntity>()
.LeftJoin<BusinessPlaceEntity>((x,place) => x.PlaceCode == place.Code) .LeftJoin<BusinessPlaceEntity>((x, place) => x.PlaceCode == place.Code)
.WhereIF(!request.Factory.IsEmpty(),x => x.Factory == request.Factory)
.WhereIF(request.PlaceCode.HasValue, x => request.PlaceCode == x.PlaceCode) .WhereIF(request.PlaceCode.HasValue, x => request.PlaceCode == x.PlaceCode)
.WhereIF(!request.Search.IsEmpty(),x => x.Name.Contains(request.Search)) .WhereIF(!request.Search.IsEmpty(), x => x.Name.Contains(request.Search))
.Select((x,place) => new GetMenuResponse .Select((x, place) => new GetMenuResponse
{ {
ShiftTypesSrt = x.ShiftTypes.ToString(),
PlaceName = place.Name, PlaceName = place.Name,
},true)
}, true)
.ToPageListAsync(request); .ToPageListAsync(request);
return page; return page;
} }
@@ -44,50 +44,12 @@ namespace Dlhis.Canteen.Order.Services.Implements
.FirstAsync(x => x.Code == request.PlaceCode); .FirstAsync(x => x.Code == request.PlaceCode);
place.ThrowIfNull($"{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) public async Task<Pagination<GetDishesResponse>> GetDishesAsync(GetDishesRequest request)
{ {
if (!request.MenuCode.HasValue) return null;
{
return await _dbContext.Queryable<CanteenDishesEntity>()
.Select<GetDishesResponse>()
.ToPageListAsync(request);
}
else
{
var relas = await _dbContext.Queryable<CanteenMenuDishersRelationshipEntity>()
.Where(x => x.MenuCode == request.MenuCode)
.ToListAsync();
var disCodes = relas.Select(x => x.DishersCode).ToList();
var page = await _dbContext.Queryable<CanteenDishesEntity>()
.Where(discher => disCodes.Contains(discher.Code))
.Select<GetDishesResponse>()
.ToPageListAsync(request);
foreach (var res in page.Data)
{
res.RestrictedNum = relas.Where(x => x.DishersCode == res.Code)
.Select(x => x.RestrictedNum)
.FirstOrDefault();
}
return page;
}
} }
public async Task SaveDishesAsync(SaveDishesRequest request) public async Task SaveDishesAsync(SaveDishesRequest request)
@@ -95,33 +57,18 @@ namespace Dlhis.Canteen.Order.Services.Implements
if (!request.Id.HasValue) if (!request.Id.HasValue)
{ {
var dishers = request.Adapt<CanteenDishesEntity>(); var dishers = request.Adapt<CanteenDishesEntity>();
dishers.Code = Guid.NewGuid(); //todo 检验重复
dishers.CustomCode = request.CustomCode;
await _dbContext.InsertAsync(dishers); await _dbContext.InsertAsync(dishers);
} }
else else
{ {
var entity = await _dbContext.Queryable<CanteenDishesEntity>() var entity = await _dbContext.Queryable<CanteenDishesEntity>()
.Where(x => x.Id == request.Id).FirstAsync(); .Where(x => x.Id == request.Id).FirstAsync();
request.Adapt(entity); request.Adapt(entity);
await _dbContext.UpdateAsync(entity); await _dbContext.UpdateAsync(entity);
} }
} }
public async Task DispositionDishesAsync(DispositionDishesRequest request)
{
var lst = new List<CanteenMenuDishersRelationshipEntity>();
foreach (var dto in request.DishersDtos)
{
var entity = new CanteenMenuDishersRelationshipEntity
{
MenuCode = request.MenudCode,
DishersCode = dto.DisherCode,
RestrictedNum = dto.RestrictedNum,
};
lst.Add(entity);
}
await _dbContext.InsertAsync(lst);
}
} }
} }

View File

@@ -27,17 +27,18 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
public async Task<Pagination<GetMiniProgramOrderResponse>> GetMiniProgramOrderAsync(GetMiniProgramOrderRequest request) public async Task<Pagination<GetMiniProgramOrderResponse>> GetMiniProgramOrderAsync(GetMiniProgramOrderRequest request)
{ {
var page = await _dbContext.Queryable<MiniProgramOrderEntity>() var page = await _dbContext.Queryable<MiniProgramOrderEntity>()
.LeftJoin<BusinessPlaceEntity>((order,place) => order.PlaceCode == place.Code) .LeftJoin<BusinessPlaceEntity>((order, place) => order.PlaceCode == place.Code)
.LeftJoin<CanteenDishesEntity>((order, place,dishers) => order.DishesCode == dishers.Code) .LeftJoin<CanteenDishesEntity>((order, place, dishers) => order.DishesCode == dishers.CustomCode)
.LeftJoin<DepartmentEntity>((order, place, dishers,depart) => order.DepartmentNo == depart.No) .LeftJoin<DepartmentEntity>((order, place, dishers, depart) => order.DepartmentNo == depart.No)
.WhereIF(!request.Search.IsEmpty(), order => order.Name == request.Search || order.Code == request.Search) .WhereIF(!request.Search.IsEmpty(), order => order.Name == request.Search || order.Code == request.Search)
.OrderBy(order => order.CostDate,SqlSugar.OrderByType.Desc) .WhereIF(request.SysDate.HasValue, order => order.SysDate == request.SysDate)
.OrderBy(order => order.CostDate, OrderByType.Desc)
.Select((order, place, dishers, depart) => new GetMiniProgramOrderResponse .Select((order, place, dishers, depart) => new GetMiniProgramOrderResponse
{ {
PlaceName = place.Name, PlaceName = place.Name,
DepartmentName = depart.Name, DepartmentName = depart.Name,
DishesName = dishers.Name, DishesName = dishers.Name,
},true) }, true)
.ToPageListAsync(request); .ToPageListAsync(request);
return page; return page;
} }
@@ -61,8 +62,8 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
public async Task<Pagination<GetDetailResponse>> GetDetailAsync(GetDetailRequest request) public async Task<Pagination<GetDetailResponse>> GetDetailAsync(GetDetailRequest request)
{ {
var page = await _dbContext.Queryable<OrderDetailsEntity>() var page = await _dbContext.Queryable<OrderDetailsEntity>()
.WhereIF(!request.Search.IsEmpty(),x => x.ThirdNo == request.Search) .WhereIF(!request.Search.IsEmpty(), x => x.ThirdNo == request.Search)
.Select<GetDetailResponse>() .Select<GetDetailResponse>()
.ToPageListAsync(request); .ToPageListAsync(request);
@@ -79,7 +80,7 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
true.ThrowIfTrue("20:30之后无法订餐!"); true.ThrowIfTrue("20:30之后无法订餐!");
} }
//判断营业日 //判断营业日
var dishes = await _dbContext.Queryable<CanteenDishesEntity>().Where(x => x.Code == request.DishesCode).FirstAsync(); var dishes = await _dbContext.Queryable<CanteenDishesEntity>().Where(x => x.CustomCode == request.DishesCode).FirstAsync();
dishes.Enable.ThrowIfFalse($"{dishes.Name}没启用!"); dishes.Enable.ThrowIfFalse($"{dishes.Name}没启用!");
var menu = await _dbContext.Queryable<CanteenMenuEntity>().Where(x => x.Code == request.MenuCode).FirstAsync(); var menu = await _dbContext.Queryable<CanteenMenuEntity>().Where(x => x.Code == request.MenuCode).FirstAsync();
@@ -92,7 +93,7 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
true.ThrowIfTrue($"菜品:{dishes.Name}对应的菜单:{menu.Name}不在营业日!"); true.ThrowIfTrue($"菜品:{dishes.Name}对应的菜单:{menu.Name}不在营业日!");
} }
var restricted= await _dbContext.Queryable< CanteenMenuDishersRelationshipEntity>() var restricted = await _dbContext.Queryable<CanteenMenuDishersRelationshipEntity>()
.Where(x => x.MenuCode == request.MenuCode && x.DishersCode == request.DishesCode).FirstAsync(); .Where(x => x.MenuCode == request.MenuCode && x.DishersCode == request.DishesCode).FirstAsync();
restricted.ThrowIfNull($"每日菜单:{menu.Name} 还没有配置菜品:{dishes.Name} 的限售数量!"); restricted.ThrowIfNull($"每日菜单:{menu.Name} 还没有配置菜品:{dishes.Name} 的限售数量!");
if (restricted.RestrictedNum < 0) if (restricted.RestrictedNum < 0)
@@ -112,17 +113,17 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
flag.ThrowIfTrue($"工号:{request.UserCode} 姓名:{gainfo.Name} 已经定过{tomorrow}的{request.ShiftType.GetDescription()}!"); flag.ThrowIfTrue($"工号:{request.UserCode} 姓名:{gainfo.Name} 已经定过{tomorrow}的{request.ShiftType.GetDescription()}!");
//支付方式 //支付方式
var result = await _tenantApi.GetTenantTreeAsync(); /* var result = await _tenantApi.GetTenantTreeAsync();
var tree = result.Data; var tree = result.Data;
var shanxi = tree.Where(x => x.Name == "山西基地").FirstOrDefault(); var shanxi = tree.Where(x => x.Name == "山西基地").FirstOrDefault();
var codes = shanxi.Next.Select(x => x.Code).ToList(); var codes = shanxi.Next.Select(x => x.Code).ToList();
if (!codes.Contains(gainfo.Factory)) if (!codes.Contains(gainfo.Factory))
{ {
if (request.PayType == CanteenPayEnumType.Repair) if (request.PayType == CanteenPayEnumType.Repair)
{ {
true.ThrowIfTrue($"非山西,支付方式不能为{request.PayType.GetDescription()}"); true.ThrowIfTrue($"非山西,支付方式不能为{request.PayType.GetDescription()}");
} }
} }*/
//生成订单 //生成订单
var order = new MiniProgramOrderEntity var order = new MiniProgramOrderEntity
@@ -150,24 +151,25 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
{ {
ThirdNo = order.No, ThirdNo = order.No,
SysDate = tomorrow, SysDate = tomorrow,
ShiftType= request.ShiftType, ShiftType = request.ShiftType,
DishesCode= request.DishesCode, DishesCode = request.DishesCode,
DishesName = dishes.Name, DishesName = dishes.Name,
Price = dishes.Amount, Price = dishes.Price,
Unit = dishes.Unit, Unit = dishes.Unit,
Num = request.DishesNum, Number = request.DishesNum,
Amount = request.DishesNum * dishes.Amount, Amount = request.DishesNum * dishes.Price,
OrderStatus = OrderDetailsStatusEnumType.I, Status = OrderDetailsStatusEnumType.I,
}; };
order.TotalAmount = detail.Amount; order.Amount = detail.Amount;
await _dbContext.InsertAsync(order); await _dbContext.InsertAsync(order);
await _dbContext.InsertAsync(detail); await _dbContext.InsertAsync(detail);
//扣减份数 //扣减份数
var effect = await _dbContext.Updateable<CanteenMenuDishersRelationshipEntity>() var effect = await _dbContext.Updateable<CanteenMenuDishersRelationshipEntity>()
.SetColumns(x => x.RestrictedNum == restricted.RestrictedNum - request.DishesNum) .SetColumns(x => x.RestrictedNum == restricted.RestrictedNum - request.DishesNum)
.SetColumns(x => x.Version == x.Version + 1) .SetColumns(x => x.Version == x.Version + 1)
.Where(x => x.MenuCode == request.MenuCode && x.DishersCode == request.DishesCode && x.Version == restricted.Version) .Where(x => x.MenuCode == request.MenuCode && x.DishersCode == request.DishesCode && x.Version == restricted.Version)
.ExecuteCommandAsync(); .ExecuteCommandAsync();
if (effect <= 0) throw new VersionExceptions("更新版本冲突"); if (effect <= 0) throw new VersionExceptions("更新版本冲突");
} }

View File

@@ -1,83 +1,76 @@
using Dlhis.Entity.Canteen.Enums; using Kurisu.Core.DataAccess.Entity;
using Kurisu.Core.DataAccess.Entity;
using Kurisu.SqlSugar; using Kurisu.SqlSugar;
using Mapster;
using 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 namespace Dlhis.Entity.Canteen.Entities;
/// <summary>
/// 菜品表
/// </summary>
[SugarTable(TableName = "CanteenDishes", TableDescription = "菜品表")]
public class CanteenDishesEntity : SugarBaseEntity, ITenantId
{ {
/// <summary> /// <summary>
/// 菜品表 /// 大类
/// </summary> /// </summary>
[SugarTable(TableName = "CanteenDishes", TableDescription = "菜品表")] [SugarColumn(ColumnDescription = "父类")]
public class CanteenDishesEntity : SugarBaseEntity, ITenantId public string PCategory { get; set; }
{
/// <summary> /// <summary>
/// 大类 /// 小类
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "大类")] [SugarColumn(ColumnDescription = "分类", IsNullable = false)]
public string Categories { get; set; } public string Category { get; set; }
/// <summary> /// <summary>
/// 小类 /// 营业点
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "小类")] public Guid BusinessPlaceCode { get; set; }
public string SubCategories { get; set; }
/// <summary> /// <summary>
/// 菜品编码 /// 菜品编码
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "菜品编码")] [AdaptIgnore(MemberSide.Destination)]
public Guid Code { get; set; } [SugarColumn(ColumnDescription = "菜品编码", IsNullable = false)]
public string CustomCode { get; set; }
/// <summary> /// <summary>
/// 菜品名称 /// 菜品名称
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "菜品名称")] [SugarColumn(ColumnDescription = "菜品名称", IsNullable = false)]
public string Name { get; set; } public string Name { get; set; }
/// <summary> ///// <summary>
/// 类型 ///// 类型
/// </summary> ///// </summary>
[SugarColumn(ColumnDescription = "类型", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] //[SugarColumn(ColumnDescription = "类型", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public CanteenDishesEnumType Type { get; set; } //public CanteenDishesEnumType Type { get; set; }
/// <summary> /// <summary>
/// 描述 /// 描述
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "描述")] [SugarColumn(ColumnDescription = "描述")]
public string Description { get; set; } public string Description { get; set; }
/// <summary> /// <summary>
/// 单价 /// 单价
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "单价")] [SugarColumn(ColumnDescription = "单价")]
public decimal Amount { get; set; } public decimal Price { get; set; }
/// <summary> /// <summary>
/// 单位 /// 图片
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "单位")] [SugarColumn(ColumnDescription = "图片")]
public string Unit { get; set; } public string ImageUrl { get; set; }
/// <summary> /// <summary>
/// 图片 /// 是否启用
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "图片")] [SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否启用")]
public string Image { get; set; } public bool Enable { get; set; }
/// <summary>
/// 是否启用
/// </summary>
[SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否启用")]
public bool Enable { get; set; }
public string TenantId { get; set; } public string TenantId { get; set; }
}
} }

View File

@@ -1,32 +0,0 @@
using Kurisu.SqlSugar;
using SqlSugar;
namespace Dlhis.Entity.Canteen.Entities
{
/// <summary>
/// 菜单菜品表
/// </summary>
[SugarTable(TableName = "CanteenMenuDishersRelationship", TableDescription = "菜单菜品表")]
public class CanteenMenuDishersRelationshipEntity : SugarBaseEntity
{
/// <summary>
/// 菜单code
/// </summary>
public Guid MenuCode { get; set; }
/// <summary>
/// 菜品code
/// </summary>
public Guid DishersCode { get; set; }
/// <summary>
/// 限售份数
/// </summary>
public int RestrictedNum { get; set; }
/// <summary>
/// 版本
/// </summary>
public int Version { get; set; }
}
}

View File

@@ -2,6 +2,7 @@
using Kurisu.Core.DataAccess.Entity; using Kurisu.Core.DataAccess.Entity;
using Kurisu.SqlSugar; using Kurisu.SqlSugar;
using SqlSugar; using SqlSugar;
using SqlSugar.DbConvert;
namespace Dlhis.Entity.Canteen.Entities; namespace Dlhis.Entity.Canteen.Entities;
@@ -9,52 +10,63 @@ namespace Dlhis.Entity.Canteen.Entities;
/// 菜单表 /// 菜单表
/// </summary> /// </summary>
[SugarTable(TableName = "CanteenMenu", TableDescription = "菜单表")] [SugarTable(TableName = "CanteenMenu", TableDescription = "菜单表")]
public class CanteenMenuEntity : SugarBaseEntity, ITenantId public class CanteenMenuEntity : SugarBaseEntity, ITenantId, IVersion
{ {
/// <summary>
/// 菜单编码
/// </summary>
[SugarColumn(ColumnDescription = "菜单编码")]
public Guid Code { get; set; }
/// <summary> /// <summary>
/// 菜单名称 /// 菜单名称
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "菜单名称")] [SugarColumn(ColumnDescription = "菜单名称")]
public string Name { get; set; } public string Name { get; set; }
/// <summary>
/// 菜单类型
/// </summary>
[SugarColumn(SqlParameterDbType = typeof(EnumToStringConvert))]
public CanteenMenuEnumType Type { get; set; }
/// <summary> /// <summary>
/// 所属营业点 /// 所属营业点
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "所属营业点")] [SugarColumn(ColumnDescription = "所属营业点")]
public Guid PlaceCode { get; set; } public Guid PlaceCode { get; set; }
/// <summary>
/// 厂区
/// </summary>
[SugarColumn(ColumnDescription = "厂区")]
public string Factory { get; set; }
/// <summary> /// <summary>
/// 营业日期 /// 营业日期
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "营业日期")] [SugarColumn(ColumnDataType = "date", ColumnDescription = "营业日期")]
public DateOnly StartDate { get; set; } public DateTime Date { get; set; }
/// <summary> /// <summary>
/// 餐次段 /// 餐次
/// </summary> /// </summary>
[SugarColumn(ColumnDataType = "varchar(150)", IsJson = true, ColumnDescription = "餐次段", DefaultValue = "[]")] [SugarColumn(ColumnDataType = "varchar(50)", ColumnDescription = "餐次")]
public List<ShiftEnumType> ShiftTypes { get; set; } public ShiftEnumType ShiftType { get; set; }
/// <summary>
/// 菜品编码
/// </summary>
public string DishesCode { get; set; }
/// <summary>
/// 剩余数量
/// </summary>
public int Number { get; set; }
/// <summary> /// <summary>
/// 是否启用 /// 是否启用
/// </summary> /// </summary>
[SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否启用")] [SugarColumn(ColumnDataType = "bit", ColumnDescription = "是否启用")]
public bool Enable { get; set; } public bool Enable { get; set; }
public string TenantId { get; set; } public string TenantId { get; set; }
/// <summary>
/// 并发控制
/// </summary>
public int Version { get; set; }
} }

View File

@@ -72,12 +72,6 @@ namespace Dlhis.Entity.Canteen.Entities
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "餐次")] [SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "餐次")]
public ShiftEnumType ShiftType { get; set; } public ShiftEnumType ShiftType { get; set; }
/// <summary>
/// 菜品
/// </summary>
[SugarColumn(ColumnDescription = "菜品")]
public Guid DishesCode { get; set; }
/// <summary> /// <summary>
/// 手机号码 /// 手机号码
/// </summary> /// </summary>
@@ -88,19 +82,13 @@ namespace Dlhis.Entity.Canteen.Entities
/// 用餐日期 /// 用餐日期
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "用餐日期")] [SugarColumn(ColumnDescription = "用餐日期")]
public DateOnly SysDate { get; set; } public DateTime UseDate { get; set; }
/// <summary>
/// 下单时间
/// </summary>
[SugarColumn(ColumnDescription = "下单时间")]
public DateTime CostDate { get; set; }
/// <summary> /// <summary>
/// 支付方式 /// 支付方式
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "支付方式", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))] [SugarColumn(ColumnDescription = "支付方式", ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert))]
public CanteenPayEnumType PayType { get; set; } public BalanceRecordSourceEnumType PayType { get; set; }
/// <summary> /// <summary>
/// 订单状态 /// 订单状态
@@ -112,13 +100,14 @@ namespace Dlhis.Entity.Canteen.Entities
/// 订单类型 /// 订单类型
/// </summary> /// </summary>
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "订单类型")] [SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "订单类型")]
public CanteenDishesEnumType OrderType { get; set; } public CanteenMenuEnumType OrderType { get; set; }
/// <summary> /// <summary>
/// 总金额 /// 总金额
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "总金额")] [SugarColumn(ColumnDescription = "金额")]
public decimal TotalAmount { get; set; } public decimal Amount { get; set; }
public string TenantId { get; set; } public string TenantId { get; set; }
} }

View File

@@ -4,74 +4,50 @@ using Kurisu.SqlSugar;
using SqlSugar; using SqlSugar;
using SqlSugar.DbConvert; using SqlSugar.DbConvert;
namespace Dlhis.Entity.Canteen.Entities namespace Dlhis.Entity.Canteen.Entities;
/// <summary>
/// 订餐明细表
/// </summary>
[SugarTable(TableName = "OrderDetails", TableDescription = "订餐明细表")]
public class OrderDetailsEntity : SugarBaseEntity, ITenantId
{ {
/// <summary> /// <summary>
/// 订餐明细表 /// 订单号
/// </summary> /// </summary>
[SugarTable(TableName = "OrderDetails", TableDescription = "订餐明细表")] [SugarColumn(ColumnDescription = "订单号")]
public class OrderDetailsEntity : SugarBaseEntity, ITenantId public string OrderNo { get; set; }
{
/// <summary>
/// 订单号
/// </summary>
[SugarColumn(ColumnDescription = "订单号")]
public string ThirdNo { get; set; }
/// <summary> /// <summary>
/// 营业日(用餐日期) /// 菜品编码
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "营业日")] [SugarColumn(ColumnDescription = "菜品编码")]
public DateOnly SysDate { get; set; } public string DishesCode { get; set; }
/// <summary> /// <summary>
/// 餐次 /// 单价
/// </summary> /// </summary>
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "餐次")] [SugarColumn(ColumnDescription = "单价")]
public ShiftEnumType ShiftType { get; set; } public decimal Price { get; set; }
/// <summary> /// <summary>
/// 菜品编码 /// 数量
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "菜品编码")] [SugarColumn(ColumnDescription = "数量")]
public Guid DishesCode { get; set; } public int Number { get; set; }
/// <summary> /// <summary>
/// 菜品名称 /// 单位
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "菜品名称")] [SugarColumn(ColumnDescription = "单位")]
public string DishesName { get; set; } public string Unit { get; set; }
/// <summary>
/// 单价
/// </summary>
[SugarColumn(ColumnDescription = "单价")]
public decimal Price { get; set; }
/// <summary> /// <summary>
/// 单位 /// 订单明细状态
/// </summary> /// </summary>
[SugarColumn(ColumnDescription = "单位")] [SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "订单明细状态")]
public string Unit { get; set; } public OrderDetailsStatusEnumType Status { get; set; }
/// <summary> public string TenantId { get; set; }
/// 数量
/// </summary>
[SugarColumn(ColumnDescription = "数量")]
public int Num { get; set; }
/// <summary>
/// 金额
/// </summary>
[SugarColumn(ColumnDescription = "金额")]
public decimal Amount { get; set; }
/// <summary>
/// 订单明细状态
/// </summary>
[SugarColumn(ColumnDataType = "varchar(50)", SqlParameterDbType = typeof(EnumToStringConvert), ColumnDescription = "订单明细状态")]
public OrderDetailsStatusEnumType OrderStatus { get; set; }
public string TenantId { get; set; }
}
} }

View File

@@ -1,35 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dlhis.Entity.Canteen.Enums
{
/// <summary>
/// 菜品类型
/// </summary>
[Description("菜品类型")]
public enum CanteenDishesEnumType
{
/// <summary>
/// 订餐
/// </summary>
[Description("订餐")]
Order = 1,
/// <summary>
/// 扫码点餐
/// </summary>
[Description("扫码点餐")]
QrCode=2,
/// <summary>
/// 通用
/// </summary>
[Description("通用")]
General = 3,
}
}

View File

@@ -0,0 +1,28 @@
using System.ComponentModel;
namespace Dlhis.Entity.Canteen.Enums;
/// <summary>
/// 菜品类型 CanteenMenuEnumType
/// </summary>
[Description("菜品类型")]
public enum CanteenMenuEnumType
{
/// <summary>
/// 订餐
/// </summary>
[Description("订餐")]
Order = 1,
/// <summary>
/// 扫码点餐
/// </summary>
[Description("扫码点餐")]
QrCode=2,
/// <summary>
/// 通用
/// </summary>
[Description("通用")]
General = 3,
}

View File

@@ -1,28 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Dlhis.Entity.Canteen.Enums
{
/// <summary>
/// 支付方式
/// </summary>
[Description("支付方式")]
public enum CanteenPayEnumType
{
/// <summary>
/// 餐补
/// </summary>
[Description("餐补")]
Repair = 1,
/// <summary>
/// 现场
/// </summary>
[Description("现场")]
Scene = 2,
}
}