| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 | using AutoMapper;using OASystem.Domain;using OASystem.Domain.AesEncryption;using OASystem.Domain.Entities.System;using OASystem.Domain.ViewModels.System;using SqlSugar;using StackExchange.Redis;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace OASystem.Infrastructure.Repositories.System{    public class UsersRepository : BaseRepository<UserInfo, UserInfoWebView>    {        public UsersRepository(SqlSugarClient sqlSugar) : base(sqlSugar){}        /// <summary>        /// 用户查询列表        /// </summary>        /// <param name="_userRep"></param>        /// <returns></returns>        public async Task<Result> GetUserList(int portType,string sqlWhere)        {            Result result = new Result() { Code = -2, Msg = "暂无数据!" };            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();            if (portType == 1 || portType == 2 || portType == 3) //web、Android、ios            {                //解密                foreach (var user in _userList) EncryptionProcessor.DecryptProperties(user);                if (_userList.Count != 0)                {                    result.Code = 0;                    result.Msg = "成功!";                    result.Data = _userList;                }            }            return result;        }        /// <summary>        /// 用户查询列表        /// </summary>        /// <param name="_userRep"></param>        /// <returns></returns>        public async Task<Result> GetUserNameList(int portType)        {            Result result = new Result() { Code = -2 };            if (portType == 1 || portType == 2) //web            {                string sql = string.Format(@"Select Id,CnName From Sys_Users Where Isdel=0 And HrAudit = 1");                var _userList = await _sqlSugar.SqlQueryable<UserNameView>(sql).ToListAsync();                if (_userList.Count != 0)                {                    result.Code = 0;                    result.Msg = "成功!";                    result.Data = _userList;                }                else                {                    result.Msg = "暂无数据!";                }            }            else if (portType == 2) //Android            {                          }            else if (portType == 3) //IOS            {            }            else            {                result.Msg = "暂无数据!";            }            return result;        }        public async Task<List<UserInfo>> QueryUser(string sqlWhere)        {            string sql = string.Format(@"Select sc.CompanyName,sd.DepName,sjp.JobName,su.* From Sys_Users su                                                         left Join Sys_Company sc On su.CompanyId = sc.Id                                                        left Join Sys_Department sd On su.DepId = sd.Id                                                        left Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);            return await _sqlSugar.SqlQueryable<UserInfo>(sql).ToListAsync();        }        /// <summary>        /// 员工简略信息        /// </summary>        /// <param name="id"></param>        /// <returns></returns>        public async Task<UserBriefInfo> GetUserBriefInfo(int id)        {            var info = await _sqlSugar                .Queryable<Sys_Users>()                .LeftJoin<Sys_JobPost>((u, jp) => u.JobPostId == jp.Id)                .Where((u, jp) => u.Id == id)                .Select((u, jp) => new UserBriefInfo()                {                    Id = u.Id,                    Name = u.CnName,                    Job = jp.JobName,                    Telephone = u.Ext,                    ExtensionNumber = u.Ext,                    Tel = u.Phone,                    Email = u.Email,                })                .FirstAsync();            info.Tel = AesEncryptionHelper.Decrypt(info.Tel);            return info;        }    }}
 |