sunpengfei
2 天以前 67d5dbb966df4af4304b4168378c68ce83ad01b1
FlexJobApi.Core/Utils/SmsUtils/SmsUtils.cs
@@ -7,6 +7,7 @@
using MediatR;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -22,14 +23,28 @@
    public class SmsUtils
    {
        private readonly IRepository<SmsLog, LogDbContextLocator> rep;
        private readonly IOptions<AliyunOptions> options;
        private readonly AliyunSmsUtils aliyunSmsUtils;
        public SmsUtils(
            IRepository<SmsLog, LogDbContextLocator> rep,
            IOptions<AliyunOptions> options,
            AliyunSmsUtils aliyunSmsUtils)
        {
            this.rep = rep;
            this.options = options;
            this.aliyunSmsUtils = aliyunSmsUtils;
        }
        public async Task<Guid> Send(SendSmsModel model, object templateParam, CancellationToken cancellationToken = default)
        {
            var entity = new SmsLog();
            model.Adapt(entity);
            entity.Expiry = DateTime.Now.AddMinutes(10);
            entity.TemplateParam = templateParam.ToJson();
            await aliyunSmsUtils.SendAsync(model.PhoneNumber, model.TemplateCode, entity.TemplateParam, cancellationToken);
            await rep.InsertAsync(entity);
            return entity.Id;
        }
        public async Task<Guid> SendVerifyCode(SendVerifyCodeModel model, CancellationToken cancellationToken = default)
@@ -41,7 +56,7 @@
            entity.TemplateParam = new { code }.ToJson();
            await aliyunSmsUtils.SendAsync(model.PhoneNumber, model.TemplateCode, entity.TemplateParam, cancellationToken);
            await rep.InsertAsync(entity);
            if (App.HostEnvironment.IsDevelopment())
            if (options.Value.SMS.WithoutVerifyCode)
            {
                UnifyContext.Fill(new
                {