소스 검색

新增权限点自动排序

zhontai 2 년 전
부모
커밋
d809e5af1a
1개의 변경된 파일17개의 추가작업 그리고 0개의 파일을 삭제
  1. 17 0
      src/platform/ZhonTai.Admin/Services/Permission/PermissionService.cs

+ 17 - 0
src/platform/ZhonTai.Admin/Services/Permission/PermissionService.cs

@@ -200,6 +200,13 @@ public class PermissionService : BaseService, IPermissionService, IDynamicApi
     {
         var entity = Mapper.Map<PermissionEntity>(input);
         entity.Type = PermissionType.Group;
+
+        if (entity.Sort == 0)
+        {
+            var sort = await _permissionRepository.Select.Where(a => a.ParentId == input.ParentId).MaxAsync(a => a.Sort);
+            entity.Sort = sort + 1;
+        }
+
         await _permissionRepository.InsertAsync(entity);
         return entity.Id;
     }
@@ -213,6 +220,11 @@ public class PermissionService : BaseService, IPermissionService, IDynamicApi
     {
         var entity = Mapper.Map<PermissionEntity>(input);
         entity.Type = PermissionType.Menu;
+        if (entity.Sort == 0)
+        {
+            var sort = await _permissionRepository.Select.Where(a => a.ParentId == input.ParentId).MaxAsync(a => a.Sort);
+            entity.Sort = sort + 1;
+        }
         await _permissionRepository.InsertAsync(entity);
 
         return entity.Id;
@@ -227,6 +239,11 @@ public class PermissionService : BaseService, IPermissionService, IDynamicApi
     {
         var entity = Mapper.Map<PermissionEntity>(input);
         entity.Type = PermissionType.Dot;
+        if (entity.Sort == 0)
+        {
+            var sort = await _permissionRepository.Select.Where(a => a.ParentId == input.ParentId).MaxAsync(a => a.Sort);
+            entity.Sort = sort + 1;
+        }
         await _permissionRepository.InsertAsync(entity);
 
         return entity.Id;