Commit 80cf0a24 authored by Junling Bu's avatar Junling Bu
Browse files

chore[litemall-core]:短信消息类型重新命名以及添加测试类

parent 2ad061a7
...@@ -26,8 +26,8 @@ class ExecutorConfig { ...@@ -26,8 +26,8 @@ class ExecutorConfig {
@Value("${spring.notify.queueCapacity}") @Value("${spring.notify.queueCapacity}")
private int queueCapacity; private int queueCapacity;
@Bean(name = "nofityAsync") @Bean(name = "notifyAsync")
public Executor nofityAsync() { public Executor notifyAsync() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(corePoolSize); executor.setCorePoolSize(corePoolSize);
executor.setMaxPoolSize(maxPoolSize); executor.setMaxPoolSize(maxPoolSize);
......
...@@ -34,20 +34,20 @@ public class LitemallNotifyService { ...@@ -34,20 +34,20 @@ public class LitemallNotifyService {
/** /**
* 短信模版通知 * 短信模版通知
* @param phoneNumber 接收通知的电话号码 * @param phoneNumber 接收通知的电话号码
* @param params 通知模版内容里的参数,类似"您的验证码为{1}"中{1}的值
* @param notifyType 通知类别,通过该枚举值在配置文件中获取相应的模版ID * @param notifyType 通知类别,通过该枚举值在配置文件中获取相应的模版ID
* @param params 通知模版内容里的参数,类似"您的验证码为{1}"中{1}的值
*/ */
public void notifySMSTemplate(String phoneNumber, String[] params, NotifyUtils.NotifyType notifyType) { public void notifySMSTemplate(String phoneNumber, NotifyUtils.NotifyType notifyType, String[] params) {
if (!sendSMSEnable) if (!sendSMSEnable)
return; return;
int templateId = -1; int templateId = -1;
switch (notifyType) { switch (notifyType) {
case PAY_COMPLATED: case PAY_SUCCEED:
templateId = Integer.parseInt(environment.getProperty("spring.sms.template.pay.complated")); templateId = Integer.parseInt(environment.getProperty("spring.sms.template.paySucceed"));
break; break;
case VERIFICATIONCODE: case CAPTCHA:
templateId = Integer.parseInt(environment.getProperty("spring.sms.template.verificationcode")); templateId = Integer.parseInt(environment.getProperty("spring.sms.template.captcha"));
break; break;
} }
...@@ -55,6 +55,19 @@ public class LitemallNotifyService { ...@@ -55,6 +55,19 @@ public class LitemallNotifyService {
smsSendService.sendSMSWithTemplate(phoneNumber, templateId, params); smsSendService.sendSMSWithTemplate(phoneNumber, templateId, params);
} }
/**
* 短信模版通知
* @param phoneNumber 接收通知的电话号码
* @param templateId 模板ID
* @param params 通知模版内容里的参数,类似"您的验证码为{1}"中{1}的值
*/
public void notifySMSTemplate(String phoneNumber, int templateId, String[] params) {
if (!sendSMSEnable)
return;
smsSendService.sendSMSWithTemplate(phoneNumber, templateId, params);
}
/** /**
* 发送邮件通知,接收者在spring.mail.sendto中指定 * 发送邮件通知,接收者在spring.mail.sendto中指定
* @param setSubject 邮件标题 * @param setSubject 邮件标题
......
...@@ -27,7 +27,7 @@ class MailSendService { ...@@ -27,7 +27,7 @@ class MailSendService {
* @param setSubject 邮件标题 * @param setSubject 邮件标题
* @param setText 邮件内容 * @param setText 邮件内容
*/ */
@Async("nofityAsync") @Async("notifyAsync")
public void sendEmail(String setSubject, String setText) { public void sendEmail(String setSubject, String setText) {
try { try {
final MimeMessage mimeMessage = mailSender.createMimeMessage(); final MimeMessage mimeMessage = mailSender.createMimeMessage();
...@@ -40,7 +40,7 @@ class MailSendService { ...@@ -40,7 +40,7 @@ class MailSendService {
mailSender.send(mimeMessage); mailSender.send(mimeMessage);
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace();
} }
} }
} }
...@@ -3,8 +3,12 @@ package org.linlinjava.litemall.core.notify; ...@@ -3,8 +3,12 @@ package org.linlinjava.litemall.core.notify;
public class NotifyUtils { public class NotifyUtils {
/** /**
* 该枚举定义了所有的需要通知的事件,调用通知时作为参数 * 该枚举定义了所有的需要通知的事件,调用通知时作为参数
*
* PAY_SUCCEED 支付成功,通常用于用户支付成功
* CAPTCHA 验证码,通常用于登录、注册、找回密码
*/ */
public enum NotifyType { public enum NotifyType {
PAY_COMPLATED, REGISTER, VERIFICATIONCODE, PAY_SUCCEED,
CAPTCHA
} }
} }
...@@ -23,14 +23,14 @@ class SMSSendService { ...@@ -23,14 +23,14 @@ class SMSSendService {
@Value("${spring.sms.sign}") @Value("${spring.sms.sign}")
private String smsSign; private String smsSign;
@Async("nofityAsync") @Async("notifyAsync")
public void sendSMS(String phoneNumber, String content) { public void sendSMS(String phoneNumber, String content) {
try { try {
SmsSingleSender ssender = new SmsSingleSender(appid, appkey); SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
SmsSingleSenderResult result = ssender.send(0, "86", phoneNumber, SmsSingleSenderResult result = ssender.send(0, "86", phoneNumber,
content, "", ""); content, "", "");
System.out.println(result); // System.out.println(result);
} catch (HTTPException e) { } catch (HTTPException e) {
// HTTP响应码错误 // HTTP响应码错误
e.printStackTrace(); e.printStackTrace();
...@@ -43,13 +43,13 @@ class SMSSendService { ...@@ -43,13 +43,13 @@ class SMSSendService {
} }
} }
@Async("nofityAsync") @Async("notifyAsync")
public void sendSMSWithTemplate(String phoneNumber, int templateId, String[] params) { public void sendSMSWithTemplate(String phoneNumber, int templateId, String[] params) {
try { try {
SmsSingleSender ssender = new SmsSingleSender(appid, appkey); SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber,
templateId, params, smsSign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信 templateId, params, smsSign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
System.out.println(result); // System.out.println(result);
} catch (HTTPException e) { } catch (HTTPException e) {
// HTTP响应码错误 // HTTP响应码错误
e.printStackTrace(); e.printStackTrace();
......
# 邮件发送配置 # 邮件发送配置
sprint.mail.enable=false sprint.mail.enable=false
spring.mail.host=smtp.exmail.qq.com spring.mail.host=smtp.exmail.qq.com
spring.mail.username=ex@ex.com.cn spring.mail.username=xxxxxx
spring.mail.password=xxxxxx spring.mail.password=xxxxxx
spring.mail.sendto=ex@qq.com spring.mail.sendto=example@qq.com
# 短信发送配置 # 短信发送配置
spring.sms.enable=false spring.sms.enable=false
...@@ -12,10 +12,10 @@ spring.sms.appkey=xxxxxx ...@@ -12,10 +12,10 @@ spring.sms.appkey=xxxxxx
spring.sms.sign=xxxxxx spring.sms.sign=xxxxxx
# 短信模板消息配置 # 短信模板消息配置
# 请在腾讯短信平台配置通知消息模板,然后模板ID这里参数 # 请在腾讯短信平台配置通知消息模板,然后这里设置不同短信模板ID
# 请参考LitemallNotifyService.notifySMSTemplate # 请参考LitemallNotifyService.notifySMSTemplate
spring.sms.template.pay.complated=111111 spring.sms.template.paySucceed=111111
spring.sms.template.verificationcode=111111 spring.sms.template.captcha=222222
# 发送线程池配置 # 发送线程池配置
spring.notify.corePoolSize=5 spring.notify.corePoolSize=5
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment