using Infrastructure.Attribute; using System; using System.Collections.Generic; using ZR.Model; using ZR.Model.System; namespace ZR.Repository.System { /// /// 用户管理 /// [AppService(ServiceLifetime = LifeTime.Transient)] public class SysUserRepository : BaseRepository { /// /// 根据条件分页查询用户列表 /// /// /// /// public List 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; } /// /// 通过用户ID查询用户 /// /// /// public SysUser SelectUserById(long userId) { return Context.Queryable().Where(f => f.UserId == userId).First(); } /// /// 校验用户名是否存在 /// /// /// public int CheckUserNameUnique(string userName) { return Context.Queryable().Where(it => it.UserName == userName).Count(); } /// /// 添加用户 /// /// /// public int AddUser(SysUser sysUser) { sysUser.Create_time = DateTime.Now; return Context.Insertable(sysUser).ExecuteReturnIdentity(); } /// /// 重置密码 /// /// /// /// public int ResetPwd(long userid, string password) { return Context.Updateable(new SysUser() { UserId = userid, Password = password }) .UpdateColumns(it => new { it.Password }).ExecuteCommand(); } /// /// 改变用户状态 /// /// /// public int ChangeUserStatus(SysUser user) { return Context.Updateable(user).UpdateColumns(t => new { t.Status }) .ExecuteCommand(); } /// /// 删除用户 /// /// 用户id /// public int DeleteUser(long userid) { return Context.Updateable(new SysUser() { UserId = userid, DelFlag = "2" }) .UpdateColumns(t => t.DelFlag) .ExecuteCommand(); } /// /// 修改用户信息 /// /// /// public int UpdateUser(SysUser user) { return Context.Updateable(user) //.SetColumns(t => new SysUser() //{ // UserName = user.UserName, // Status = user.Status, // NickName = user.NickName, // Remark = user.Remark, // Email = user.Email, // Update_by = user.Update_by, // Phonenumber = user.Phonenumber, // Update_time = DateTime.Now, // Sex = user.Sex, // DeptId = user.DeptId //}) .IgnoreColumns(ignoreAllNullColumns: true)//忽略所有为null .IgnoreColumns(it => new { it.Password, it.Avatar }) .Where(f => f.UserId == user.UserId).ExecuteCommand(); } /// /// 修改用户头像 /// /// /// public int UpdatePhoto(SysUser user) { return Context.Updateable() .SetColumns(t => new SysUser() { Avatar = user.Avatar }) .Where(f => f.UserId == user.UserId).ExecuteCommand(); } } }