优化分页查询
This commit is contained in:
@@ -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
|
||||
/// <paramref name="user"/>
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<SysUser> SelectUserList(SysUser user, PagerInfo pager)
|
||||
public PagedInfo<SysUser> 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<SysUser>(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<SysUser>();
|
||||
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<SysUser>()
|
||||
.LeftJoin<SysDept>((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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user