From 7374d934381f81e835314f60dc411b963614d803 Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期一, 04 八月 2025 18:36:29 +0800
Subject: [PATCH] pref:菜单优化

---
 FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs b/FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
index 21d9a7e..3816ddf 100644
--- a/FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
+++ b/FlexJobApi.User.Application/Menus/Commands/SaveMenuButtonCommandHandler.cs
@@ -24,9 +24,12 @@
         /// <inheritdoc/>
         public async Task<Guid> Handle(SaveMenuButtonCommand request, CancellationToken cancellationToken)
         {
+            var parent = await rep.FirstOrDefaultAsync(it => it.Id == request.ParentId);
+            if (parent == null) throw Oops.Oh(EnumErrorCodeType.s404, "涓婄骇鑿滃崟");
             if (request.Id.HasValue)
             {
                 var entity = await rep.FirstOrDefaultAsync(it => it.Id == it.Id);
+                if (entity == null) throw Oops.Oh(EnumErrorCodeType.s404, "璇ヨ彍鍗�");
                 if (entity.ParentId != request.ParentId) throw Oops.Oh(EnumErrorCodeType.s410, "涓婄骇Id");
                 request.Adapt(entity);
                 if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "鑿滃崟缂栧彿");
@@ -36,6 +39,9 @@
             else
             {
                 var entity = new Menu();
+                entity.Path = $"{parent.Path}{parent.Code}/";
+                entity.Type = EnumMenuType.Button;
+                entity.VisitLevel = parent.VisitLevel;
                 request.Adapt(entity);
                 if (await CheckExist(entity)) throw Oops.Oh(EnumErrorCodeType.s405, "鑿滃崟缂栧彿");
                 await rep.InsertAsync(entity);

--
Gitblit v1.9.1