新框架PDA后端(祈禧6月初版本)
南骏 池
3 天以前 fca0719af6948fe8fa1e4f094f8e7dba339c7428
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
using System.Dynamic;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.util;
 
namespace NewPdaSqlServer.service.@base;
 
public class LoginService : RepositoryNoEntity
{
    public SysUser login(string name, string pwd)
    {
        var strPass = UtilityHelper.MD5Encrypt32(pwd);
        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;
    }
 
    public List<dynamic> getUserMenu(string name)
    {
        var pageViewList = new List<MesSysPageview>();
        if ("admin".Equals(name))
        {
            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 A.guid = 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();
 
            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;
    }
}