feat: 新增VIP过期自动卸载功能
- 新增`AiRechargeManager`类,实现VIP过期用户的自动卸载逻辑。 - 新增`AiHubConst`常量类,统一管理角色名称。 - 在`IRoleService`中添加`RemoveUserRoleByRoleCodeAsync`方法,用于移除指定用户的角色。 - 在`RoleManager`中实现`RemoveUserRoleByRoleCodeAsync`方法。 - 优化`CurrentExtensions`中VIP角色判断逻辑,使用常量替代硬编码。 - 调整`YiAbpWebModule`中部分代码格式,提升可读性。
This commit is contained in:
31
Yi.Abp.Net8/src/Yi.Abp.Web/Jobs/ai-hub/VipExpireJob.cs
Normal file
31
Yi.Abp.Net8/src/Yi.Abp.Web/Jobs/ai-hub/VipExpireJob.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using SqlSugar;
|
||||
using Volo.Abp.BackgroundWorkers.Hangfire;
|
||||
using Yi.Framework.AiHub.Domain.Entities;
|
||||
using Yi.Framework.AiHub.Domain.Entities.OpenApi;
|
||||
using Yi.Framework.AiHub.Domain.Managers;
|
||||
using Yi.Framework.Rbac.Domain.Entities;
|
||||
using Yi.Framework.SqlSugarCore.Abstractions;
|
||||
|
||||
namespace Yi.Abp.Web.Jobs.ai_hub;
|
||||
|
||||
/// <summary>
|
||||
/// VIP过期自动卸载任务
|
||||
/// </summary>
|
||||
public class VipExpireJob : HangfireBackgroundWorkerBase
|
||||
{
|
||||
private readonly AiRechargeManager _aiRechargeManager;
|
||||
|
||||
public VipExpireJob(AiRechargeManager aiRechargeManager)
|
||||
{
|
||||
_aiRechargeManager = aiRechargeManager;
|
||||
RecurringJobId = "VIP过期自动卸载";
|
||||
// 每天凌晨0点执行一次
|
||||
CronExpression = "0 0 0 * * ?";
|
||||
}
|
||||
|
||||
public override async Task DoWorkAsync(CancellationToken cancellationToken = new CancellationToken())
|
||||
{
|
||||
await _aiRechargeManager.RemoveVipRoleByExpireAsync();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user