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);
}
}
}