📄
SendSmsJob.cs
using HuaweiWifiSms.Grpc; using Microsoft.Extensions.Logging; using Quartz; internal sealed class SendSmsJob(SmsSender.SmsSenderClient smsSender, ILogger<SendSmsJob> logger) : IJob { public async Task Execute(IJobExecutionContext context) { var phone = context.MergedJobDataMap.GetString("phoneNumber")!; var message = context.MergedJobDataMap.GetString("message")!; var response = await smsSender.SendSmsAsync( new SmsRequest { RecipientPhoneNumber = phone, Content = message }, cancellationToken: context.CancellationToken ); if (response.Status == SmsStatus.Success) logger.LogInformation("SMS sent to {Phone}", phone); else logger.LogWarning("SMS to {Phone} returned status {Status}", phone, response.Status); } }