Преглед изворни кода

权限管理软删除更改为真删除,数据字典数据权限重新配合
更新数据包

zhontai пре 3 година
родитељ
комит
6d867466a1

+ 17 - 8
Admin.Core.Service/Admin/Permission/PermissionService.cs

@@ -206,19 +206,28 @@ namespace Admin.Core.Service.Admin.Permission
 
         public async Task<IResponseOutput> DeleteAsync(long id)
         {
-            var result = false;
-            if (id > 0)
-            {
-                result = (await _permissionRepository.DeleteAsync(m => m.Id == id)) > 0;
-            }
+            //递归查询所有权限点
+            var ids = _permissionRepository.Select
+            .Where(a => a.Id == id)
+            .AsTreeCte()
+            .ToList(a => a.Id);
 
-            return ResponseOutput.Result(result);
+            //删除权限关联接口
+            await _permissionApiRepository.DeleteAsync(a => ids.Contains(a.PermissionId));
+
+            //删除相关权限
+            await _permissionRepository.DeleteAsync(a => ids.Contains(a.Id));
+
+            return ResponseOutput.Ok();
         }
 
+        [Transaction]
         public async Task<IResponseOutput> SoftDeleteAsync(long id)
         {
-            var result = await _permissionRepository.SoftDeleteAsync(id);
-            return ResponseOutput.Result(result);
+            //删除权限
+            await _permissionRepository.SoftDeleteRecursiveAsync(a=>a.Id == id);
+
+            return ResponseOutput.Ok();
         }
 
         [Transaction]

+ 7 - 0
Admin.Core/Admin.Core.xml

@@ -554,6 +554,13 @@
             <param name="id"></param>
             <returns></returns>
         </member>
+        <member name="M:Admin.Core.Controllers.Admin.PermissionController.Delete(System.Int64)">
+            <summary>
+            彻底删除权限
+            </summary>
+            <param name="id"></param>
+            <returns></returns>
+        </member>
         <member name="M:Admin.Core.Controllers.Admin.PermissionController.Assign(Admin.Core.Service.Admin.Permission.Input.PermissionAssignInput)">
             <summary>
             保存角色权限

+ 11 - 0
Admin.Core/Controllers/Admin/PermissionController.cs

@@ -207,6 +207,17 @@ namespace Admin.Core.Controllers.Admin
             return await _permissionService.SoftDeleteAsync(id);
         }
 
+        /// <summary>
+        /// 彻底删除权限
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        [HttpDelete]
+        public async Task<IResponseOutput> Delete(long id)
+        {
+            return await _permissionService.DeleteAsync(id);
+        }
+
         /// <summary>
         /// 保存角色权限
         /// </summary>

Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
Admin.Core/Db/Data/data-share.json


Разлика између датотеке није приказан због своје велике величине
+ 0 - 0
Admin.Core/Db/Data/data.json


Неке датотеке нису приказане због велике количине промена