|
@@ -43,9 +43,10 @@ namespace GxPress.Api.AppControllers
|
|
private readonly IUserService _userService;
|
|
private readonly IUserService _userService;
|
|
private readonly IFileLibraryRepository fileLibraryRepository;
|
|
private readonly IFileLibraryRepository fileLibraryRepository;
|
|
private readonly IDistributedCache _cache;
|
|
private readonly IDistributedCache _cache;
|
|
|
|
+ private readonly IUserLoginRepository userLoginRepository;
|
|
public UserController(IUserRepository userRepository, IOptions<JwtOptions> jwtOptions,
|
|
public UserController(IUserRepository userRepository, IOptions<JwtOptions> jwtOptions,
|
|
ILogger<UserController> logger, IDepartmentRepository departmentRepository, ILoginContext loginContext,
|
|
ILogger<UserController> logger, IDepartmentRepository departmentRepository, ILoginContext loginContext,
|
|
- IUserService userService, IFileLibraryRepository fileLibraryRepository, IDistributedCache cache)
|
|
|
|
|
|
+ IUserService userService, IFileLibraryRepository fileLibraryRepository, IDistributedCache cache, IUserLoginRepository userLoginRepository)
|
|
{
|
|
{
|
|
_userRepository = userRepository;
|
|
_userRepository = userRepository;
|
|
_departmentRepository = departmentRepository;
|
|
_departmentRepository = departmentRepository;
|
|
@@ -55,6 +56,7 @@ namespace GxPress.Api.AppControllers
|
|
_loginContext = loginContext;
|
|
_loginContext = loginContext;
|
|
this.fileLibraryRepository = fileLibraryRepository;
|
|
this.fileLibraryRepository = fileLibraryRepository;
|
|
_cache = cache;
|
|
_cache = cache;
|
|
|
|
+ this.userLoginRepository = userLoginRepository;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// <summary>
|
|
/// 登录
|
|
/// 登录
|
|
@@ -66,6 +68,8 @@ namespace GxPress.Api.AppControllers
|
|
public async Task<UserSignInResult> SignIn(UserSignInRequest request)
|
|
public async Task<UserSignInResult> SignIn(UserSignInRequest request)
|
|
{
|
|
{
|
|
var result = await _userRepository.SignInAsync(request);
|
|
var result = await _userRepository.SignInAsync(request);
|
|
|
|
+ //记录登录
|
|
|
|
+ await userLoginRepository.InsertAsync(new UserLogin { UserId = result.UserId });
|
|
var claims = new[]
|
|
var claims = new[]
|
|
{
|
|
{
|
|
new Claim(ClaimTypes.NameIdentifier, result.UserId.ToString()),
|
|
new Claim(ClaimTypes.NameIdentifier, result.UserId.ToString()),
|
|
@@ -118,7 +122,7 @@ namespace GxPress.Api.AppControllers
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
[HttpGet("sendSmsCode")]
|
|
[HttpGet("sendSmsCode")]
|
|
[AllowAnonymous]
|
|
[AllowAnonymous]
|
|
- public async Task<bool> SendSmsCode([FromQuery] [Required] [Mobile] string phone)
|
|
|
|
|
|
+ public async Task<bool> SendSmsCode([FromQuery][Required][Mobile] string phone)
|
|
{
|
|
{
|
|
var user = await _userRepository.GetByPhoneAsync(phone);
|
|
var user = await _userRepository.GetByPhoneAsync(phone);
|
|
//用户不存在
|
|
//用户不存在
|
|
@@ -149,7 +153,7 @@ namespace GxPress.Api.AppControllers
|
|
/// <param name="phone"></param>
|
|
/// <param name="phone"></param>
|
|
/// <returns></returns>
|
|
/// <returns></returns>
|
|
[HttpGet("send-sms-code")]
|
|
[HttpGet("send-sms-code")]
|
|
- public async Task<bool> SendSmsCodeReplace([FromQuery] [Required] [Mobile] string phone)
|
|
|
|
|
|
+ public async Task<bool> SendSmsCodeReplace([FromQuery][Required][Mobile] string phone)
|
|
{
|
|
{
|
|
var user = await _userRepository.GetByPhoneAsync(phone);
|
|
var user = await _userRepository.GetByPhoneAsync(phone);
|
|
if (user != null)
|
|
if (user != null)
|