Example #1
0
        /// <summary>
        /// 导出用户
        /// </summary>
        /// <param name="queryInput"></param>
        /// <returns></returns>
        public async Task <UserExcelOutput> Export(UserQueryInput queryInput)
        {
            var query = queryInput.Adapt <UserQuery>();
            var users = await _userRep.GetListAsync(query);

            var exportData = users.Select(a => new Dictionary <string, string> {
                { "姓名", a.Name },
                { "性别", a.Gender.ToDescription() },
                { "出生日期", a.Birthday.ToDateTimeString() },
                { "手机号", a.Phone },
                { "邮箱", a.Email },
                { "微信", a.WeChat },
                { "状态", a.Enabled.IsTrue()?"启用":"注销" },
                { "最后登录时间", a.LastLoginTime.ToDateTimeString() },
                { "最后登录地点", a.LastLoginIP }
            });

            string fileName = $"{Guid.NewGuid()}.xlsx";
            string rootPath = _appSettings.FilePath.ExportExcelPath;

            H_File.CreateDirectory(rootPath);
            string filePath = Path.Combine(rootPath, $"{fileName}");

            await H_Excel.ExportByEPPlus(filePath, exportData);

            return(new UserExcelOutput {
                FileName = fileName, FileId = _protector.Protect(fileName.Split('.')[0], TimeSpan.FromSeconds(5))
            });
        }
Example #2
0
        /// <summary>
        /// 获取用户列表
        /// </summary>
        /// <param name="queryInput"></param>
        /// <returns></returns>
        public async Task <Paged <UserOutput> > GetPaged(UserQueryInput queryInput)
        {
            var query = queryInput.Adapt <UserQuery>();

            query.CurrentRoleLevel = _currentUser.RoleLevel;

            var users = await _userRep.GetPagedAsync(query);

            var result = users.Adapt <Paged <UserOutput> >();

            return(result);
        }