From 9fc0719bad2748388c5fa0f419f937b5bfecd2aa Mon Sep 17 00:00:00 2001
From: cheche <717840555@qq.com>
Date: Fri, 15 Mar 2024 10:40:05 +0800
Subject: [PATCH] =?UTF-8?q?feat=20=E9=85=8D=E7=BD=AE=E8=8F=9C=E5=93=81?=
=?UTF-8?q?=E8=8F=9C=E5=8D=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Order/Controllers/MenuDishesController.cs | 11 +++++
.../Order/Request/DispositionDishesRequest.cs | 8 ++++
.../Order/Request/SaveDishesRequest.cs | 5 --
.../Order/Response/GetDishesResponse.cs | 5 --
.../Order/Services/IMenuDishesService.cs | 2 +
.../Services/Implements/MenuDishesService.cs | 46 +++++++++++++------
.../MiniProgramOrderDetailService.cs | 12 ++---
.../Canteen/Entities/CanteenDishesEntity.cs | 5 --
.../CanteenMenuDishersRelationshipEntity.cs | 17 +++++++
9 files changed, 76 insertions(+), 35 deletions(-)
create mode 100644 Src/Dlhis.Canteen/Order/Request/DispositionDishesRequest.cs
create mode 100644 Src/Dlhis.Entity/Canteen/Entities/CanteenMenuDishersRelationshipEntity.cs
diff --git a/Src/Dlhis.Canteen/Order/Controllers/MenuDishesController.cs b/Src/Dlhis.Canteen/Order/Controllers/MenuDishesController.cs
index 4c04d817..9001b4f4 100644
--- a/Src/Dlhis.Canteen/Order/Controllers/MenuDishesController.cs
+++ b/Src/Dlhis.Canteen/Order/Controllers/MenuDishesController.cs
@@ -66,5 +66,16 @@ public class MenuDishesController : ControllerBase
{
await _menuDishesService.SaveDishesAsync(request);
}
+
+ ///
+ /// 配置菜单菜品
+ ///
+ ///
+ ///
+ [HttpPost("disposition")]
+ public async Task DispositionDishesAsync(DispositionDishesRequest request)
+ {
+ await _menuDishesService.DispositionDishesAsync(request);
+ }
}
diff --git a/Src/Dlhis.Canteen/Order/Request/DispositionDishesRequest.cs b/Src/Dlhis.Canteen/Order/Request/DispositionDishesRequest.cs
new file mode 100644
index 00000000..5beb9f23
--- /dev/null
+++ b/Src/Dlhis.Canteen/Order/Request/DispositionDishesRequest.cs
@@ -0,0 +1,8 @@
+namespace Dlhis.Canteen.Order.Request
+{
+ public class DispositionDishesRequest
+ {
+ public Guid MenudCode { get; set; }
+ public List DishersCodes { get; set; }
+ }
+}
diff --git a/Src/Dlhis.Canteen/Order/Request/SaveDishesRequest.cs b/Src/Dlhis.Canteen/Order/Request/SaveDishesRequest.cs
index 1a05a4ba..11429d96 100644
--- a/Src/Dlhis.Canteen/Order/Request/SaveDishesRequest.cs
+++ b/Src/Dlhis.Canteen/Order/Request/SaveDishesRequest.cs
@@ -10,11 +10,6 @@ namespace Dlhis.Canteen.Order.Request
public long? Id { get; set; }
- ///
- /// 菜单编码
- ///
- public Guid MenuCode { get; set; }
-
///
/// 大类
///
diff --git a/Src/Dlhis.Canteen/Order/Response/GetDishesResponse.cs b/Src/Dlhis.Canteen/Order/Response/GetDishesResponse.cs
index aafee2b4..3fa98a24 100644
--- a/Src/Dlhis.Canteen/Order/Response/GetDishesResponse.cs
+++ b/Src/Dlhis.Canteen/Order/Response/GetDishesResponse.cs
@@ -7,11 +7,6 @@ namespace Dlhis.Canteen.Order.Response
{
public class GetDishesResponse
{
- ///
- /// 菜单编码
- ///
- public Guid MenuCode { get; set; }
-
///
/// 菜单名称
///
diff --git a/Src/Dlhis.Canteen/Order/Services/IMenuDishesService.cs b/Src/Dlhis.Canteen/Order/Services/IMenuDishesService.cs
index 63e2a697..020b5bed 100644
--- a/Src/Dlhis.Canteen/Order/Services/IMenuDishesService.cs
+++ b/Src/Dlhis.Canteen/Order/Services/IMenuDishesService.cs
@@ -14,5 +14,7 @@ namespace Dlhis.Canteen.Order.Services
Task> GetDishesAsync(GetDishesRequest request);
Task SaveDishesAsync(SaveDishesRequest request);
+
+ Task DispositionDishesAsync(DispositionDishesRequest request);
}
}
diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/MenuDishesService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/MenuDishesService.cs
index 2b1c3443..84b2d4dd 100644
--- a/Src/Dlhis.Canteen/Order/Services/Implements/MenuDishesService.cs
+++ b/Src/Dlhis.Canteen/Order/Services/Implements/MenuDishesService.cs
@@ -61,24 +61,27 @@ namespace Dlhis.Canteen.Order.Services.Implements
public async Task> GetDishesAsync(GetDishesRequest request)
{
- var page = await _dbContext.Queryable()
- .LeftJoin((x,menu)=>x.MenuCode == menu.Code)
- .WhereIF(request.MenuCode.HasValue, x => request.MenuCode == x.MenuCode)
- .WhereIF(!request.Search.IsEmpty(),x => x.Name.Contains(request.Search))
- .Select((x,menu) => new GetDishesResponse
- {
- MenuName = menu.Name,
- },true)
- .ToPageListAsync(request);
- return page;
+ if (!request.MenuCode.HasValue)
+ {
+ return await _dbContext.Queryable()
+ .Select()
+ .ToPageListAsync(request);
+ }
+ else
+ {
+ var disCodes = await _dbContext.Queryable()
+ .Where(x => x.MenuCode == request.MenuCode)
+ .Select(x => x.DishersCode)
+ .ToListAsync();
+ return await _dbContext.Queryable()
+ .Where(x => disCodes.Contains(x.Code))
+ .Select()
+ .ToPageListAsync(request);
+ }
}
public async Task SaveDishesAsync(SaveDishesRequest request)
{
- var menu = await _dbContext.Queryable()
- .FirstAsync(x => x.Code == request.MenuCode);
- menu.ThrowIfNull($"{request.MenuCode}:该菜单不存在!");
-
if (!request.Id.HasValue)
{
var dishers = request.Adapt();
@@ -93,5 +96,20 @@ namespace Dlhis.Canteen.Order.Services.Implements
await _dbContext.UpdateAsync(entity);
}
}
+
+ public async Task DispositionDishesAsync(DispositionDishesRequest request)
+ {
+ var lst = new List();
+ foreach (var dCode in request.DishersCodes)
+ {
+ var entity = new CanteenMenuDishersRelationshipEntity
+ {
+ MenuCode = request.MenudCode,
+ DishersCode = dCode,
+ };
+ lst.Add(entity);
+ }
+ await _dbContext.InsertAsync(lst);
+ }
}
}
diff --git a/Src/Dlhis.Canteen/Order/Services/Implements/MiniProgramOrderDetailService.cs b/Src/Dlhis.Canteen/Order/Services/Implements/MiniProgramOrderDetailService.cs
index c322f622..b30107d1 100644
--- a/Src/Dlhis.Canteen/Order/Services/Implements/MiniProgramOrderDetailService.cs
+++ b/Src/Dlhis.Canteen/Order/Services/Implements/MiniProgramOrderDetailService.cs
@@ -82,15 +82,15 @@ public class MiniProgramOrderDetailService : IMiniProgramOrderDetailService
var dishes = await _dbContext.Queryable().Where(x => x.Code == request.DishesCode).FirstAsync();
dishes.Enable.ThrowIfFalse($"{dishes.Name}没启用!");
- var menu = await _dbContext.Queryable().Where(x => x.Code == dishes.MenuCode).FirstAsync();
- menu.Enable.ThrowIfFalse($"{dishes.Name}没启用!");
+ //var menu = await _dbContext.Queryable().Where(x => x.Code == dishes.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 (!(tomorrow >= menu.StartDate && tomorrow <= menu.EndDate))
+ //{
+ // true.ThrowIfTrue($"菜品:{dishes.Name}对应的菜单:{menu.Name}不在营业日!");
+ //}
if(dishes.RestrictedNum < 0)
{
true.ThrowIfTrue($"菜品:{dishes.Name}已售罄!");
diff --git a/Src/Dlhis.Entity/Canteen/Entities/CanteenDishesEntity.cs b/Src/Dlhis.Entity/Canteen/Entities/CanteenDishesEntity.cs
index b1136216..7c8a4292 100644
--- a/Src/Dlhis.Entity/Canteen/Entities/CanteenDishesEntity.cs
+++ b/Src/Dlhis.Entity/Canteen/Entities/CanteenDishesEntity.cs
@@ -16,11 +16,6 @@ namespace Dlhis.Entity.Canteen.Entities
[SugarTable(TableName = "CanteenDishes", TableDescription = "菜品表")]
public class CanteenDishesEntity : SugarBaseEntity
{
- ///
- /// 菜单编码
- ///
- [SugarColumn(ColumnDescription = "菜单编码")]
- public Guid MenuCode { get; set; }
///
/// 大类
diff --git a/Src/Dlhis.Entity/Canteen/Entities/CanteenMenuDishersRelationshipEntity.cs b/Src/Dlhis.Entity/Canteen/Entities/CanteenMenuDishersRelationshipEntity.cs
new file mode 100644
index 00000000..28341644
--- /dev/null
+++ b/Src/Dlhis.Entity/Canteen/Entities/CanteenMenuDishersRelationshipEntity.cs
@@ -0,0 +1,17 @@
+using Kurisu.SqlSugar;
+using SqlSugar;
+
+namespace Dlhis.Entity.Canteen.Entities
+{
+ ///
+ /// 菜单菜品表
+ ///
+ [SugarTable(TableName = "CanteenMenuDishersRelationship", TableDescription = "菜单菜品表")]
+ public class CanteenMenuDishersRelationshipEntity : SugarBaseEntity
+ {
+ public Guid MenuCode { get; set; }
+
+
+ public Guid DishersCode { get; set; }
+ }
+}