51 lines
1.7 KiB
C#
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;
|
|
}
|
|
|
|
}
|
|
}
|