|  | @@ -1,4 +1,4 @@
 | 
	
		
			
				|  |  | -using System;
 | 
	
		
			
				|  |  | +锘縰sing System;
 | 
	
		
			
				|  |  |  using System.Collections.Generic;
 | 
	
		
			
				|  |  |  using System.Linq;
 | 
	
		
			
				|  |  |  using System.Threading.Tasks;
 | 
	
	
		
			
				|  | @@ -25,7 +25,7 @@ using ZhonTai.Admin.Core.Db;
 | 
	
		
			
				|  |  |  namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      /// <summary>
 | 
	
		
			
				|  |  | -    /// 权限服务
 | 
	
		
			
				|  |  | +    /// 鏉冮檺鏈嶅姟
 | 
	
		
			
				|  |  |      /// </summary>
 | 
	
		
			
				|  |  |      [DynamicApi(Area = "admin")]
 | 
	
		
			
				|  |  |      public class PermissionService : BaseService, IPermissionService, IDynamicApi
 | 
	
	
		
			
				|  | @@ -58,7 +58,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 清除权限下关联的用户权限缓存
 | 
	
		
			
				|  |  | +        /// 娓呴櫎鏉冮檺涓嬪叧鑱旂殑鐢ㄦ埛鏉冮檺缂撳瓨
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="permissionIds"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -76,7 +76,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询权限
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�鏉冮檺
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -88,7 +88,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询分组
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�鍒嗙粍
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -99,7 +99,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询菜单
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�鑿滃崟
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -110,7 +110,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询接口
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�鎺ュ彛
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -121,7 +121,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询权限点
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�鏉冮檺鐐�
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -136,7 +136,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询权限列表
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�鏉冮檺鍒楄〃
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="key"></param>
 | 
	
		
			
				|  |  |          /// <param name="start"></param>
 | 
	
	
		
			
				|  | @@ -160,7 +160,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询角色权限-权限列表
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�瑙掕壊鏉冮檺-鏉冮檺鍒楄〃
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
		
			
				|  |  |          public async Task<IResultOutput> GetPermissionList()
 | 
	
	
		
			
				|  | @@ -193,7 +193,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询角色权限列表
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�瑙掕壊鏉冮檺鍒楄〃
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="roleId"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -207,7 +207,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 查询租户权限列表
 | 
	
		
			
				|  |  | +        /// 鏌ヨ�绉熸埛鏉冮檺鍒楄〃
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="tenantId"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -221,7 +221,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 新增分组
 | 
	
		
			
				|  |  | +        /// 鏂板�鍒嗙粍
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -234,7 +234,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 新增菜单
 | 
	
		
			
				|  |  | +        /// 鏂板�鑿滃崟
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -247,7 +247,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 新增接口
 | 
	
		
			
				|  |  | +        /// 鏂板�鎺ュ彛
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -260,7 +260,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 新增权限点
 | 
	
		
			
				|  |  | +        /// 鏂板�鏉冮檺鐐�
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -280,7 +280,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 修改分组
 | 
	
		
			
				|  |  | +        /// 淇�敼鍒嗙粍
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -298,7 +298,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 修改菜单
 | 
	
		
			
				|  |  | +        /// 淇�敼鑿滃崟
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -316,7 +316,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 修改接口
 | 
	
		
			
				|  |  | +        /// 淇�敼鎺ュ彛
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -334,7 +334,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 修改权限点
 | 
	
		
			
				|  |  | +        /// 淇�敼鏉冮檺鐐�
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
	
		
			
				|  | @@ -349,7 +349,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |              var entity = await _permissionRepository.GetAsync(input.Id);
 | 
	
		
			
				|  |  |              if (!(entity?.Id > 0))
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                return ResultOutput.NotOk("权限点不存在!");
 | 
	
		
			
				|  |  | +                return ResultOutput.NotOk("鏉冮檺鐐逛笉瀛樺湪锛�");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              Mapper.Map(input, entity);
 | 
	
	
		
			
				|  | @@ -363,90 +363,90 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |                  await _permissionApiRepository.InsertAsync(permissionApis);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //清除用户权限缓存
 | 
	
		
			
				|  |  | +            //娓呴櫎鐢ㄦ埛鏉冮檺缂撳瓨
 | 
	
		
			
				|  |  |              await ClearUserPermissionsAsync(new List<long> { entity.Id });
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return ResultOutput.Ok();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 彻底删除
 | 
	
		
			
				|  |  | +        /// 褰诲簳鍒犻櫎
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
		
			
				|  |  |          [Transaction]
 | 
	
		
			
				|  |  |          public async Task<IResultOutput> DeleteAsync(long id)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            //递归查询所有权限点
 | 
	
		
			
				|  |  | +            //閫掑綊鏌ヨ�鎵€鏈夋潈闄愮偣
 | 
	
		
			
				|  |  |              var ids = _permissionRepository.Select
 | 
	
		
			
				|  |  |              .Where(a => a.Id == id)
 | 
	
		
			
				|  |  |              .AsTreeCte()
 | 
	
		
			
				|  |  |              .ToList(a => a.Id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //删除权限关联接口
 | 
	
		
			
				|  |  | +            //鍒犻櫎鏉冮檺鍏宠仈鎺ュ彛
 | 
	
		
			
				|  |  |              await _permissionApiRepository.DeleteAsync(a => ids.Contains(a.PermissionId));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //删除相关权限
 | 
	
		
			
				|  |  | +            //鍒犻櫎鐩稿叧鏉冮檺
 | 
	
		
			
				|  |  |              await _permissionRepository.DeleteAsync(a => ids.Contains(a.Id));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //清除用户权限缓存
 | 
	
		
			
				|  |  | +            //娓呴櫎鐢ㄦ埛鏉冮檺缂撳瓨
 | 
	
		
			
				|  |  |              await ClearUserPermissionsAsync(ids);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return ResultOutput.Ok();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 删除
 | 
	
		
			
				|  |  | +        /// 鍒犻櫎
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="id"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
		
			
				|  |  |          public async Task<IResultOutput> SoftDeleteAsync(long id)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            //递归查询所有权限点
 | 
	
		
			
				|  |  | +            //閫掑綊鏌ヨ�鎵€鏈夋潈闄愮偣
 | 
	
		
			
				|  |  |              var ids = _permissionRepository.Select
 | 
	
		
			
				|  |  |              .Where(a => a.Id == id)
 | 
	
		
			
				|  |  |              .AsTreeCte()
 | 
	
		
			
				|  |  |              .ToList(a => a.Id);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //删除权限
 | 
	
		
			
				|  |  | +            //鍒犻櫎鏉冮檺
 | 
	
		
			
				|  |  |              await _permissionRepository.SoftDeleteAsync(a => ids.Contains(a.Id));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //清除用户权限缓存
 | 
	
		
			
				|  |  | +            //娓呴櫎鐢ㄦ埛鏉冮檺缂撳瓨
 | 
	
		
			
				|  |  |              await ClearUserPermissionsAsync(ids);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |              return ResultOutput.Ok();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 保存角色权限
 | 
	
		
			
				|  |  | +        /// 淇濆瓨瑙掕壊鏉冮檺
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
		
			
				|  |  |          [Transaction]
 | 
	
		
			
				|  |  |          public async Task<IResultOutput> AssignAsync(PermissionAssignInput input)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            //分配权限的时候判断角色是否存在
 | 
	
		
			
				|  |  | +            //鍒嗛厤鏉冮檺鐨勬椂鍊欏垽鏂��鑹叉槸鍚﹀瓨鍦�
 | 
	
		
			
				|  |  |              var exists = await _roleRepository.Select.DisableGlobalFilter("Tenant").WhereDynamic(input.RoleId).AnyAsync();
 | 
	
		
			
				|  |  |              if (!exists)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  | -                return ResultOutput.NotOk("该角色不存在或已被删除!");
 | 
	
		
			
				|  |  | +                return ResultOutput.NotOk("璇ヨ�鑹蹭笉瀛樺湪鎴栧凡琚�垹闄わ紒");
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //查询角色权限
 | 
	
		
			
				|  |  | +            //鏌ヨ�瑙掕壊鏉冮檺
 | 
	
		
			
				|  |  |              var permissionIds = await _rolePermissionRepository.Select.Where(d => d.RoleId == input.RoleId).ToListAsync(m => m.PermissionId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //批量删除权限
 | 
	
		
			
				|  |  | +            //鎵归噺鍒犻櫎鏉冮檺
 | 
	
		
			
				|  |  |              var deleteIds = permissionIds.Where(d => !input.PermissionIds.Contains(d));
 | 
	
		
			
				|  |  |              if (deleteIds.Any())
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  await _rolePermissionRepository.DeleteAsync(m => m.RoleId == input.RoleId && deleteIds.Contains(m.PermissionId));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //批量插入权限
 | 
	
		
			
				|  |  | +            //鎵归噺鎻掑叆鏉冮檺
 | 
	
		
			
				|  |  |              var insertRolePermissions = new List<RolePermissionEntity>();
 | 
	
		
			
				|  |  |              var insertPermissionIds = input.PermissionIds.Where(d => !permissionIds.Contains(d));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //防止租户非法授权
 | 
	
		
			
				|  |  | +            //闃叉�绉熸埛闈炴硶鎺堟潈
 | 
	
		
			
				|  |  |              if (_appConfig.Tenant && User.TenantType == TenantType.Tenant)
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  var masterDb = ServiceProvider.GetRequiredService<IFreeSql>();
 | 
	
	
		
			
				|  | @@ -467,7 +467,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |                  await _rolePermissionRepository.InsertAsync(insertRolePermissions);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //清除角色下关联的用户权限缓存
 | 
	
		
			
				|  |  | +            //娓呴櫎瑙掕壊涓嬪叧鑱旂殑鐢ㄦ埛鏉冮檺缂撳瓨
 | 
	
		
			
				|  |  |              var userIds = await _userRoleRepository.Select.Where(a => a.RoleId == input.RoleId).ToListAsync(a => a.UserId);
 | 
	
		
			
				|  |  |              foreach (var userId in userIds)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -478,30 +478,30 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          /// <summary>
 | 
	
		
			
				|  |  | -        /// 保存租户权限
 | 
	
		
			
				|  |  | +        /// 淇濆瓨绉熸埛鏉冮檺
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="input"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
		
			
				|  |  |          [Transaction]
 | 
	
		
			
				|  |  |          public async Task<IResultOutput> SaveTenantPermissionsAsync(PermissionSaveTenantPermissionsInput input)
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -            //获得租户db
 | 
	
		
			
				|  |  | +            //鑾峰緱绉熸埛db
 | 
	
		
			
				|  |  |              var ib = ServiceProvider.GetRequiredService<IdleBus<IFreeSql>>();
 | 
	
		
			
				|  |  |              var tenantDb = ib.GetTenantFreeSql(ServiceProvider, input.TenantId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //查询租户权限
 | 
	
		
			
				|  |  | +            //鏌ヨ�绉熸埛鏉冮檺
 | 
	
		
			
				|  |  |              var permissionIds = await _tenantPermissionRepository.Select.Where(d => d.TenantId == input.TenantId).ToListAsync(m => m.PermissionId);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //批量删除租户权限
 | 
	
		
			
				|  |  | +            //鎵归噺鍒犻櫎绉熸埛鏉冮檺
 | 
	
		
			
				|  |  |              var deleteIds = permissionIds.Where(d => !input.PermissionIds.Contains(d));
 | 
	
		
			
				|  |  |              if (deleteIds.Any())
 | 
	
		
			
				|  |  |              {
 | 
	
		
			
				|  |  |                  await _tenantPermissionRepository.DeleteAsync(m => m.TenantId == input.TenantId && deleteIds.Contains(m.PermissionId));
 | 
	
		
			
				|  |  | -                //删除租户下关联的角色权限
 | 
	
		
			
				|  |  | +                //鍒犻櫎绉熸埛涓嬪叧鑱旂殑瑙掕壊鏉冮檺
 | 
	
		
			
				|  |  |                  await tenantDb.GetRepositoryBase<RolePermissionEntity>().DeleteAsync(a => deleteIds.Contains(a.PermissionId));
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //批量插入租户权限
 | 
	
		
			
				|  |  | +            //鎵归噺鎻掑叆绉熸埛鏉冮檺
 | 
	
		
			
				|  |  |              var tenatPermissions = new List<TenantPermissionEntity>();
 | 
	
		
			
				|  |  |              var insertPermissionIds = input.PermissionIds.Where(d => !permissionIds.Contains(d));
 | 
	
		
			
				|  |  |              if (insertPermissionIds.Any())
 | 
	
	
		
			
				|  | @@ -517,7 +517,7 @@ namespace ZhonTai.Admin.Services.Permission
 | 
	
		
			
				|  |  |                  await _tenantPermissionRepository.InsertAsync(tenatPermissions);
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -            //清除租户下所有用户权限缓存
 | 
	
		
			
				|  |  | +            //娓呴櫎绉熸埛涓嬫墍鏈夌敤鎴锋潈闄愮紦瀛�
 | 
	
		
			
				|  |  |              var userIds = await tenantDb.GetRepositoryBase<UserEntity>().Select.Where(a => a.TenantId == input.TenantId).ToListAsync(a => a.Id);
 | 
	
		
			
				|  |  |              if(userIds.Any())
 | 
	
		
			
				|  |  |              {
 |