diff --git a/module-sms/pom.xml b/module-sms/pom.xml index 72be86ab..3f67d310 100644 --- a/module-sms/pom.xml +++ b/module-sms/pom.xml @@ -32,6 +32,7 @@ com.tencentcloudapi tencentcloud-sdk-java 3.1.501 + provided diff --git a/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/ICustomSmsSend.java b/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/ICustomSmsSend.java new file mode 100644 index 00000000..05f9d26d --- /dev/null +++ b/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/ICustomSmsSend.java @@ -0,0 +1,11 @@ +package ink.wgink.module.sms.factory.sms; + +/** + * @ClassName: ISmsCustomSend + * @Description: 自定义短信发送 + * @Author: wanggeng + * @Date: 2022/6/28 10:38 + * @Version: 1.0 + */ +public interface ICustomSmsSend extends ISmsSend{ +} diff --git a/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/SmsSendFactory.java b/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/SmsSendFactory.java index 8f744797..cc195baf 100644 --- a/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/SmsSendFactory.java +++ b/module-sms/src/main/java/ink/wgink/module/sms/factory/sms/SmsSendFactory.java @@ -5,8 +5,6 @@ import ink.wgink.module.sms.factory.sms.impl.DefaultSmsSendImpl; import ink.wgink.module.sms.factory.sms.impl.TencentSmsSendImpl; import ink.wgink.properties.sms.SmsProperties; import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * When you feel like quitting. Think about why you started @@ -35,12 +33,17 @@ public class SmsSendFactory { * @param smsProperties * @return */ - public static ISmsSend getSendSms(SmsProperties smsProperties) { + public static ISmsSend getSendSms(SmsProperties smsProperties, ICustomSmsSend smsCustomSend) { if (!smsProperties.getActive()) { throw new SystemException("短信配置未激活"); } if (StringUtils.equals(TENCENT_TYPE, smsProperties.getType())) { return new TencentSmsSendImpl(smsProperties.getTencentSms()); + } else if (StringUtils.equals(CUSTOM_TYPE, smsProperties.getType())) { + if (smsCustomSend == null) { + throw new SystemException("自定义发送短信类不存在"); + } + return smsCustomSend; } return new DefaultSmsSendImpl(smsProperties.getDefaultSms()); } diff --git a/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java b/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java index 8ffff170..aaf51077 100644 --- a/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java +++ b/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java @@ -7,6 +7,7 @@ import ink.wgink.exceptions.ParamsException; import ink.wgink.exceptions.base.SystemException; import ink.wgink.interfaces.user.IUserBaseService; import ink.wgink.module.sms.dao.sms.ISmsDao; +import ink.wgink.module.sms.factory.sms.ICustomSmsSend; import ink.wgink.module.sms.factory.sms.SmsSendFactory; import ink.wgink.module.sms.manager.VerifyCodeManager; import ink.wgink.module.sms.pojo.dtos.sms.SmsDTO; @@ -51,6 +52,9 @@ public class SmsServiceImpl extends DefaultBaseService implements ISmsService { private ISmsDao smsDao; @Autowired private IUserBaseService userBaseService; + @Autowired(required = false) + private ICustomSmsSend smsCustomSend; + private ScheduledExecutorService scheduledExecutorService = new ScheduledThreadPoolExecutor(2); @Override @@ -115,7 +119,7 @@ public class SmsServiceImpl extends DefaultBaseService implements ISmsService { smsVO.setContent(content); try { LOG.info(">>>>> 向手机号:{},发送内容:{}", phone, content); - SmsSendFactory.getSendSms(smsProperties).content(phone, content); + SmsSendFactory.getSendSms(smsProperties, smsCustomSend).content(phone, content); smsVO.setSendStatus(1); } catch (Exception e) { String errorMessage = e.getMessage(); @@ -143,7 +147,7 @@ public class SmsServiceImpl extends DefaultBaseService implements ISmsService { smsVO.setPhone(phone); smsVO.setContent(code); try { - SmsSendFactory.getSendSms(smsProperties).code(phone, code); + SmsSendFactory.getSendSms(smsProperties, smsCustomSend).code(phone, code); verifyCodeManager.setVerificationCode(phone, code); smsVO.setSendStatus(1); } catch (Exception e) { diff --git a/module-sms/src/main/resources/mybatis/mapper/sms-mapper.xml b/module-sms/src/main/resources/mybatis/mapper/sms-mapper.xml index d587a949..36a4b5c7 100644 --- a/module-sms/src/main/resources/mybatis/mapper/sms-mapper.xml +++ b/module-sms/src/main/resources/mybatis/mapper/sms-mapper.xml @@ -49,7 +49,7 @@ KEY `phone` (`phone`), KEY `send_status` (`send_status`), KEY `is_delete` (`is_delete`) - ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8; + ) ENGINE=InnoDB DEFAULT CHARSET=utf8;