Files
Atomx/Atomx.Core/Services/BackgroundJobService.cs
2025-12-14 02:43:40 +08:00

51 lines
1.7 KiB
C#

using Hangfire;
using Microsoft.Extensions.Logging;
namespace Atomx.Core.Jos
{
public partial interface IBackgroundJobService
{
/// <summary>
/// 更新本地化文件
/// </summary>
/// <param name="path"></param>
/// <param name="culture"></param>
/// <param name="data"></param>
/// <returns></returns>
string UpdateLocalizationFile(string path, string culture, string data);
string SendSMSVerificationCode(string phoneNumber, string code, TimeSpan validDuration);
}
public partial class BackgroundJobService : IBackgroundJobService
{
readonly IBackgroundJobClient _backgroundJobClient;
readonly IRecurringJobManager _recurringJobManager;
readonly ILogger<BackgroundJobService> _logger;
public BackgroundJobService(IBackgroundJobClient backgroundJobClient, IRecurringJobManager recurringJobManager, ILogger<BackgroundJobService> logger)
{
_backgroundJobClient = backgroundJobClient;
_recurringJobManager = recurringJobManager;
_logger = logger;
}
/// <summary>
/// 更新本地化文件
/// </summary>
/// <param name="path"></param>
/// <param name="culture"></param>
/// <param name="data"></param>
/// <returns></returns>
public string UpdateLocalizationFile(string path, string culture, string data)
{
var jobId = _backgroundJobClient.Enqueue<LocalizationJob>(job => job.ExecuteAsync(path, culture, data));
return jobId;
}
public string SendSMSVerificationCode(string phoneNumber, string code, TimeSpan validDuration)
{
return string.Empty;
}
}
}