bklLiudl
2025-04-07 4e8f58cb41c7b6d570fd1979d80f74ab8a4d00c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
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;
        }
    }
}