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; } } }