67 lines
2.5 KiB
Java
67 lines
2.5 KiB
Java
|
package com.cicdi.notify.sms;
|
||
|
|
||
|
import com.cicdi.notify.*;
|
||
|
import com.cicdi.notify.sms.aliyun.AliyunSmsNotifierProvider;
|
||
|
import com.cicdi.notify.template.AbstractTemplateManager;
|
||
|
import com.cicdi.notify.template.Template;
|
||
|
import com.cicdi.notify.template.TemplateManager;
|
||
|
import com.cicdi.notify.template.TemplateProperties;
|
||
|
import org.junit.Test;
|
||
|
|
||
|
import java.util.Arrays;
|
||
|
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.aliyunSms.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.aliyunSms.getId());
|
||
|
|
||
|
templateProperties.setTemplate("{\"signName\":\"Hello\",\"phoneNumber\":[\"xueye404@qq.com\"],\"code\":\"1322\"}");
|
||
|
|
||
|
return templateProperties;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
NotifierManager notifierManager = new DefaultNotifierManager(notifyConfigManager);
|
||
|
AliyunSmsNotifierProvider aliyunSmsNotifierProvider = new AliyunSmsNotifierProvider(templateManager);
|
||
|
// register
|
||
|
notifierManager.registerProvider(aliyunSmsNotifierProvider);
|
||
|
templateManager.register(aliyunSmsNotifierProvider);
|
||
|
|
||
|
Notifier<Template> notifier = notifierManager.getNotifier(DefaultNotifyType.sms, "123");
|
||
|
notifier.send(templateManager.getTemplate(DefaultNotifyType.sms, "124"), new HashMap<>());
|
||
|
}
|
||
|
|
||
|
}
|