Browse Source

GetUserList 指定字段解密

LEIYI 3 months ago
parent
commit
e4a6417431

+ 4 - 3
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -1,4 +1,5 @@
-using OASystem.Domain.Entities.System;
+using OASystem.Domain.Attributes;
+using OASystem.Domain.Entities.System;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -66,12 +67,12 @@ namespace OASystem.Domain.ViewModels.System
         /// <summary>
         /// 手机号
         /// </summary>
-
+        [Encrypted]
         public string Phone { get; set; }
         /// <summary>
         /// 紧急联系人 手机号
         /// </summary>
-
+        [Encrypted]
         public string UrgentPhone { get; set; }
         /// <summary>
         /// 邮箱

+ 8 - 63
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -1,5 +1,6 @@
 using AutoMapper;
 using OASystem.Domain;
+using OASystem.Domain.AesEncryption;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels.System;
 using SqlSugar;
@@ -23,64 +24,20 @@ namespace OASystem.Infrastructure.Repositories.System
         /// <returns></returns>
         public async Task<Result> GetUserList(int portType,string sqlWhere)
         {
-            Result result = new Result() { Code = -2 };
-            
-            //List<UserInfoWebView> _userList = _sqlSugar.Queryable<Sys_Users>()
-            //    .InnerJoin<Sys_Company>((u, c) => u.CompanyId == c.Id) //若是多个条件 用 &&
-            //    .InnerJoin<Sys_Department>((u, c, d) => u.DepId == d.Id)
-            //    .InnerJoin<Sys_JobPost>((u, c, d, j) => u.JobPostId == j.Id)
-            //    .Where((u) => u.Id == 208)
-            //    .Select
-            //    ((u, c, d, j) => new UserInfoWebView
-            //    { 
-            //        Number = u.Number,
-            //        CompanyId = u.CompanyId, 
-            //        CompanyName = c.CompanyName, 
-            //        DepId=u.DepId,
-            //        DepName = d.DepName,
-            //        JobPostId = u.JobPostId,
-            //        JobName = j.JobName,
-            //        Id = u.Id,
-            //        CnName = u.CnName,
-            //        Phone = u.Phone,
-            //        UrgentPhone = u.UrgentPhone,
-            //        Ext =u.Ext,
-            //        Email = u.Email,
-            //    })
-            //    .ToList();
-
+            Result result = new Result() { Code = -2, Msg = "暂无数据!" };
 
-            if (portType == 1) //web
-            {
-                string userSqlWhere = string.Format(@"Select su.CompanyId, sc.CompanyName,su.DepId,sd.DepName,su.JobPostId,sjp.JobName,
-                                                        su.Id UserId,su.CnName,su.CnName,su.Number,su.Ext,su.Phone,su.UrgentPhone,su.Email
+            string userSqlWhere = string.Format(@"Select su.CompanyId, sc.CompanyName,su.DepId,sd.DepName,su.JobPostId,sjp.JobName,
+                                                        su.Id UserId,su.CnName,su.Number,su.Ext,su.Phone,su.UrgentPhone,su.Email
                                                       From Sys_Users su 
                                                       Inner Join Sys_Company sc On su.CompanyId = sc.Id
                                                       Inner Join Sys_Department sd On su.DepId = sd.Id
                                                       Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id Where su.IsDel = 0");
-                var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
+            var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
 
-                if (_userList.Count != 0)
-                {
-                    result.Code = 0;
-                    result.Msg = "成功!";
-                    result.Data = _userList;
-                }
-                else
-                {
-                    result.Msg = "暂无数据!";
-                }
-            }
-            else if (portType == 2) //Android
+            if (portType == 1 || portType == 2 || portType == 3) //web、Android、ios
             {
-                string userSqlWhere = string.Format(@"Select su.CompanyId, sc.CompanyName,su.DepId,sd.DepName,su.JobPostId,sjp.JobName,
-                                                        su.Id UserId,su.CnName,su.CnName,su.Number,su.Ext,su.Phone,su.UrgentPhone,su.Email
-                                                      From Sys_Users su 
-                                                      Inner Join Sys_Company sc On su.CompanyId = sc.Id
-                                                      Inner Join Sys_Department sd On su.DepId = sd.Id
-                                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id ");
-
-                var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
+                //解密
+                foreach (var user in _userList) EncryptionProcessor.DecryptProperties(user);
 
                 if (_userList.Count != 0)
                 {
@@ -88,19 +45,7 @@ namespace OASystem.Infrastructure.Repositories.System
                     result.Msg = "成功!";
                     result.Data = _userList;
                 }
-                else
-                {
-                    result.Msg = "暂无数据!";
-                }
-            }
-            else if (portType == 3) //IOS
-            {
             }
-            else
-            {
-                result.Msg = "暂无数据!";
-            } 
-            
             return result;
         }