using System;
|
using System.Collections.Generic;
|
using System.Diagnostics.CodeAnalysis;
|
using System.Text;
|
using System.Threading.Tasks;
|
using Dm;
|
using Model.ModelDto.SysDto;
|
using Model.ModelVm.SysVm;
|
using NetTaste;
|
using SqlSugar;
|
using Utility.Tools;
|
using WMS.Entity.Context;
|
using WMS.Entity.SysEntity;
|
using WMS.IDAL.ISysInterface;
|
|
namespace WMS.DAL.SystemService
|
{
|
public class UserInforRepository : BaseRepository<SysUserInfor>, IUserInforRepository
|
{
|
private static readonly SqlSugarScope Db = DataContext.Db;
|
public UserInforRepository() : base(Db)
|
{
|
}
|
/// <summary>
|
/// 测试方法
|
/// </summary>
|
/// <returns></returns>
|
public SysUserInfor ceshi()
|
{
|
var dt = Db.Ado.GetDataTable("select Id,UserCode,UserName,UserPassword from WmsSysUser");
|
var a = dt.Rows[0][0];
|
var b = dt.Rows[0][1];
|
//new List<SugarParameter>(){
|
// new SugarParameter("@id", 1),
|
// new SugarParameter("@name", "% %") //执行sql语句
|
//}
|
var data = Db.Queryable<SysUserInfor>().First();
|
return data;
|
}
|
|
/// <summary>
|
/// 获取用户角色信息
|
/// </summary>
|
/// <returns></returns>
|
public List<UserInfoDto> GetUserRoleList(string str)
|
{
|
//string str = "select user1.Id Id,user1.UserNo UserNo,user1.UserName UserName,user1.RealName RealName,user1.PassWord PassWord,user1.JobNo JobNo,user1.Status Status,user1.Sex Sex,user1.Nationality Nationality,user1.Paper Paper,user1.Phone Phone,user1.Email Email,user1.Addres Addres,user1.Demo Demo,role.RoleName from SysUserInfor user1 left join SysRoles role on user1.RoleNo = role.RoleNo where user1.IsDel = '0'";
|
List<UserInfoDto> userInfoDtos = Db.Ado.SqlQuery<UserInfoDto>(str);
|
return userInfoDtos;
|
}
|
|
/// <summary>
|
/// 根据编号获取用户信息列表
|
/// </summary>
|
/// <param name="str">str</param>
|
/// <returns></returns>
|
public List<SysUserInfor> GetUserInfoByNo(string str)
|
{
|
List<SysUserInfor> userlist = Db.Ado.SqlQuery<SysUserInfor>(str);
|
return userlist;
|
}
|
|
/// <summary>
|
/// 新增用户信息
|
/// </summary>
|
/// <param name="userinfo">用户实体模型</param>
|
/// <returns></returns>
|
public async Task<int> InsertUserInfo(SysUserInfor userinfo)
|
{
|
string str = "insert into SysUserInfor values(@userno, @username, @realname, @password, @jobno, @status, @sex, @nationality, @paper, @phone, @email, @addres, @logintime, @setpasswordtime, @roleno, @departmentno, @demo, @isdel, @createtime, @createuser, null, null)";
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
userno = userinfo.UserNo, //用户
|
username = userinfo.UserName, //登录名称
|
realname = userinfo.RealName, //真实姓名
|
password = Md5Tools.CalcMd5("boxline"), //密码(默认密码boxline)
|
jobno = userinfo.JobNo, //职工号
|
status = userinfo.Status, //状态
|
sex = userinfo.Sex, //性别
|
nationality = userinfo.Nationality, //国籍
|
paper = userinfo.Paper, //证件号
|
phone = userinfo.Phone, //手机号
|
email = userinfo.Email, //邮箱
|
addres = userinfo.Addres, //地址
|
logintime = userinfo.LoginTime, //最后登录时间
|
setpasswordtime = Db.GetDate(), //密码设置时间
|
roleno = userinfo.RoleNo, //角色号
|
departmentno = userinfo.DepartmentNo, //部门号
|
demo = userinfo.Demo, //备注
|
isdel = "0", //是否删除
|
createtime = Db.GetDate(), //创建时间
|
createuser = userinfo.CreateUser //创建人
|
});
|
return i;
|
}
|
|
/// <summary>
|
/// 删除\批删用户信息
|
/// </summary>
|
/// <param name="userinfo">用户实体模型</param>
|
/// <returns></returns>
|
public async Task<int> DeleteUserinfo(SysUserInfor userinfo)
|
{
|
string str = "update SysUserInfor set IsDel = @isdel, UpdateTime = @updatetime, UpdateUser = @updateuser where Id = @id";
|
//删除
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
isdel = "1", //是否删除
|
updatetime = Db.GetDate(), //更改时间
|
updateuser = userinfo.UpdateUser, //更改人
|
id = userinfo.Id //id
|
});
|
//返回数据
|
return i;
|
}
|
|
/// <summary>
|
/// 编辑用户信息
|
/// </summary>
|
/// <param name="userinfo"></param>
|
/// <returns></returns>
|
public async Task<int> UpdateUserinfo(SysUserInfor userinfo)
|
{
|
string str = "update SysUserInfor set UserName = @username, RealName = @realname, JobNo = @jobno, Status = @status, Sex = @sex, Nationality = @nationality, Paper = @paper, Phone = @phone, Email = @email, Addres = @addres, RoleNo = @roleno, DepartmentNo = @departmentno, Demo = @demo, UpdateTime = @updatetime, UpdateUser = @updateuser where Id = @id";
|
//编辑
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
username = userinfo.UserName, //登录名称
|
realname = userinfo.RealName, //真实姓名
|
jobno = userinfo.JobNo, //职工号
|
status = userinfo.Status, //状态
|
sex = userinfo.Sex, //性别
|
nationality = userinfo.Nationality, //国籍
|
paper = userinfo.Paper, //证件号
|
phone = userinfo.Phone, //手机号
|
email = userinfo.Email, //邮箱
|
addres = userinfo.Addres, //地址
|
roleno = userinfo.RoleNo, //角色号
|
departmentno = userinfo.DepartmentNo, //部门号
|
demo = userinfo.Demo, //备注
|
updatetime = Db.GetDate(), //更改时间
|
updateuser = userinfo.UpdateUser, //更改人
|
id = userinfo.Id //id
|
});
|
return i;
|
}
|
|
/// <summary>
|
/// 根据id获取用户信息列表
|
/// </summary>
|
/// <param name="userids"></param>
|
/// <returns></returns>
|
public SysUserInfor GetUserInfoById(int userids)
|
{
|
string str = "select * from SysUserInfor where Id = @id and IsDel = @isdel";
|
SysUserInfor userlist = Db.Ado.SqlQuerySingle<SysUserInfor>(str, new
|
{
|
id = userids, //用户id
|
isdel = "0" //是否删除
|
});
|
return userlist;
|
}
|
|
/// <summary>
|
/// 修改用户密码
|
/// </summary>
|
/// <param name="pwdOld">原密码</param>
|
/// <param name="pwdNew">新密码</param>
|
/// <param name="pwdNewTwo">确认密码</param>
|
/// <param name="userId">用户id</param>
|
/// <returns></returns>
|
public async Task<int> UptUserPassWord(string pwdOld, string pwdNew, string pwdNewTwo, int userId)
|
{
|
string str = "update SysUserInfor set PassWord = @password,UpdateUser = @updateuser,UpdateTime = @updatetime,SetPasswordTime = @setPasswordTime where Id = @id";
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
password = pwdNew, //新密码
|
updateuser = userId, //更改人
|
updatetime = Db.GetDate(), //更改时间
|
setPasswordTime= Db.GetDate(),//密码设置时间
|
id = userId //id
|
});
|
return i;
|
}
|
|
/// <summary>
|
/// 最后登陆时间
|
/// </summary>
|
/// <param name="uid"></param>
|
/// <returns></returns>
|
public async Task<int> UptUserLoginTime(int uid)
|
{
|
string str = "Update SysUserInfor set LoginTime = @logintime where Id = @id";
|
int i = await Db.Ado.ExecuteCommandAsync(str, new
|
{
|
logintime = Db.GetDate(), //最后登录时间
|
id = uid //用户id
|
});
|
return i;
|
}
|
}
|
}
|