更新了菜单uuid的自动生成;递归查询的逻辑(改变父id可以带动目录下的子项菜单一起移动)

This commit is contained in:
王炜翔 2025-07-16 08:52:58 +08:00
parent f7dd631f47
commit c537d85565
3 changed files with 32 additions and 9 deletions

View File

@ -20,7 +20,7 @@ public class MenuController : ControllerBase
/// 新增父级菜单 /// 新增父级菜单
/// </summary> /// </summary>
[HttpPost("createParent")] [HttpPost("createParent")]
public async Task<ReturnTemplate> CreateParentMenu([FromBody] MenuRequest request) public async Task<ReturnTemplate> CreateParentMenu([FromBody] MenuInitialRequest request)
{ {
return await _menuService.CreateParentMenu(request); return await _menuService.CreateParentMenu(request);
} }
@ -29,7 +29,7 @@ public class MenuController : ControllerBase
/// 编辑父级菜单 /// 编辑父级菜单
/// </summary> /// </summary>
[HttpPut("updateParent")] [HttpPut("updateParent")]
public async Task<ReturnTemplate> UpdateParentMenu([FromBody] MenuRequest request) public async Task<ReturnTemplate> UpdateParentMenu([FromBody] MenuUpdateRequest request)
{ {
return await _menuService.UpdateParentMenu(request); return await _menuService.UpdateParentMenu(request);
} }
@ -47,13 +47,13 @@ public class MenuController : ControllerBase
/// 编辑子级菜单 /// 编辑子级菜单
/// </summary> /// </summary>
[HttpPut("updateChild")] [HttpPut("updateChild")]
public async Task<ReturnTemplate> UpdateChildMenu([FromBody] MenuRequest request) public async Task<ReturnTemplate> UpdateChildMenu([FromBody] MenuUpdateRequestSon request)
{ {
return await _menuService.UpdateChildMenu(request); return await _menuService.UpdateChildMenu(request);
} }
/// <summary> /// <summary>
/// 查询菜单全量返回(树形结构) /// 查询菜单全量返回
/// </summary> /// </summary>
[HttpGet("all")] [HttpGet("all")]
public async Task<ReturnTemplate> GetAllMenus() public async Task<ReturnTemplate> GetAllMenus()
@ -62,7 +62,7 @@ public class MenuController : ControllerBase
} }
/// <summary> /// <summary>
/// 删除菜单(递归删除) /// 删除菜单
/// </summary> /// </summary>
[HttpDelete("delete/{uuid}")] [HttpDelete("delete/{uuid}")]
public async Task<ReturnTemplate> DeleteMenu(string uuid) public async Task<ReturnTemplate> DeleteMenu(string uuid)

View File

@ -1,8 +1,21 @@
namespace AGSS.Models.DTOs; namespace AGSS.Models.DTOs;
public class MenuInitialRequest
{
public string Path { get; set; } = string.Empty;
public string Label { get; set; } = string.Empty;
public string Icon { get; set; } = string.Empty;
public string? MenuCode { get; set; }
public string Adaptability { get; set; } = "pc";
public string Component { get; set; } = string.Empty;
public int Sort { get; set; }
public string Status { get; set; } = "1";
public string? Query { get; set; }
}
public class MenuRequest public class MenuRequest
{ {
public string? Uuid { get; set; }
public string? ParentId { get; set; } public string? ParentId { get; set; }
public string Path { get; set; } = string.Empty; public string Path { get; set; } = string.Empty;
public string Label { get; set; } = string.Empty; public string Label { get; set; } = string.Empty;
@ -15,6 +28,15 @@ public class MenuRequest
public string? Query { get; set; } public string? Query { get; set; }
} }
public class MenuUpdateRequest : MenuInitialRequest
{
public string Uuid { get; set; } = string.Empty;
}
public class MenuUpdateRequestSon : MenuRequest
{
public string Uuid { get; set; } = string.Empty;
}
public class MenuResponse public class MenuResponse
{ {
public string Uuid { get; set; } = string.Empty; public string Uuid { get; set; } = string.Empty;

View File

@ -18,7 +18,7 @@ public class MenuService
/// <summary> /// <summary>
/// 新增父级菜单 /// 新增父级菜单
/// </summary> /// </summary>
public async Task<ReturnTemplate> CreateParentMenu(MenuRequest request) public async Task<ReturnTemplate> CreateParentMenu(MenuInitialRequest request)
{ {
try try
{ {
@ -52,7 +52,7 @@ public class MenuService
/// <summary> /// <summary>
/// 编辑父级菜单 /// 编辑父级菜单
/// </summary> /// </summary>
public async Task<ReturnTemplate> UpdateParentMenu(MenuRequest request) public async Task<ReturnTemplate> UpdateParentMenu(MenuUpdateRequest request)
{ {
try try
{ {
@ -143,7 +143,7 @@ public class MenuService
/// <summary> /// <summary>
/// 编辑子级菜单 /// 编辑子级菜单
/// </summary> /// </summary>
public async Task<ReturnTemplate> UpdateChildMenu(MenuRequest request) public async Task<ReturnTemplate> UpdateChildMenu(MenuUpdateRequestSon request)
{ {
try try
{ {
@ -164,6 +164,7 @@ public class MenuService
return new ReturnTemplate(400, "只能编辑子级菜单", null); return new ReturnTemplate(400, "只能编辑子级菜单", null);
} }
menu.ParentId = request.ParentId;
menu.Path = request.Path; menu.Path = request.Path;
menu.Label = request.Label; menu.Label = request.Label;
menu.Icon = request.Icon; menu.Icon = request.Icon;