2024-05-22 15:01:28 +00:00
|
|
|
|
using langguanApi.Common;
|
|
|
|
|
|
using langguanApi.Extensions.AutoDI;
|
|
|
|
|
|
using langguanApi.Model;
|
|
|
|
|
|
using langguanApi.Model.Dto;
|
|
|
|
|
|
using langguanApi.Model.Entity;
|
|
|
|
|
|
using Mapster;
|
|
|
|
|
|
using System.Linq.Expressions;
|
|
|
|
|
|
|
|
|
|
|
|
namespace langguanApi.Service
|
|
|
|
|
|
{
|
|
|
|
|
|
[ServiceInjection(InjectionType.Transient)]
|
|
|
|
|
|
public class UserService : BaseService<UserEntity>
|
|
|
|
|
|
{
|
|
|
|
|
|
public UserService(IConfiguration config) : base(config, nameof(UserEntity).Replace("Entity", ""))
|
|
|
|
|
|
{
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 登录
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="username"></param>
|
|
|
|
|
|
/// <param name="password"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<UserEntity> login(string username, string password)
|
|
|
|
|
|
{
|
|
|
|
|
|
Expression<Func<UserEntity, bool>> exp = filter =>
|
|
|
|
|
|
filter.Username == username && filter.Password == StringHelper.MD5Encrypt32(password);
|
|
|
|
|
|
var list = await base.GetListWithExp(exp);
|
|
|
|
|
|
return list.FirstOrDefault();
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 根据用户名获取用户信息
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="username"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<UserEntity> GetByUsername(string username)
|
|
|
|
|
|
{
|
|
|
|
|
|
Expression<Func<UserEntity, bool>> exp = filter =>
|
|
|
|
|
|
filter.Username == username;
|
|
|
|
|
|
var list = await base.GetListWithExp(exp);
|
|
|
|
|
|
return list.FirstOrDefault();
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 根据用户ID获取用户信息
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="id"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<UserEntity> GetById(string id)
|
|
|
|
|
|
{
|
|
|
|
|
|
return await base.GetAsync(id);
|
|
|
|
|
|
}
|
|
|
|
|
|
///新加用户
|
|
|
|
|
|
public async Task<ApiResult> AddUser(UserAdd user)
|
|
|
|
|
|
{
|
|
|
|
|
|
var entity = user.Adapt<UserEntity>();
|
|
|
|
|
|
entity.Password = StringHelper.MD5Encrypt32(user.Password);
|
|
|
|
|
|
var result = await base.CreateAsync(entity);
|
|
|
|
|
|
return new ApiResult()
|
|
|
|
|
|
{
|
|
|
|
|
|
code = 0,
|
|
|
|
|
|
data = result
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// 分页取数据
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="input"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
public async Task<ApiResult> GetPage(reqpage input)
|
|
|
|
|
|
{
|
2024-05-29 15:53:04 +00:00
|
|
|
|
Expression<Func<UserEntity, bool>> exp = filter => true;
|
|
|
|
|
|
if (!string.IsNullOrEmpty(input.key))
|
|
|
|
|
|
{
|
|
|
|
|
|
exp = filter => filter.Username.Contains(input.key) || filter.Phone.Contains(input.key) || filter.Email.Contains(input.key);
|
|
|
|
|
|
}
|
2024-05-22 15:01:28 +00:00
|
|
|
|
return await base.GetPager(new ReqPaing()
|
|
|
|
|
|
{
|
|
|
|
|
|
pageSize = input.pageSize,
|
|
|
|
|
|
current = input.current
|
|
|
|
|
|
}, exp);
|
|
|
|
|
|
}
|
|
|
|
|
|
///更新用户信息
|
|
|
|
|
|
public async Task UpdateUser(UserUpdate user)
|
|
|
|
|
|
{
|
|
|
|
|
|
var entity = user.Adapt<UserEntity>();
|
|
|
|
|
|
entity.Password = StringHelper.MD5Encrypt32(user.Password);
|
|
|
|
|
|
await base.UpdateAsync(user.Id, entity);
|
|
|
|
|
|
}
|
|
|
|
|
|
///删除用户
|
|
|
|
|
|
public async Task DeleteUser(string id)
|
|
|
|
|
|
{
|
|
|
|
|
|
await base.RemoveAsync(id);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|