|
|
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
|
|
|
{
|
|
|
/// <summary>
|
|
|
/// 分页查询用户
|
|
|
/// </summary>
|
|
|
/// <param name="queryUserVM"></param>
|
|
|
/// <param name="totalCount"></param>
|
|
|
/// <returns></returns>
|
|
|
public List<UserVM> GetUserPageList(QueryUserVM queryUserVM, out int totalCount)
|
|
|
{
|
|
|
totalCount = 0;
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<Sys_User>()
|
|
|
.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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 查询所有用户
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<Sys_User> QueryUsers()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<Sys_User>();
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行UserService下GQueryUsers时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户名和密码查询用户
|
|
|
/// </summary>
|
|
|
/// <param name="userName"></param>
|
|
|
/// <param name="pwd"></param>
|
|
|
/// <returns></returns>
|
|
|
public UserVM QueryUserByUserNameAndPwd(string userName, string pwd)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<Sys_User>()
|
|
|
.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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 查询有效用户
|
|
|
/// </summary>
|
|
|
/// <returns></returns>
|
|
|
public ISugarQueryable<Sys_User> QueryActiveUsers()
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<Sys_User>().Where(m => m.IsActive);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行UserService下QueryActiveUsers时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据Id查询用户
|
|
|
/// </summary>
|
|
|
/// <param name="id"></param>
|
|
|
/// <returns></returns>
|
|
|
public Sys_User QueryUserById(string id)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
return db.Queryable<Sys_User>().First(m => m.Id == id);
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
|
LogHelper.Error(ex, "执行UserService下QueryUserById时异常");
|
|
|
return null;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 新增用户
|
|
|
/// </summary>
|
|
|
/// <param name="t_User"></param>
|
|
|
/// <returns></returns>
|
|
|
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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 更新用户
|
|
|
/// </summary>
|
|
|
/// <param name="t_User"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) UpdateUser(Sys_User t_User)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Updateable<Sys_User>()
|
|
|
.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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户Id集合批量更新用户状态
|
|
|
/// </summary>
|
|
|
/// <param name="ids"></param>
|
|
|
/// <param name="isActive"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) UpdateUserStatus(List<string> ids, bool? isActive = true)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Updateable<Sys_User>()
|
|
|
.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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户Id更新用户密码
|
|
|
/// </summary>
|
|
|
/// <param name="id"></param>
|
|
|
/// <param name="pwd"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) UpdateUserPwdById(string id, string pwd)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Updateable<Sys_User>()
|
|
|
.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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户名更新用户密码
|
|
|
/// </summary>
|
|
|
/// <param name="userName"></param>
|
|
|
/// <param name="pwd"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) UpdateUserPwdByUserName(string userName, string pwd)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Updateable<Sys_User>()
|
|
|
.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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据用户Id重置密码
|
|
|
/// </summary>
|
|
|
/// <param name="id"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) ResetUserPwdById(string id)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Updateable<Sys_User>()
|
|
|
.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);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 根据Id删除用户
|
|
|
/// </summary>
|
|
|
/// <param name="id"></param>
|
|
|
/// <returns></returns>
|
|
|
public (bool isOk, string msg) DelUserById(string id)
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
var row = db.Deleteable<Sys_User>()
|
|
|
.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);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|