42 lines
1.3 KiB
C#
42 lines
1.3 KiB
C#
using Dlhis.Entity.Sys.Entities;
|
|
using Dlhis.User.Identity.Request;
|
|
using Dlhis.User.Identity.Response;
|
|
using Kurisu.AspNetCore.Utils.Extensions;
|
|
using Kurisu.Core.DataAccess.Dto;
|
|
using Kurisu.SqlSugar.Extensions;
|
|
using Kurisu.SqlSugar.Services;
|
|
|
|
namespace Dlhis.User.Identity.Services.Implements;
|
|
|
|
public class UserService : IUserService
|
|
{
|
|
private readonly IDbContext _dbContext;
|
|
|
|
public UserService(IDbContext dbContext)
|
|
{
|
|
_dbContext = dbContext;
|
|
}
|
|
|
|
public async Task<Pagination<UserResponse>> GetPageAsync(UserPageRequest request)
|
|
{
|
|
return await _dbContext.Queryable<UserEntity>()
|
|
.WhereIF(request.Search.IsPresent(), x => x.UserName.Contains(request.Search)
|
|
|| x.NormalizedUserName.Contains(request.Search)
|
|
|| x.Email.Contains(request.Search)
|
|
|| x.NormalizedEmail.Contains(request.Search)
|
|
|| x.PhoneNumber.Contains(request.Search)
|
|
)
|
|
.Select<UserResponse>()
|
|
.ToPageListAsync(request);
|
|
}
|
|
|
|
public async Task ResetAccessFailedCountAsync(int id)
|
|
{
|
|
var user = await _dbContext.Queryable<UserEntity>().Where(x => x.Id == id).FirstAsync();
|
|
user.ThrowIfNull("用户不存在,无法重置");
|
|
|
|
user.AccessFailedCount = 0;
|
|
await _dbContext.UpdateAsync(user);
|
|
}
|
|
}
|