66 lines
2.5 KiB
Java
66 lines
2.5 KiB
Java
package com.simaek.notify.sms;
|
|
|
|
import com.simaek.notify.*;
|
|
import com.simaek.notify.sms.aliyun.AliyunSmsNotifierProvider;
|
|
import com.simaek.notify.template.AbstractTemplateManager;
|
|
import com.simaek.notify.template.Template;
|
|
import com.simaek.notify.template.TemplateManager;
|
|
import com.simaek.notify.template.TemplateProperties;
|
|
import org.junit.Test;
|
|
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
/**
|
|
* @author xueye
|
|
*/
|
|
public class AliyunSmsTest {
|
|
|
|
@Test
|
|
public void test() {
|
|
// 通知器配置管理器
|
|
NotifyConfigManager notifyConfigManager = new NotifyConfigManager() {
|
|
@Override
|
|
public NotifierProperties getNotifyConfig(NotifyType notifyType, String configId) {
|
|
NotifierProperties notifierProperties = new NotifierProperties();
|
|
notifierProperties.setType(DefaultNotifyType.sms.getId());
|
|
notifierProperties.setProvider(SmsProvider.aliyun.getId());
|
|
notifierProperties.setId("12");
|
|
|
|
Map<String, Object> config = new HashMap<>();
|
|
config.put("regionId", "");
|
|
config.put("accessKeyId", "");
|
|
config.put("secret", "");
|
|
|
|
notifierProperties.setConfiguration(config);
|
|
|
|
return notifierProperties;
|
|
}
|
|
};
|
|
|
|
// 模板管理器
|
|
TemplateManager templateManager = new AbstractTemplateManager() {
|
|
@Override
|
|
protected TemplateProperties getProperties(NotifyType type, String id) {
|
|
TemplateProperties templateProperties = new TemplateProperties();
|
|
templateProperties.setType(DefaultNotifyType.sms.getId());
|
|
templateProperties.setProvider(SmsProvider.aliyun.getId());
|
|
|
|
templateProperties.setTemplate("{\"signName\":\"Hello\",\"phoneNumber\":[\"xueye404@qq.com\"],\"code\":\"1322\"}");
|
|
|
|
return templateProperties;
|
|
}
|
|
};
|
|
|
|
NotifierManager notifierManager = new AbstractNotifierManager(notifyConfigManager){};
|
|
AliyunSmsNotifierProvider aliyunSmsNotifierProvider = new AliyunSmsNotifierProvider();
|
|
// register
|
|
notifierManager.register(aliyunSmsNotifierProvider);
|
|
templateManager.register(aliyunSmsNotifierProvider);
|
|
|
|
Notifier<Template> notifier = notifierManager.getNotifier(DefaultNotifyType.sms, "123");
|
|
notifier.send(templateManager.getTemplate(DefaultNotifyType.sms, "124"), new HashMap<>());
|
|
}
|
|
|
|
}
|