diff --git a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs index 5470b2e..dd620f2 100644 --- a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs @@ -69,8 +69,15 @@ namespace ZR.Admin.WebApi.Controllers public IActionResult FindListTable(string dbName, string tableName, PagerInfo pager) { List list = _CodeGeneraterService.GetAllTables(dbName, tableName, pager); - - return SUCCESS(list.ToPage(pager)); + var page = new PagedInfo + { + TotalPage = pager.TotalPage, + TotalNum = pager.TotalNum, + PageSize = pager.PageSize, + PageIndex = pager.PageNum, + Result = list + }; + return SUCCESS(page); } /// diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs index ff92959..25f915e 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserController.cs @@ -56,7 +56,7 @@ namespace ZR.Admin.WebApi.Controllers.System { var list = UserService.SelectUserList(user, pager); - return SUCCESS(list.ToPage(pager), TIME_FORMAT_FULL); + return SUCCESS(list, TIME_FORMAT_FULL); } /// @@ -218,7 +218,7 @@ namespace ZR.Admin.WebApi.Controllers.System var list = UserService.SelectUserList(user, new PagerInfo(1, 10000)); //调试模式需要加上 - string sFileName = ExportExcel(list, "user", "用户列表"); + string sFileName = ExportExcel(list.Result, "user", "用户列表"); return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); } } diff --git a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs index 84c1513..7bf08b7 100644 --- a/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs +++ b/ZR.Admin.WebApi/Controllers/System/monitor/SysLogininforController.cs @@ -39,7 +39,7 @@ namespace ZR.Admin.WebApi.Controllers.monitor { var list = sysLoginService.GetLoginLog(sysLogininfoDto, pagerInfo); - return ToResponse(ToJson(list.Count, list.ToPage(pagerInfo)), TIME_FORMAT_FULL_2); + return SUCCESS(list, TIME_FORMAT_FULL_2); } /// diff --git a/ZR.Model/ZR.Model.csproj b/ZR.Model/ZR.Model.csproj index 038843a..92afd36 100644 --- a/ZR.Model/ZR.Model.csproj +++ b/ZR.Model/ZR.Model.csproj @@ -4,6 +4,10 @@ netstandard2.1 + + + + @@ -14,6 +18,7 @@ + diff --git a/ZR.Repository/BaseRepository.cs b/ZR.Repository/BaseRepository.cs index a1ff09c..5dceae3 100644 --- a/ZR.Repository/BaseRepository.cs +++ b/ZR.Repository/BaseRepository.cs @@ -379,14 +379,17 @@ namespace ZR.Repository } } + /// + /// 分页查询扩展 + /// public static class QueryableExtension { /// /// 读取列表 /// /// - /// - /// + /// 查询表单式 + /// 分页参数 /// public static PagedInfo ToPage(this ISugarQueryable source, PagerInfo parm) { diff --git a/ZR.Repository/System/SysLogininfoRepository.cs b/ZR.Repository/System/SysLogininfoRepository.cs index 53c023c..f0d4ccd 100644 --- a/ZR.Repository/System/SysLogininfoRepository.cs +++ b/ZR.Repository/System/SysLogininfoRepository.cs @@ -4,6 +4,7 @@ using System.Collections.Generic; using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; +using SqlSugar; namespace ZR.Repository.System { @@ -16,19 +17,19 @@ namespace ZR.Repository.System /// /// /// - public List GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) + public PagedInfo GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) { - int totalCount = 0; - var list = Context.Queryable() - .Where(it => it.loginTime >= logininfoDto.BeginTime && it.loginTime <= logininfoDto.EndTime) - .WhereIF(logininfoDto.ipaddr.IfNotEmpty(), f => f.ipaddr == logininfoDto.ipaddr) - .WhereIF(logininfoDto.userName.IfNotEmpty(), f => f.userName.Contains(logininfoDto.userName)) - .WhereIF(logininfoDto.status.IfNotEmpty(), f => f.status == logininfoDto.status) - .OrderBy(it => it.infoId, SqlSugar.OrderByType.Desc) - .IgnoreColumns(it => new { it.Create_by, it.Create_time, it.Update_by, it.Update_time, it.Remark }) - .ToPageList(pager.PageNum, pager.PageSize, ref totalCount); - pager.TotalNum = totalCount; - return list; + var exp = Expressionable.Create(); + exp.And(it => it.loginTime >= logininfoDto.BeginTime && it.loginTime <= logininfoDto.EndTime); + exp.AndIF(logininfoDto.ipaddr.IfNotEmpty(), f => f.ipaddr == logininfoDto.ipaddr); + exp.AndIF(logininfoDto.userName.IfNotEmpty(), f => f.userName.Contains(logininfoDto.userName)); + exp.AndIF(logininfoDto.status.IfNotEmpty(), f => f.status == logininfoDto.status); + var query = Context.Queryable() + .Where(exp.ToExpression()) + .OrderBy(it => it.infoId, OrderByType.Desc) + .IgnoreColumns(it => new { it.Create_by, it.Create_time, it.Update_by, it.Update_time, it.Remark }); + + return query.ToPage(pager); } /// diff --git a/ZR.Repository/System/SysUserRepository.cs b/ZR.Repository/System/SysUserRepository.cs index c9e8e8c..4b94004 100644 --- a/ZR.Repository/System/SysUserRepository.cs +++ b/ZR.Repository/System/SysUserRepository.cs @@ -1,4 +1,5 @@ using Infrastructure.Attribute; +using SqlSugar; using System; using System.Collections.Generic; using ZR.Model; @@ -18,23 +19,27 @@ namespace ZR.Repository.System /// /// /// - public List SelectUserList(SysUser user, PagerInfo pager) + public PagedInfo SelectUserList(SysUser user, PagerInfo pager) { - string sql = @"SELECT u.*,d.deptName, d.leader - FROM sys_user u - left join sys_dept d on u.deptId = d.deptId - WHERE u.delFlag = '0' "; - int totalCount = 0; - var list = Context.SqlQueryable(sql) - .WhereIF(!string.IsNullOrEmpty(user.UserName), it => it.UserName.Contains(user.UserName)) - .WhereIF(!string.IsNullOrEmpty(user.Status), it => it.Status == user.Status) - .WhereIF(user.BeginTime != DateTime.MinValue && user.BeginTime != null, it => it.Create_time >= user.BeginTime) - .WhereIF(user.EndTime != DateTime.MinValue && user.BeginTime != null, it => it.Create_time <= user.EndTime) - .WhereIF(user.DeptId != 0, it => it.DeptId == user.DeptId) - .OrderBy(it => it.UserId) - .ToPageList(pager.PageNum, pager.PageSize, ref totalCount); - pager.TotalNum = totalCount; - return list; + var exp = Expressionable.Create(); + exp.AndIF(!string.IsNullOrEmpty(user.UserName), it => it.UserName.Contains(user.UserName)); + exp.AndIF(!string.IsNullOrEmpty(user.Status), it => it.Status == user.Status); + exp.AndIF(user.BeginTime != DateTime.MinValue && user.BeginTime != null, it => it.Create_time >= user.BeginTime); + exp.AndIF(user.EndTime != DateTime.MinValue && user.BeginTime != null, it => it.Create_time <= user.EndTime); + exp.AndIF(user.DeptId != 0, it => it.DeptId == user.DeptId); + exp.And(user => user.DelFlag == "0"); + + var query = Context.Queryable() + .LeftJoin((user, dept) => user.DeptId == dept.DeptId) + .Where(exp.ToExpression()) + .Select((user, dept) => new SysUser + { + UserId = user.UserId.SelectAll(), + DeptName = dept.DeptName, + }) + .OrderBy((user) => user.UserId); + + return query.ToPage(pager); } /// diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs index 18ec65f..0334999 100644 --- a/ZR.Service/System/GenTableService.cs +++ b/ZR.Service/System/GenTableService.cs @@ -96,7 +96,7 @@ namespace ZR.Service.System var predicate = Expressionable.Create(); predicate = predicate.AndIF(genTable.TableName.IfNotEmpty(), it => it.TableName.Contains(genTable.TableName)); - return GenTableRepository.GetPages(predicate.ToExpression(), pagerInfo); + return GenTableRepository.GetPages(predicate.ToExpression(), pagerInfo, x => x.TableId, OrderByType.Desc); } /// diff --git a/ZR.Service/System/IService/ISysLoginService.cs b/ZR.Service/System/IService/ISysLoginService.cs index 48b39c6..5bd432f 100644 --- a/ZR.Service/System/IService/ISysLoginService.cs +++ b/ZR.Service/System/IService/ISysLoginService.cs @@ -17,7 +17,7 @@ namespace ZR.Service.System.IService /// /// 分页 /// - public List GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager); + public PagedInfo GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager); /// /// 记录登录日志 diff --git a/ZR.Service/System/IService/ISysUserService.cs b/ZR.Service/System/IService/ISysUserService.cs index f49e926..8574d53 100644 --- a/ZR.Service/System/IService/ISysUserService.cs +++ b/ZR.Service/System/IService/ISysUserService.cs @@ -10,7 +10,7 @@ namespace ZR.Service.System.IService { public interface ISysUserService : IBaseService { - public List SelectUserList(SysUser user, PagerInfo pager); + public PagedInfo SelectUserList(SysUser user, PagerInfo pager); /// /// 通过用户ID查询用户 diff --git a/ZR.Service/System/SysLoginService.cs b/ZR.Service/System/SysLoginService.cs index 8f73529..0078c8d 100644 --- a/ZR.Service/System/SysLoginService.cs +++ b/ZR.Service/System/SysLoginService.cs @@ -66,7 +66,7 @@ namespace ZR.Service.System /// /// 分页 /// - public List GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) + public PagedInfo GetLoginLog(SysLogininfor logininfoDto, PagerInfo pager) { logininfoDto.BeginTime = DateTimeHelper.GetBeginTime(logininfoDto.BeginTime, -1); logininfoDto.EndTime = DateTimeHelper.GetBeginTime(logininfoDto.EndTime, 1); diff --git a/ZR.Service/System/SysUserService.cs b/ZR.Service/System/SysUserService.cs index 92e08a6..1230763 100644 --- a/ZR.Service/System/SysUserService.cs +++ b/ZR.Service/System/SysUserService.cs @@ -37,7 +37,7 @@ namespace ZR.Service /// 根据条件分页查询用户列表 /// /// - public List SelectUserList(SysUser user, PagerInfo pager) + public PagedInfo SelectUserList(SysUser user, PagerInfo pager) { var list = UserRepository.SelectUserList(user, pager);