Merge branch 'development'

This commit is contained in:
2024-02-21 15:21:23 +08:00
15 changed files with 488 additions and 20 deletions

View File

@@ -9,7 +9,7 @@ public interface IMenuService : IScopeDependency
{
Task<List<MenuResponse>> GetListAsync(PlatformEnumType platform);
Task SaveMenuAsync(SaveMenuRequest request);
Task<string> SaveMenuAsync(SaveMenuRequest request);
Task AssignmentAsync(MenuPermissionAssignmentRequest request);

View File

@@ -42,7 +42,7 @@ public class MenuService : IMenuService
}
[Transactional]
public async Task SaveMenuAsync(SaveMenuRequest request)
public async Task<string> SaveMenuAsync(SaveMenuRequest request)
{
await CheckAsync(request);
@@ -50,6 +50,7 @@ public class MenuService : IMenuService
{
var entity = request.Adapt<MenuEntity>();
await _dbContext.InsertAsync(entity);
return entity.Code;
}
else
{
@@ -59,6 +60,7 @@ public class MenuService : IMenuService
request.Adapt(entity);
await _dbContext.UpdateAsync(entity);
return entity.Code;
}
}
@@ -187,8 +189,10 @@ public class MenuService : IMenuService
foreach (var item in request)
{
var code = await SaveMenuAsync(item);
if (item.Items?.Any() == true)
{
item.Items.ForEach(x => x.PCode = code);
await RecursionSaveNextAsync(item.Items);
}
}
@@ -198,9 +202,11 @@ public class MenuService : IMenuService
{
foreach (var item in menus)
{
await SaveMenuAsync(item);
var code = await SaveMenuAsync(item);
if (item.Items?.Any() == true)
{
item.Items.ForEach(x => x.PCode = code);
await RecursionSaveNextAsync(item.Items);
}
}
@@ -220,6 +226,7 @@ public class MenuService : IMenuService
private async Task CheckAsync(SaveMenuRequest request)
{
//检查重复code
var exists = await _dbContext.Queryable<MenuEntity>()
.Where(x => x.Code == request.Code)
@@ -247,7 +254,11 @@ public class MenuService : IMenuService
if (request.MenuType == MenuEnumType.Folder)
{
request.PCode = null;
//request.PCode = null;
if (string.IsNullOrEmpty(request.PCode))
{
request.PCode = null;
}
}
else if (request.MenuType == MenuEnumType.Menu)
{
@@ -299,4 +310,6 @@ public class MenuService : IMenuService
await _dbContext.UpdateAsync(permissions);
}
}
}