Exemple #1
0
        /// <summary>
        /// 分页列表
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <BasePageQueryOutput <QueryRoleDto> > GetPageList(QueryRolesInput input)
        {
            var list        = new List <Role>();
            var totalNumber = 0;
            var query       = await _dbContext.Queryable <Role>()
                              .WhereIF(input.DeptId.HasValue, o => o.DeptId == input.DeptId.Value)
                              .ToPageListAsync(input.Page, input.PageSize, totalNumber);

            list        = query.Key;
            totalNumber = query.Value;
            var result = new List <QueryRoleDto>();

            if (list != null && list.Count > 0)
            {
                list.ForEach(o =>
                {
                    var parent = _dbContext.Queryable <Organize>().First(it => it.KeyId == o.DeptId);
                    result.Add(new QueryRoleDto
                    {
                        DeptName   = parent?.Name,
                        KeyId      = o.KeyId,
                        CreateTime = o.CreateTime,
                        DeptId     = o.DeptId,
                        Name       = o.Name,
                        Codes      = o.Codes,
                        CreateId   = o.CreateId
                    });
                });
            }
            return(new BasePageQueryOutput <QueryRoleDto> {
                Page = input.Page, Rows = result, Total = totalNumber
            });
        }
Exemple #2
0
        /// <summary>
        /// 查询所有角色
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <QueryRolesOutput> QueryAllRoles(QueryRolesInput input)
        {
            var list = await _dbContext.Queryable <RoleInfo>()
                       .WhereIF(!input.PlatformKey.IsEmpty(), it => it.PlatformKey == input.PlatformKey)
                       .ToListAsync();

            return(new QueryRolesOutput {
                Data = list
            });
        }
Exemple #3
0
        public BaseOutput <object> QueryAllRoles([FromQuery] QueryRolesInput input)
        {
            var list = _adminDbContext.Queryable <RoleModel>()
                       .WhereIF(!input.PlatformKey.IsEmpty(), it => it.PlatformKey == input.PlatformKey)
                       .ToList();

            return(new BaseOutput <object> {
                Data = list
            });
        }
Exemple #4
0
        /// <summary>
        /// 查询可用角色
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <QueryRolesOutput> QueryRoles(QueryRolesInput input)
        {
            var list  = new List <RoleInfo>();
            var redis = _redisClient.GetDatabase(_configCenter.StringGet(SysConfig.RedisConnectionKey), 2);

            if (string.IsNullOrWhiteSpace(input.PlatformKey))
            {
                // 查询所有角色
                var redisList = await redis.StringGetAsync(CacheKeys.RoleAllUseKey);

                if (!string.IsNullOrWhiteSpace(redisList))
                {
                    return(new QueryRolesOutput {
                        Data = Json.ToObject <List <RoleInfo> >(redisList)
                    });
                }
                else
                {
                    list = await _dbContext.Queryable <RoleInfo>()
                           .Where(it => it.IsDel == false)
                           .WhereIF(!input.PlatformKey.IsEmpty(), it => it.PlatformKey == input.PlatformKey)
                           .ToListAsync();

                    await redis.StringSetAsync(CacheKeys.RoleAllUseKey, Json.ToJson(list));
                }
            }
            else
            {
                // 查询项目对应角色
                list = await _dbContext.Queryable <RoleInfo>()
                       .Where(it => it.IsDel == false)
                       .WhereIF(!input.PlatformKey.IsEmpty(), it => it.PlatformKey == input.PlatformKey)
                       .ToListAsync();
            }
            return(new QueryRolesOutput {
                Data = list
            });
        }
        /// <summary>
        /// 查询可用角色
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public async Task <QueryRolesOutput> QueryRoles(QueryRolesInput input)
        {
            var list  = new List <RoleInfo>();
            var redis = _redisClient.GetDatabase(_configCenter.Get(SysConfig.RedisConnectionKey, "192.168.1.199:6379,allowadmin=true"), 2);

            if (string.IsNullOrWhiteSpace(input.ProjectKey))
            {
                // 查询所有角色
                var redisList = await redis.StringGetAsync(CacheKeys.RoleAllUseKey);

                if (!string.IsNullOrWhiteSpace(redisList))
                {
                    return(new QueryRolesOutput {
                        Data = _jsonHelper.DeserializeObject <List <RoleInfo> >(redisList)
                    });
                }
                else
                {
                    list = await _dbContext.Queryable <RoleInfo>()
                           .Where(it => it.IsDel == false)
                           .WhereIF(!input.ProjectKey.IsEmpty(), it => it.ProjectName == input.ProjectKey)
                           .ToListAsync();

                    await redis.StringSetAsync(CacheKeys.RoleAllUseKey, _jsonHelper.SerializeObject(list));
                }
            }
            else
            {
                // 查询项目对应角色
                list = await _dbContext.Queryable <RoleInfo>()
                       .Where(it => it.IsDel == false)
                       .WhereIF(!input.ProjectKey.IsEmpty(), it => it.ProjectName == input.ProjectKey)
                       .ToListAsync();
            }
            return(new QueryRolesOutput {
                Data = list
            });
        }
Exemple #6
0
 public async Task <QueryRolesOutput> QueryRoles([FromQuery] QueryRolesInput input)
 {
     return(await _roleBusiness.QueryRoles(input));
 }
Exemple #7
0
 public async Task <BasePageQueryOutput <QueryRoleDto> > GetPageListAsync([FromQuery] QueryRolesInput input)
 {
     return(await _business.GetPageList(input));
 }