fix 字段修改1
This commit is contained in:
@@ -68,7 +68,7 @@ public class MenuDishesController : ControllerBase
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 配置菜单菜品
|
||||
/// 配置每日菜单菜品及限售
|
||||
/// </summary>
|
||||
/// <param name="request"></param>
|
||||
/// <returns></returns>
|
||||
|
||||
10
Src/Dlhis.Canteen/Order/Request/DispositionDishesDto.cs
Normal file
10
Src/Dlhis.Canteen/Order/Request/DispositionDishesDto.cs
Normal file
@@ -0,0 +1,10 @@
|
||||
namespace Dlhis.Canteen.Order.Request
|
||||
{
|
||||
public class DispositionDishesDto
|
||||
{
|
||||
public Guid DisherCode { get; set; }
|
||||
|
||||
public int RestrictedNum { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
public class DispositionDishesRequest
|
||||
{
|
||||
public Guid MenudCode { get; set; }
|
||||
public List<Guid> DishersCodes { get; set; }
|
||||
|
||||
public List<DispositionDishesDto> DishersDtos { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace Dlhis.Canteen.Order.Request
|
||||
public Guid PlaceCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐别
|
||||
/// 餐次
|
||||
/// </summary>
|
||||
public ShiftEnumType ShiftType { get; set; }
|
||||
|
||||
@@ -27,6 +27,11 @@ namespace Dlhis.Canteen.Order.Request
|
||||
/// </summary>
|
||||
public string Address { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜单
|
||||
/// </summary>
|
||||
public Guid MenuCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 菜品
|
||||
/// </summary>
|
||||
|
||||
@@ -46,11 +46,6 @@ namespace Dlhis.Canteen.Order.Request
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 限售份数
|
||||
/// </summary>
|
||||
public int RestrictedNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图片
|
||||
/// </summary>
|
||||
|
||||
@@ -26,14 +26,10 @@ namespace Dlhis.Canteen.Order.Request
|
||||
public string Factory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始日期
|
||||
/// 营业日期
|
||||
/// </summary>
|
||||
public DateOnly StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束日期
|
||||
/// </summary>
|
||||
public DateOnly EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次段
|
||||
|
||||
@@ -7,10 +7,6 @@ namespace Dlhis.Canteen.Order.Response
|
||||
{
|
||||
public class GetDishesResponse
|
||||
{
|
||||
/// <summary>
|
||||
/// 菜单名称
|
||||
/// </summary>
|
||||
public string MenuName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 大类
|
||||
@@ -57,10 +53,6 @@ namespace Dlhis.Canteen.Order.Response
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 限售份数
|
||||
/// </summary>
|
||||
public int RestrictedNum { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 图片
|
||||
|
||||
@@ -32,14 +32,10 @@ namespace Dlhis.Canteen.Order.Response
|
||||
public string Factory { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 开始日期
|
||||
/// 营业日期
|
||||
/// </summary>
|
||||
public DateOnly StartDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结束日期
|
||||
/// </summary>
|
||||
public DateOnly EndDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 餐次段
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace Dlhis.Canteen.Order.Services.Implements
|
||||
.Select((x,place) => new GetMenuResponse
|
||||
{
|
||||
ShiftTypesSrt = x.ShiftTypes.ToString(),
|
||||
//ShiftTypesSrt = string.Join(", ", x.ShiftTypes.Select(enumValue => enumValue.GetDescription())),
|
||||
PlaceName = place.Name,
|
||||
},true)
|
||||
.ToPageListAsync(request);
|
||||
@@ -100,12 +101,14 @@ namespace Dlhis.Canteen.Order.Services.Implements
|
||||
public async Task DispositionDishesAsync(DispositionDishesRequest request)
|
||||
{
|
||||
var lst = new List<CanteenMenuDishersRelationshipEntity>();
|
||||
foreach (var dCode in request.DishersCodes)
|
||||
|
||||
foreach (var dto in request.DishersDtos)
|
||||
{
|
||||
var entity = new CanteenMenuDishersRelationshipEntity
|
||||
{
|
||||
MenuCode = request.MenudCode,
|
||||
DishersCode = dCode,
|
||||
DishersCode = dto.DisherCode,
|
||||
RestrictedNum = dto.RestrictedNum,
|
||||
};
|
||||
lst.Add(entity);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ using Kurisu.Core.DataAccess.Dto;
|
||||
using Kurisu.SqlSugar.Extensions;
|
||||
using Kurisu.SqlSugar.Services;
|
||||
using Mapster;
|
||||
using SqlSugar;
|
||||
|
||||
namespace Dlhis.Canteen.Order.Services.Implements;
|
||||
|
||||
@@ -82,16 +83,20 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
|
||||
var dishes = await _dbContext.Queryable<CanteenDishesEntity>().Where(x => x.Code == request.DishesCode).FirstAsync();
|
||||
dishes.Enable.ThrowIfFalse($"{dishes.Name}没启用!");
|
||||
|
||||
//var menu = await _dbContext.Queryable<CanteenMenuEntity>().Where(x => x.Code == dishes.MenuCode).FirstAsync();
|
||||
//menu.Enable.ThrowIfFalse($"{dishes.Name}没启用!");
|
||||
var menu = await _dbContext.Queryable<CanteenMenuEntity>().Where(x => x.Code == request.MenuCode).FirstAsync();
|
||||
menu.Enable.ThrowIfFalse($"{dishes.Name}没启用!");
|
||||
|
||||
// 获取用餐日期
|
||||
DateOnly tomorrow = DateOnly.FromDateTime(DateTime.Today.AddDays(1));
|
||||
//if (!(tomorrow >= menu.StartDate && tomorrow <= menu.EndDate))
|
||||
//{
|
||||
// true.ThrowIfTrue($"菜品:{dishes.Name}对应的菜单:{menu.Name}不在营业日!");
|
||||
//}
|
||||
if(dishes.RestrictedNum < 0)
|
||||
if (tomorrow != menu.StartDate)
|
||||
{
|
||||
true.ThrowIfTrue($"菜品:{dishes.Name}对应的菜单:{menu.Name}不在营业日!");
|
||||
}
|
||||
|
||||
var restricted= await _dbContext.Queryable< CanteenMenuDishersRelationshipEntity>()
|
||||
.Where(x => x.MenuCode == request.MenuCode && x.DishersCode == request.DishesCode).FirstAsync();
|
||||
restricted.ThrowIfNull($"每日菜单:{menu.Name} 还没有配置菜品:{dishes.Name} 的限售数量!");
|
||||
if (restricted.RestrictedNum < 0)
|
||||
{
|
||||
true.ThrowIfTrue($"菜品:{dishes.Name}已售罄!");
|
||||
}
|
||||
@@ -99,6 +104,7 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
|
||||
var gainfo = await _dbContext.Queryable<GainfoEntity>()
|
||||
.Where(x => x.Code == request.UserCode)
|
||||
.FirstAsync();
|
||||
gainfo.ThrowIfNull($"用户{request.UserCode}无档案信息,无法订餐!");
|
||||
|
||||
//判断是否订过餐
|
||||
var flag = await _dbContext.Queryable<MiniProgramOrderEntity>()
|
||||
@@ -140,7 +146,7 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
|
||||
OrderStatus = MiniProgramOrderStatusEnumType.I,
|
||||
OrderType = dishes.Type,
|
||||
};
|
||||
//订单明细
|
||||
//生成订单明细
|
||||
var detail = new OrderDetailsEntity
|
||||
{
|
||||
ThirdNo = order.No,
|
||||
@@ -155,11 +161,16 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
|
||||
OrderStatus = OrderDetailsStatusEnumType.I,
|
||||
};
|
||||
order.TotalAmount = detail.Amount;
|
||||
|
||||
await _dbContext.InsertAsync(order);
|
||||
await _dbContext.InsertAsync(detail);
|
||||
dishes.RestrictedNum-=request.DishesNum;
|
||||
await _dbContext.UpdateAsync(dishes);
|
||||
//扣减份数
|
||||
var effect = await _dbContext.Updateable<CanteenMenuDishersRelationshipEntity>()
|
||||
.SetColumns(x => x.RestrictedNum == restricted.RestrictedNum - request.DishesNum)
|
||||
.SetColumns(x => x.Version == x.Version + 1)
|
||||
.Where(x => x.MenuCode == request.MenuCode && x.DishersCode == request.DishesCode && x.Version == restricted.Version)
|
||||
.ExecuteCommandAsync();
|
||||
|
||||
if (effect <= 0) throw new VersionExceptions("更新版本冲突");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user