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; /// /// 用户表操作类 /// [Component] public class AppUserDao { /// /// 查询用户 /// /// /// public List? Query(AppUser user) { try { var sqlFuc = CommonTool.DbServe.Queryable() .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; } } /*------------------------------------业务代码-------------------------------------*/ /// /// 分页查询所有用户信息 /// /// /// public (List users, int totalRows) QueryWithPage(GetUserWithPageRequest request) { try { int totalRows = 0; var sqlFuc = CommonTool.DbServe.Queryable() .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 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; } } }