86 lines
2.9 KiB
C#
86 lines
2.9 KiB
C#
using WcsMain.ApiServe.Controllers.Dto.WcsDto.User;
|
|
using WcsMain.Common;
|
|
using WcsMain.DataBase.TableEntity;
|
|
using WcsMain.Enum;
|
|
using WcsMain.WcsAttribute.AutoFacAttribute;
|
|
|
|
namespace WcsMain.DataBase.Dao;
|
|
|
|
/// <summary>
|
|
/// 用户表操作类
|
|
/// </summary>
|
|
[Component]
|
|
public class AppUserDao
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
/// 查询用户
|
|
/// </summary>
|
|
/// <param name="user"></param>
|
|
/// <returns></returns>
|
|
public List<AppUser>? Query(AppUser user)
|
|
{
|
|
try
|
|
{
|
|
var sqlFuc = CommonTool.DbServe.Queryable<AppUser>()
|
|
.WhereIF(user.UserId != default, w => w.UserId == user.UserId)
|
|
.WhereIF(user.UserName != default, w => w.UserName == user.UserName)
|
|
.WhereIF(user.UserPassword != default, w => w.UserPassword == user.UserPassword)
|
|
.WhereIF(user.UserStatus != default, w => w.UserStatus == user.UserStatus)
|
|
.WhereIF(user.UserGroup != default, w => w.UserGroup == user.UserGroup);
|
|
return sqlFuc.ToList();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
|
|
/*------------------------------------业务代码-------------------------------------*/
|
|
|
|
|
|
/// <summary>
|
|
/// 分页查询所有用户信息
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public (List<AppUser> users, int totalRows) QueryWithPage(GetUserWithPageRequest request)
|
|
{
|
|
try
|
|
{
|
|
int totalRows = 0;
|
|
var sqlFuc = CommonTool.DbServe.Queryable<AppUser>()
|
|
.WhereIF(!string.IsNullOrEmpty(request.SearchStr),
|
|
w => w.UserId!.Contains(request.SearchStr!)
|
|
|| w.UserName!.Contains(request.SearchStr!)
|
|
|| w.UserGroup!.Contains(request.SearchStr!)); // 模糊查询
|
|
|
|
if (request.UserStatus != default) // 查询任务状态
|
|
{
|
|
List<int?> userStatuses = [];
|
|
foreach (var userStatus in request.UserStatus)
|
|
{
|
|
if (userStatus == "禁用") { userStatuses.Add((int)UserStatusEnum.disabled); }
|
|
if (userStatus == "正常") { userStatuses.Add((int)UserStatusEnum.normal); }
|
|
}
|
|
sqlFuc.Where(w => userStatuses.Contains(w.UserStatus));
|
|
}
|
|
if (request.TimeRange is { Count: 2 }) // 时间范围
|
|
{
|
|
sqlFuc.Where(w => w.CreateTime > request.TimeRange[0] && w.CreateTime < request.TimeRange[1]);
|
|
}
|
|
sqlFuc.OrderByDescending(o => new { o.CreateTime });
|
|
var queryResult = sqlFuc.ToPageList(request.Page!.PageIndex, request.Page!.PageSize, ref totalRows);
|
|
return (queryResult, totalRows);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
} |