浏览代码

优化权限点查询,修复权限接口未按勾选顺序显示的问题

zhontai 2 年之前
父节点
当前提交
c64ce3ea28

+ 4 - 2
src/platform/ZhonTai.Admin/Services/Permission/Dto/PermissionAddDotInput.cs

@@ -1,4 +1,6 @@
-namespace ZhonTai.Admin.Services.Permission.Dto;
+using System.Collections.Generic;
+
+namespace ZhonTai.Admin.Services.Permission.Dto;
 
 public class PermissionAddDotInput
 {
@@ -10,7 +12,7 @@ public class PermissionAddDotInput
     /// <summary>
     /// 关联接口
     /// </summary>
-    public long[] ApiIds { get; set; }
+    public List<long> ApiIds { get; set; }
 
     /// <summary>
     /// 权限名称

+ 6 - 5
src/platform/ZhonTai.Admin/Services/Permission/PermissionService.cs

@@ -20,6 +20,7 @@ using ZhonTai.DynamicApi.Attributes;
 using ZhonTai.Admin.Core.Consts;
 using FreeSql;
 using ZhonTai.Admin.Domain.Tenant;
+using ZhonTai.Admin.Services.Role.Dto;
 
 namespace ZhonTai.Admin.Services.Permission;
 
@@ -102,11 +103,11 @@ public class PermissionService : BaseService, IPermissionService, IDynamicApi
     {
         var output = await _permissionRepository.Select
         .WhereDynamic(id)
-        .IncludeMany(a => a.Apis.Select(b => new ApiEntity { Id = b.Id }))
-        .ToOneAsync();
-
-        var permissionGetDotOutput= Mapper.Map<PermissionGetDotOutput>(output);
-        return permissionGetDotOutput;
+        .ToOneAsync(a => new PermissionGetDotOutput
+        {
+            ApiIds = _permissionApiRepository.Where(b => b.PermissionId == a.Id).OrderBy(a => a.Id).ToList(b => b.Api.Id)
+        });
+        return output;
     }
 
     /// <summary>