using AutoMapper; using Microsoft.Extensions.Caching.Memory; using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using UIStandardWebApi.Entity; using UIStandardWebApi.EntityDto; using UIStandardWebApi.EntityDto.User; using UIStandardWebApi.IService; namespace UIStandardWebApi.Service { /// /// 用户管理服务层 /// public class UserManagerService : BaseService, IUserManagerService { private readonly IMapper _IMapper; private readonly IMemoryCache _IMemoryCache; public UserManagerService(ISqlSugarClient client, IMapper mapper, IMemoryCache iMemoryCache) : base(client) { _IMapper = mapper; _IMemoryCache = iMemoryCache; } /// /// 登录成功查询到的用户信息 /// /// /// /// public SysUserInfo? Login(string userName, string password) { string pwd = MD5Encrypt.Encrypt(password); List userList = _Client .Queryable() .Where(c => c.Name.Equals(userName) && c.Password.Equals(pwd)) .ToList(); if (userList == null || userList.Count <= 0) { return null; } Sys_User user = userList.First(); SysUserInfo userinfo = _IMapper.Map(user); user.LastLoginTime = DateTime.Now; _Client.Updateable(user).ExecuteCommand(); return userinfo; } /// /// 更新密码 /// /// /// /// public async Task EditPassAsync(int userId, string password) { Sys_User user = base.Find(userId); user.Password = MD5Encrypt.Encrypt(password); Update(new List() { user }); await Task.CompletedTask; } /// /// 获取用户的分页列表 /// /// /// /// /// public async Task> GetUserPageAsync(int pageindex, int pageSize, string? searchaString = null) { int? status = 1; Expressionable expressionable = new Expressionable(); expressionable.AndIF(!string.IsNullOrWhiteSpace(searchaString), u => u.Name.Contains(searchaString)).AndIF(status != null, it => it.Status == status); PagingData paging = base.QueryPage(expressionable.ToExpression(), pageSize, pageindex, c => c.CreateTime, false); PagingData pagingData = _IMapper.Map, PagingData>(paging); return await Task.FromResult(pagingData); } } }