定时服务启动方式调整,并调整相关业务代码
This commit is contained in:
@@ -43,6 +43,7 @@ using JNPF.Extras.DatabaseAccessor.SqlSugar.Models;
|
||||
using Aop.Api.Domain;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using bf = System.Reflection.BindingFlags;
|
||||
|
||||
namespace JNPF.OAuth;
|
||||
|
||||
@@ -142,6 +143,8 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
|
||||
private readonly IMHandler _imHandler;
|
||||
|
||||
private readonly BackgroundService _backgroundService; //added by ly on 20230916
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -165,7 +168,8 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
ICacheManager cacheManager,
|
||||
IUserManager userManager,
|
||||
IEventPublisher eventPublisher,
|
||||
IMHandler imHandler)
|
||||
IMHandler imHandler,
|
||||
BackgroundService backgroundService)
|
||||
{
|
||||
_captchaHandler = captchaHandler;
|
||||
_userRepository = userRepository;
|
||||
@@ -185,6 +189,7 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
_userManager = userManager;
|
||||
_eventPublisher = eventPublisher;
|
||||
_imHandler = imHandler;
|
||||
_backgroundService = backgroundService;
|
||||
}
|
||||
|
||||
#region Get
|
||||
@@ -287,6 +292,20 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
|
||||
var userId = _userManager.UserId;
|
||||
|
||||
//modify by ly on 20230918 登录成功后启动定时服务
|
||||
if (!userId.IsNullOrWhiteSpace())
|
||||
{
|
||||
var isStartedProperty = _backgroundService.GetType().GetProperty("IsStarted");
|
||||
|
||||
if (isStartedProperty?.GetValue(_backgroundService) is bool isStarted && !isStarted)
|
||||
{
|
||||
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
|
||||
await _backgroundService.StartAsync(cancellationTokenSource.Token);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var loginOutput = new CurrentUserOutput();
|
||||
loginOutput.userInfo = await _userManager.GetUserInfo();
|
||||
|
||||
@@ -388,6 +407,9 @@ public class OAuthService : IDynamicApiController, ITransient
|
||||
{
|
||||
//await _cacheManager.DelAsync("AsscessToken");
|
||||
|
||||
|
||||
//modify by ly on 20230918
|
||||
_backgroundService.PropertySetValue("IsStarted", false);
|
||||
UserManager.AsscessToken = string.Empty;
|
||||
|
||||
var tenantId = _userManager.TenantId ?? "default";
|
||||
|
||||
Reference in New Issue
Block a user