package com.qianwen.core.notify.provider.sms.aliyun; import com.alibaba.fastjson.JSON; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.qianwen.core.notify.DefaultNotifyType; import com.qianwen.core.notify.NotifyType; import com.qianwen.core.notify.Provider; import com.qianwen.core.notify.notifier.Notifier; import com.qianwen.core.notify.notifier.NotifierProperties; import com.qianwen.core.notify.notifier.NotifierProvider; import com.qianwen.core.notify.provider.sms.SmsProvider; import com.qianwen.core.notify.template.Template; import com.qianwen.core.notify.template.TemplateManager; import com.qianwen.core.notify.template.TemplateProperties; import com.qianwen.core.notify.template.TemplateProvider; import com.qianwen.core.tool.metadata.ConfigMetadata; import com.qianwen.core.tool.metadata.DefaultConfigMetadata; import com.qianwen.core.tool.metadata.types.StringType; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.stereotype.Component; @ConditionalOnBean({TemplateManager.class}) @Component /* loaded from: blade-starter-notify-9.3.0.0-SNAPSHOT.jar:org/springblade/core/notify/provider/sms/aliyun/AliyunSmsNotifierProvider.class */ public class AliyunSmsNotifierProvider implements NotifierProvider, TemplateProvider { private final TemplateManager templateManager; private static final Logger log = LoggerFactory.getLogger(AliyunSmsNotifierProvider.class); public static final DefaultConfigMetadata templateConfig = new DefaultConfigMetadata("阿里云短信模版", "https://help.aliyun.com/document_detail/108086.html").add("signName", "签名", "", new StringType()).add("code", "模版编码", "", new StringType()); public static final DefaultConfigMetadata notifierConfig = new DefaultConfigMetadata("阿里云API配置", "https://help.aliyun.com/document_detail/101300.html").add("regionId", "regionId", "regionId", new StringType()).add("accessKeyId", "accessKeyId", "", new StringType()).add("secret", "secret", "", new StringType()); public AliyunSmsNotifierProvider(final TemplateManager templateManager) { this.templateManager = templateManager; } @Override // com.qianwen.core.notify.notifier.NotifierProvider, com.qianwen.core.notify.template.TemplateProvider public NotifyType getType() { return DefaultNotifyType.sms; } @Override // com.qianwen.core.notify.notifier.NotifierProvider, com.qianwen.core.notify.template.TemplateProvider public Provider getProvider() { return SmsProvider.aliyunSms; } @Override // com.qianwen.core.notify.template.TemplateProvider public Template createTemplate(TemplateProperties properties) { return (Template) JSON.parseObject(properties.getTemplate(), AliyunSmsTemplate.class); } @Override // com.qianwen.core.notify.notifier.NotifierProvider public Notifier createNotifier(NotifierProperties notifierProperties) { return new AliyunSmsNotifier(notifierProperties, this.templateManager); } @Override // com.qianwen.core.notify.template.TemplateProvider public ConfigMetadata getTemplateConfigMetadata() { return templateConfig; } @Override // com.qianwen.core.notify.notifier.NotifierProvider public ConfigMetadata getNotifierConfigMetadata() { return notifierConfig; } }