| | |
| | | /// <param name="setting"></param> |
| | | /// <param name="fromEntity"></param> |
| | | /// <returns></returns> |
| | | private EnumSmsAccess? GetSmsAccess(SmsSetting setting, SmsLog fromEntity) |
| | | private SmsSettingAccess GetSmsAccess(SmsSetting setting, SmsLog fromEntity) |
| | | { |
| | | var accesses = setting.Accesses |
| | | .OrderBy(it => it.Sort) |
| | | .Where(it => !it.IsDisabled) |
| | | .ToList(); |
| | | EnumSmsAccess? access = null; |
| | | SmsSettingAccess? access = null; |
| | | if (fromEntity == null) |
| | | { |
| | | access = accesses |
| | | .FirstOrDefault() |
| | | ?.Access; |
| | | .FirstOrDefault(); |
| | | } |
| | | else |
| | | { |
| | |
| | | { |
| | | access = accesses |
| | | .Where(it => it.Sort > sort) |
| | | .FirstOrDefault() |
| | | ?.Access; |
| | | .FirstOrDefault(); |
| | | } |
| | | } |
| | | return access; |
| | |
| | | else |
| | | { |
| | | var access = GetSmsAccess(setting, fromEntity); |
| | | if (access.HasValue) |
| | | if (access != null) |
| | | { |
| | | var smsService = GetSmsService(access.Value); |
| | | var smsService = GetSmsService(access.Access); |
| | | var entity = new SmsLog |
| | | { |
| | | ChannelId = setting.ChannelId, |
| | | ChannelCreatedUserId = model.ChannelCreatedUserId, |
| | | Access = access.Value, |
| | | Access = access.Access, |
| | | PhoneNumber = model.PhoneNumber, |
| | | TemplateCode = model.TemplateCode.ToString(), |
| | | TemplateParam = templateParam.ToJson(), |
| | |
| | | Status = EnumSmsStatus.Wait |
| | | }; |
| | | await rep.InsertNowAsync(entity); |
| | | var response = await smsService.SendAsync(model.PhoneNumber, model.TemplateCode, templateParam, cancellationToken); |
| | | var response = await smsService.SendAsync(access.SignName, model.PhoneNumber, model.TemplateCode, templateParam, cancellationToken); |
| | | if (response != null) |
| | | { |
| | | entity.Status = response.Status; |