| | |
| | | using NewPdaSqlServer.DB; |
| | | using System.Dynamic; |
| | | using NewPdaSqlServer.DB; |
| | | using NewPdaSqlServer.entity; |
| | | using NewPdaSqlServer.util; |
| | | using SqlSugar; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory; |
| | | |
| | | namespace NewPdaSqlServer.service.@base; |
| | | |
| | | public class LoginService : RepositoryNoEntity |
| | | { |
| | | |
| | | public SysUser login(string name, string pwd) |
| | | public dynamic login(string name, string pwd) |
| | | { |
| | | |
| | | var strPass = UtilityHelper.MD5Encrypt32(pwd); |
| | | var sysUser = Db.Queryable<SysUser>() |
| | | .Where(s => s.Account == name |
| | | && s.Password == strPass).First(); |
| | | //var sysUser = Db.Queryable<SysUser>() |
| | | // .Where(s => s.Account == name |
| | | // && s.Password == strPass).First(); |
| | | |
| | | if (sysUser == null) throw new Exception("用户不存在"); |
| | | |
| | | var db_password = sysUser.Password; |
| | | if (!strPass.Equals(db_password)) throw new Exception("用户名或者密码错误"); |
| | | |
| | | return sysUser; |
| | | |
| | | var parameters = new[] |
| | | { |
| | | new SugarParameter("@pi_account", name), |
| | | new SugarParameter("@pi_password", strPass), |
| | | new SugarParameter("@inP1", null), |
| | | new SugarParameter("@inP2", null), |
| | | new SugarParameter("@inP3", null) |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var sysUser = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_login_selUserOrgInfo @pi_account,@pi_password,@inP1,@inP2,@inP3", parameters).First(); |
| | | |
| | | if (sysUser == null) throw new Exception("用户不存在"); |
| | | |
| | | var db_password = sysUser.Password; |
| | | if (!strPass.Equals(db_password)) throw new Exception("用户名或者密码错误"); |
| | | return sysUser; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // 保留原有异常处理逻辑 |
| | | throw new Exception($"{ex.Message}"); |
| | | } |
| | | |
| | | } |
| | | |
| | | public List<MesSysPageview> getUserMenu(string name) |
| | | public List<dynamic> getUserMenu(string name) |
| | | { |
| | | var sql = ""; |
| | | |
| | | var pageViewList = new List<MesSysPageview>(); |
| | | if ("admin".Equals(name)) |
| | | return Db.Queryable<MesSysPageview>() |
| | | { |
| | | pageViewList = Db.Queryable<MesSysPageview>() |
| | | .Where(s => s.PageStatus == true) |
| | | .OrderBy(s => s.PageIdx) |
| | | .ToList(); |
| | | } |
| | | else |
| | | { |
| | | string sql = string.Format(@"SELECT A.* FROM MES_SYS_PAGEVIEW A |
| | | LEFT JOIN SYS_USER_BIND B ON CAST(A.guid AS VARCHAR(100)) = B.aboutGuid |
| | | LEFT JOIN SYS_USER C ON C.GUID = B.userGuid |
| | | WHERE C.ACCOUNT = '{0}'", name); |
| | | pageViewList = Db.Ado.SqlQuery<MesSysPageview>(sql); |
| | | } |
| | | |
| | | //if(pageViewList.Count < 0) |
| | | //{ |
| | | // throw new Exception("该用户没有权限访问"); |
| | | //} |
| | | |
| | | try |
| | | { |
| | | var result = new List<dynamic>(); |
| | | |
| | | |
| | | var groupedPageViews = pageViewList |
| | | .GroupBy(p => |
| | | string.IsNullOrEmpty(p.PageGroup) ? "未分组" : p.PageGroup) |
| | | .ToList(); |
| | | |
| | | return null; |
| | | foreach (var group in groupedPageViews) |
| | | { |
| | | dynamic groupObj = new ExpandoObject(); |
| | | groupObj.groupName = group.Key; // 分组名 |
| | | groupObj.child = new List<MesSysPageview>(); |
| | | |
| | | foreach (var pageView in group) |
| | | { |
| | | var mesFile = Db.Queryable<MesFile>() |
| | | .Where(s => s.ParentGuid == pageView.Guid) |
| | | .OrderByDescending(s => s.CreateDate) |
| | | .First(); |
| | | |
| | | var icoimg = ""; |
| | | if (mesFile != null) |
| | | icoimg = "http://192.168.1.145:81/upload/" + |
| | | mesFile.UrlPath; |
| | | |
| | | groupObj.child.Add(new MesSysPageview |
| | | { |
| | | Guid = pageView.Guid, |
| | | PageView = pageView.PageView, |
| | | Path = pageView.Path, |
| | | Icoimg = icoimg, |
| | | PageGroup = pageView.PageGroup, |
| | | PageIdx = pageView.PageIdx, |
| | | PageStatus = pageView.PageStatus |
| | | }); |
| | | } |
| | | |
| | | result.Add(groupObj); |
| | | } |
| | | |
| | | return result; |
| | | |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | public int resetPassword(string newPwd, string name, string pwd) |
| | | { |
| | | login(name, pwd); |
| | | var passwordHash = UtilityHelper.MD5Encrypt32(newPwd); |
| | | |
| | | |
| | | return Db.Updateable<SysUser>() |
| | | .SetColumns(s => s.Password == passwordHash) |
| | | .Where(s => s.Account == name) |
| | | .ExecuteCommand(); |
| | | } |
| | | |
| | | |
| | | public List<dynamic> getUserInfo(string userGuid) |
| | | { |
| | | |
| | | //string sql = string.Format(@"SELECT A.* FROM MES_SYS_PAGEVIEW A |
| | | // LEFT JOIN SYS_USER_BIND B ON A.guid = B.aboutGuid |
| | | // LEFT JOIN SYS_USER C ON C.GUID = B.userGuid |
| | | //WHERE C.ACCOUNT = '{0}'", userGuid); |
| | | //var sysUser = Db.Ado.SqlQuery<dynamic>(sql); |
| | | |
| | | |
| | | //return sysUser; |
| | | return null; |
| | | } |
| | | |
| | | public dynamic changeOrg(dynamic query) |
| | | { |
| | | if (query == null) throw new ArgumentNullException(nameof(query), "参数对象不能为 null"); |
| | | |
| | | if (string.IsNullOrEmpty(query.userName?.ToString())) |
| | | throw new ArgumentException("用户名不允许为空", nameof(query.userName)); |
| | | |
| | | var parameters = new[] |
| | | { |
| | | new SugarParameter("@pi_account", query.userName), |
| | | new SugarParameter("@inP1", null), |
| | | new SugarParameter("@inP2", null), |
| | | new SugarParameter("@inP3", null) |
| | | }; |
| | | |
| | | try |
| | | { |
| | | var orgInfo = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_my_selOrgInfo @pi_account,@inP1,@inP2,@inP3", parameters); |
| | | |
| | | //if (sysUser.Count < 1) throw new Exception("用户不存在关联组织"); |
| | | return orgInfo; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | // 保留原有异常处理逻辑 |
| | | throw new Exception($"{ex.Message}"); |
| | | } |
| | | |
| | | } |
| | | } |