using Custom.Utils.Framework; using ProductionSystem_Log; using ProductionSystem_Model.DbModel.System; using ProductionSystem_Model.ViewModel; using ProductionSystem_Model.ViewModel.Request.System; using ProductionSystem_Model.ViewModel.Response.System; using SqlSugar; using System; using System.Collections.Generic; namespace ProductionSystem_Service { public class UserService : DbContext { /// /// 分页查询用户 /// /// /// /// public List GetUserPageList(QueryUserVM queryUserVM, out int totalCount) { totalCount = 0; try { return db.Queryable() .WhereIF(queryUserVM != null && !string.IsNullOrWhiteSpace(queryUserVM.UserName), a => a.UserName.Contains(queryUserVM.UserName)) .WhereIF(queryUserVM != null && !string.IsNullOrWhiteSpace(queryUserVM.RealName), a => a.RealName.Contains(queryUserVM.RealName)) .Select((a) => new UserVM { Id = a.Id, SerialNumber = SqlFunc.RowNumber(SqlFunc.Desc(a.CreatedTime)), UserName = a.UserName, RealName = a.RealName, IsActive = a.IsActive, StrIsActive = a.IsActive ? "是" : "否", Remark = a.Remark }).ToPageList(queryUserVM.PageIndex, queryUserVM.PageSize, ref totalCount); } catch (Exception ex) { LogHelper.Error(ex, "执行UserService下GetUserPageList时异常"); return null; } } /// /// 查询所有用户 /// /// public ISugarQueryable QueryUsers() { try { return db.Queryable(); } catch (Exception ex) { LogHelper.Error(ex, "执行UserService下GQueryUsers时异常"); return null; } } /// /// 根据用户名和密码查询用户 /// /// /// /// public UserVM QueryUserByUserNameAndPwd(string userName, string pwd) { try { return db.Queryable() .Where((a) => a.UserName == userName && a.UserPwd == pwd) .Select((a) => new UserVM { Id = a.Id, UserName = a.UserName, RealName = a.RealName, RoleCode = a.RoleCode, IsActive = a.IsActive, StrIsActive = a.IsActive ? "是" : "否", Remark = a.Remark }).First(); } catch (Exception ex) { LogHelper.Error(ex, "执行UserService下QueryUserByUserNameAndPwd时异常"); return null; } } /// /// 查询有效用户 /// /// public ISugarQueryable QueryActiveUsers() { try { return db.Queryable().Where(m => m.IsActive); } catch (Exception ex) { LogHelper.Error(ex, "执行UserService下QueryActiveUsers时异常"); return null; } } /// /// 根据Id查询用户 /// /// /// public Sys_User QueryUserById(string id) { try { return db.Queryable().First(m => m.Id == id); } catch (Exception ex) { LogHelper.Error(ex, "执行UserService下QueryUserById时异常"); return null; } } /// /// 新增用户 /// /// /// public (bool isOk, string msg) AddUser(Sys_User t_User) { try { var row = db.Insertable(t_User).ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下AddUser时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } /// /// 更新用户 /// /// /// public (bool isOk, string msg) UpdateUser(Sys_User t_User) { try { var row = db.Updateable() .SetColumns(c => c.UserName == t_User.UserName) .SetColumns(c => c.RealName == t_User.RealName) .SetColumns(c => c.RoleCode == t_User.RoleCode) .SetColumns(c => c.Remark == t_User.Remark) .SetColumns(c => c.IsActive == t_User.IsActive) .SetColumns(c => c.UpdatedTime == DateTime.Now) .SetColumns(c => c.UpdatedBy == CurrentUser.UserName) .Where(m => m.Id == t_User.Id) .ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下UpdateUser时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } /// /// 根据用户Id集合批量更新用户状态 /// /// /// /// public (bool isOk, string msg) UpdateUserStatus(List ids, bool? isActive = true) { try { var row = db.Updateable() .SetColumns(c => c.IsActive == isActive) .SetColumns(c => c.UpdatedTime == DateTime.Now) .SetColumns(c => c.UpdatedBy == CurrentUser.UserName) .Where(m => ids.Contains(m.Id)) .ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下UpdateUserStatus时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } /// /// 根据用户Id更新用户密码 /// /// /// /// public (bool isOk, string msg) UpdateUserPwdById(string id, string pwd) { try { var row = db.Updateable() .SetColumns(c => c.UserPwd == pwd) .SetColumns(c => c.UpdatedTime == DateTime.Now) .SetColumns(c => c.UpdatedBy == CurrentUser.UserName) .Where(m => m.Id == id) .ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下UpdateUserPwd时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } /// /// 根据用户名更新用户密码 /// /// /// /// public (bool isOk, string msg) UpdateUserPwdByUserName(string userName, string pwd) { try { var row = db.Updateable() .SetColumns(c => c.UserPwd == pwd) .SetColumns(c => c.UpdatedTime == DateTime.Now) .SetColumns(c => c.UpdatedBy == CurrentUser.UserName) .Where(m => m.UserName == userName) .ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下UpdateUserPwd时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } /// /// 根据用户Id重置密码 /// /// /// public (bool isOk, string msg) ResetUserPwdById(string id) { try { var row = db.Updateable() .SetColumns(c => c.UserPwd == MD5Helper.MD5Encrypt32("123456")) .SetColumns(c => c.UpdatedTime == DateTime.Now) .SetColumns(c => c.UpdatedBy == CurrentUser.UserName) .Where(m => m.Id == id) .ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下ResetUserPwd时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } /// /// 根据Id删除用户 /// /// /// public (bool isOk, string msg) DelUserById(string id) { try { var row = db.Deleteable() .Where(m => m.Id == id) .ExecuteCommand(); return (row > 0, row > 0 ? "操作成功!" : "操作失败!"); } catch (Exception ex) { var errorMsg = $"执行UserService下DelUserById时异常:{ex.Message}"; LogHelper.Error(ex, errorMsg); return (false, errorMsg); } } } }