1. 修改smsDao的注入方式

2. 去掉SmsSqlConfig的相关配置
This commit is contained in:
heng 2023-08-29 22:32:22 +08:00
parent 4a0b9df8ce
commit fc2003f8fe
14 changed files with 201 additions and 151 deletions

View File

@ -0,0 +1,18 @@
package org.dromara.sms4j.api.proxy;
import org.dromara.sms4j.comm.exception.SmsBlendException;
/**
* 短信拦截处理接口
*/
public interface RestrictedProcess {
/**
* 拦截校验过程
* @param phone
* @return
* @throws Exception
*/
SmsBlendException process(String phone) throws Exception;
}

View File

@ -6,7 +6,7 @@ import org.dromara.sms4j.api.universal.SupplierConfig;
import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.comm.exception.SmsBlendException;
import org.dromara.sms4j.core.datainterface.SmsReadConfig; import org.dromara.sms4j.core.datainterface.SmsReadConfig;
import org.dromara.sms4j.core.load.SmsLoad; import org.dromara.sms4j.core.load.SmsLoad;
import org.dromara.sms4j.core.smsProxy.SmsInvocationHandler; import org.dromara.sms4j.core.proxy.SmsInvocationHandler;
import org.dromara.sms4j.provider.config.BaseConfig; import org.dromara.sms4j.provider.config.BaseConfig;
import org.dromara.sms4j.provider.factory.BaseProviderFactory; import org.dromara.sms4j.provider.factory.BaseProviderFactory;
import org.dromara.sms4j.provider.factory.BeanFactory; import org.dromara.sms4j.provider.factory.BeanFactory;
@ -149,7 +149,7 @@ public abstract class SmsFactory {
* @author :Wind * @author :Wind
*/ */
private static SmsBlend renderWithRestricted(SmsBlend sms) { private static SmsBlend renderWithRestricted(SmsBlend sms) {
SmsInvocationHandler smsInvocationHandler = SmsInvocationHandler.newSmsInvocationHandler(sms, BeanFactory.getSmsConfig()); SmsInvocationHandler smsInvocationHandler = SmsInvocationHandler.newSmsInvocationHandler(sms);
return (SmsBlend) Proxy.newProxyInstance(sms.getClass().getClassLoader(), new Class[]{SmsBlend.class}, smsInvocationHandler); return (SmsBlend) Proxy.newProxyInstance(sms.getClass().getClassLoader(), new Class[]{SmsBlend.class}, smsInvocationHandler);
} }

View File

@ -0,0 +1,58 @@
package org.dromara.sms4j.core.proxy;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.api.proxy.RestrictedProcess;
import org.dromara.sms4j.comm.exception.SmsBlendException;
import org.dromara.sms4j.comm.utils.SmsUtil;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.provider.factory.BeanFactory;
import java.util.Objects;
@Slf4j
public class RestrictedProcessDefaultImpl implements RestrictedProcess {
static Long minTimer = 60 * 1000L;
static Long accTimer = 24 * 60 * 60 * 1000L;
/**
* 缓存实例
*/
@Setter
private SmsDao smsDao;
public SmsBlendException process(String phone) throws Exception {
if (Objects.isNull(smsDao)) {
throw new SmsBlendException("The dao tool could not be found");
}
SmsConfig config = BeanFactory.getSmsConfig();
Integer accountMax = config.getAccountMax(); // 每日最大发送量
Integer minuteMax = config.getMinuteMax(); // 每分钟最大发送量
if (SmsUtil.isNotEmpty(accountMax)) { // 是否配置了每日限制
Integer i = (Integer) smsDao.get(phone + "max");
if (SmsUtil.isEmpty(i)) {
smsDao.set(phone + "max", 1, accTimer);
} else if (i >= accountMax) {
log.info("The phone:" + phone + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:" + phone + ",number of short messages reached the maximum today");
} else {
smsDao.set(phone + "max", i + 1, accTimer);
}
}
if (SmsUtil.isNotEmpty(minuteMax)) { // 是否配置了每分钟最大限制
Integer o = (Integer) smsDao.get(phone);
if (SmsUtil.isNotEmpty(o)) {
if (o < minuteMax) {
smsDao.set(phone, o + 1, minTimer);
} else {
log.info("The phone:" + phone + " Text messages are sent too often");
return new SmsBlendException("The phone:", phone + " Text messages are sent too often");
}
} else {
smsDao.set(phone, 1, minTimer);
}
}
return null;
}
}

View File

@ -1,8 +1,8 @@
package org.dromara.sms4j.core.smsProxy; package org.dromara.sms4j.core.proxy;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.SmsBlend; import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.provider.config.SmsConfig; import org.dromara.sms4j.api.proxy.RestrictedProcess;
import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.comm.exception.SmsBlendException;
import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationHandler;
@ -12,16 +12,14 @@ import java.util.Objects;
@Slf4j @Slf4j
public class SmsInvocationHandler implements InvocationHandler { public class SmsInvocationHandler implements InvocationHandler {
private final SmsBlend smsBlend; private final SmsBlend smsBlend;
private final SmsConfig config; private static RestrictedProcess restrictedProcess = new RestrictedProcessDefaultImpl();
private static RestrictedProcess restrictedProcess = new RestrictedProcess();
private SmsInvocationHandler(SmsBlend smsBlend, SmsConfig config) { private SmsInvocationHandler(SmsBlend smsBlend) {
this.smsBlend = smsBlend; this.smsBlend = smsBlend;
this.config = config;
} }
public static SmsInvocationHandler newSmsInvocationHandler(SmsBlend smsBlend, SmsConfig config){ public static SmsInvocationHandler newSmsInvocationHandler(SmsBlend smsBlend) {
return new SmsInvocationHandler(smsBlend,config); return new SmsInvocationHandler(smsBlend);
} }
@Override @Override
@ -30,7 +28,7 @@ public class SmsInvocationHandler implements InvocationHandler {
if ("sendMessage".equals(method.getName()) || "massTexting".equals(method.getName())) { if ("sendMessage".equals(method.getName()) || "massTexting".equals(method.getName())) {
//取手机号作为参数 //取手机号作为参数
String phone = (String) objects[0]; String phone = (String) objects[0];
SmsBlendException smsBlendException = restrictedProcess.process(config,phone); SmsBlendException smsBlendException = restrictedProcess.process(phone);
if (!Objects.isNull(smsBlendException)) { if (!Objects.isNull(smsBlendException)) {
throw smsBlendException; throw smsBlendException;
} }

View File

@ -1,49 +0,0 @@
package org.dromara.sms4j.core.smsProxy;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.comm.exception.SmsBlendException;
import org.dromara.sms4j.comm.utils.SmsUtil;
@Slf4j
public class RestrictedProcess {
static Long minTimer = 60 * 1000L;
static Long accTimer = 24 * 60 * 60 * 1000L;
/**
* 缓存实例
*/
@Setter
private SmsDao smsDao;
public SmsBlendException process(SmsConfig config, String args) throws Exception {
Integer accountMax = config.getAccountMax();//每日最大发送量
Integer minuteMax = config.getMinuteMax();//每分钟最大发送量
if (SmsUtil.isNotEmpty(accountMax)) { //是否配置了每日限制
Integer i = (Integer) smsDao.get(args + "max");
if (SmsUtil.isEmpty(i)) {
smsDao.set(args + "max", 1, accTimer);
} else if (i > accountMax) {
log.info("The phone:" + args + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:" + args + ",number of short messages reached the maximum today");
} else {
smsDao.set(args + "max", i + 1, accTimer);
}
}
if (SmsUtil.isNotEmpty(minuteMax)) { //是否配置了每分钟最大限制
Integer o = (Integer) smsDao.get(args);
if (SmsUtil.isNotEmpty(o)) {
if (o < minuteMax) {
smsDao.set(args, o + 1, minTimer);
} else {
log.info("The phone:" + args + " Text messages are sent too often");
return new SmsBlendException("The phone:", args + " Text messages are sent too often");
}
} else {
smsDao.set(args, 1, minTimer);
}
}
return null;
}
}

View File

@ -11,9 +11,12 @@ import lombok.ToString;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.aliyun.config.AlibabaFactory; import org.dromara.sms4j.aliyun.config.AlibabaFactory;
import org.dromara.sms4j.api.SmsBlend; import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.api.universal.SupplierConfig; import org.dromara.sms4j.api.universal.SupplierConfig;
import org.dromara.sms4j.cloopen.config.CloopenFactory; import org.dromara.sms4j.cloopen.config.CloopenFactory;
import org.dromara.sms4j.core.factory.SmsFactory; import org.dromara.sms4j.core.factory.SmsFactory;
import org.dromara.sms4j.core.proxy.RestrictedProcessDefaultImpl;
import org.dromara.sms4j.core.proxy.SmsInvocationHandler;
import org.dromara.sms4j.ctyun.config.CtyunFactory; import org.dromara.sms4j.ctyun.config.CtyunFactory;
import org.dromara.sms4j.emay.config.EmayFactory; import org.dromara.sms4j.emay.config.EmayFactory;
import org.dromara.sms4j.huawei.config.HuaweiFactory; import org.dromara.sms4j.huawei.config.HuaweiFactory;
@ -62,9 +65,10 @@ public class SEInitializer {
* *
* @return * @return
*/ */
public void fromYaml() { public SEInitializer fromYaml() {
ClassPathResource yamlResouce = new ClassPathResource("sms4j.yml"); ClassPathResource yamlResouce = new ClassPathResource("sms4j.yml");
this.fromYaml(yamlResouce.readUtf8Str()); this.fromYaml(yamlResouce.readUtf8Str());
return this;
} }
/** /**
@ -72,9 +76,10 @@ public class SEInitializer {
* *
* @param yaml yaml配置字符串 * @param yaml yaml配置字符串
*/ */
public void fromYaml(String yaml) { public SEInitializer fromYaml(String yaml) {
InitConfig config = YamlUtil.toBean(yaml, InitConfig.class); InitConfig config = YamlUtil.toBean(yaml, InitConfig.class);
this.initConfig(config); this.initConfig(config);
return this;
} }
/** /**
@ -82,17 +87,33 @@ public class SEInitializer {
* *
* @param json json配置字符串 * @param json json配置字符串
*/ */
public void fromJson(String json) { public SEInitializer fromJson(String json) {
InitConfig config = JSONUtil.toBean(json, InitConfig.class); InitConfig config = JSONUtil.toBean(json, InitConfig.class);
this.initConfig(config); this.initConfig(config);
return this;
} }
/** /**
* 注册供应商工厂 * 注册供应商工厂
* @param factory * @param factory
*/ */
public void registerFactory(BaseProviderFactory<? extends SmsBlend, ? extends SupplierConfig> factory) { public SEInitializer registerFactory(BaseProviderFactory<? extends SmsBlend, ? extends SupplierConfig> factory) {
ProviderFactoryHolder.registerFactory(factory); ProviderFactoryHolder.registerFactory(factory);
return this;
}
/**
* 注册DAO实例
* @param smsDao
*/
public SEInitializer registerSmsDao(SmsDao smsDao) {
if(smsDao == null) {
throw new SmsBlendException("注册DAO实例失败实例不能为空");
}
RestrictedProcessDefaultImpl process = new RestrictedProcessDefaultImpl();
process.setSmsDao(smsDao);
SmsInvocationHandler.setRestrictedProcess(process);
return this;
} }
private void initConfig(InitConfig config) { private void initConfig(InitConfig config) {

View File

@ -64,10 +64,4 @@ public class BeanFactory {
return smsConfig; return smsConfig;
} }
// public static JDBCTool getJDBCTool(){
// if (jdbcTool == null){
// jdbcTool = new JDBCTool(getSmsSqlConfig());
// }
// return jdbcTool;
// }
} }

View File

@ -2,52 +2,54 @@ package org.dromara.sms4j.solon.aop;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.dao.SmsDao; import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.core.smsProxy.RestrictedProcess; import org.dromara.sms4j.api.proxy.RestrictedProcess;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.comm.exception.SmsBlendException; import org.dromara.sms4j.comm.exception.SmsBlendException;
import org.dromara.sms4j.comm.utils.SmsUtil; import org.dromara.sms4j.comm.utils.SmsUtil;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.provider.factory.BeanFactory;
import org.noear.solon.core.AopContext; import org.noear.solon.core.AopContext;
@Slf4j @Slf4j
public class SolonRestrictedProcess extends RestrictedProcess { public class SolonRestrictedProcess implements RestrictedProcess {
private SmsDao smsDao;
private static final Long minTimer = 60 * 1000L; private static final Long minTimer = 60 * 1000L;
private static final Long accTimer = 24 * 60 * 60 * 1000L; private static final Long accTimer = 24 * 60 * 60 * 1000L;
private static final String REDIS_KEY = "sms:restricted:"; private static final String REDIS_KEY = "sms:restricted:";
private SmsDao smsDao;
public SolonRestrictedProcess(AopContext context){ public SolonRestrictedProcess(AopContext context) {
context.getBeanAsync(SmsDao.class, bean->{ context.getBeanAsync(SmsDao.class, bean -> {
smsDao = bean; smsDao = bean;
}); });
} }
@Override @Override
public SmsBlendException process(SmsConfig config, String args) { public SmsBlendException process(String phone) {
Integer accountMax = config.getAccountMax();//每日最大发送量 SmsConfig config = BeanFactory.getSmsConfig();
Integer minuteMax = config.getMinuteMax();//每分钟最大发送量 Integer accountMax = config.getAccountMax(); // 每日最大发送量
if (SmsUtil.isNotEmpty(accountMax)) { //是否配置了每日限制 Integer minuteMax = config.getMinuteMax(); // 每分钟最大发送量
Integer i = (Integer) smsDao.get(REDIS_KEY+args + "max"); if (SmsUtil.isNotEmpty(accountMax)) { // 是否配置了每日限制
Integer i = (Integer) smsDao.get(REDIS_KEY + phone + "max");
if (SmsUtil.isEmpty(i)) { if (SmsUtil.isEmpty(i)) {
smsDao.set(REDIS_KEY+args + "max", 1,accTimer/1000); smsDao.set(REDIS_KEY + phone + "max", 1, accTimer / 1000);
} else if (i > accountMax) { } else if (i >= accountMax) {
log.info("The phone:"+args +",number of short messages reached the maximum today"); log.info("The phone:" + phone + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:"+args +",number of short messages reached the maximum today"); return new SmsBlendException("The phone:" + phone + ",number of short messages reached the maximum today");
} else { } else {
smsDao.set(REDIS_KEY+args + "max", i + 1,accTimer/1000); smsDao.set(REDIS_KEY + phone + "max", i + 1, accTimer / 1000);
} }
} }
if (SmsUtil.isNotEmpty(minuteMax)) { //是否配置了每分钟最大限制 if (SmsUtil.isNotEmpty(minuteMax)) { // 是否配置了每分钟最大限制
Integer o = (Integer) smsDao.get(REDIS_KEY+args); Integer o = (Integer) smsDao.get(REDIS_KEY + phone);
if (SmsUtil.isNotEmpty(o)) { if (SmsUtil.isNotEmpty(o)) {
if (o < minuteMax) { if (o < minuteMax) {
smsDao.set(REDIS_KEY+args, o + 1,minTimer/1000); smsDao.set(REDIS_KEY + phone, o + 1, minTimer / 1000);
} else { } else {
log.info("The phone:"+args +",number of short messages reached the maximum today"); log.info("The phone:" + phone + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:", args + " Text messages are sent too often"); return new SmsBlendException("The phone:", phone + " Text messages are sent too often");
} }
} else { } else {
smsDao.set(REDIS_KEY+args, 1,minTimer/1000); smsDao.set(REDIS_KEY + phone, 1, minTimer / 1000);
} }
} }
return null; return null;

View File

@ -1,7 +1,7 @@
package org.dromara.sms4j.solon.config; package org.dromara.sms4j.solon.config;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.core.smsProxy.SmsInvocationHandler; import org.dromara.sms4j.core.proxy.SmsInvocationHandler;
import org.dromara.sms4j.provider.config.SmsBanner; import org.dromara.sms4j.provider.config.SmsBanner;
import org.dromara.sms4j.provider.config.SmsConfig; import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.comm.constant.Constant; import org.dromara.sms4j.comm.constant.Constant;

View File

@ -1,54 +0,0 @@
package org.dromara.sms4j.starter.aop;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.core.smsProxy.RestrictedProcess;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.comm.exception.SmsBlendException;
import org.dromara.sms4j.comm.utils.SmsUtil;
import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.starter.utils.SmsSpringUtil;
import java.util.Objects;
@Slf4j
public class RestrictedProcessImpl extends RestrictedProcess {
private static final Long minTimer = 60 * 1000L;
private static final Long accTimer = 24 * 60 * 60 * 1000L;
private static final String REDIS_KEY = "sms:restricted:";
@Override
public SmsBlendException process(SmsConfig config,String args) throws Exception {
SmsDao smsDao = SmsSpringUtil.getBean(SmsDao.class);
if (Objects.isNull(smsDao)){
throw new SmsBlendException("The dao tool could not be found");
}
Integer accountMax = config.getAccountMax();//每日最大发送量
Integer minuteMax = config.getMinuteMax();//每分钟最大发送量
if (SmsUtil.isNotEmpty(accountMax)) { //是否配置了每日限制
Integer i = (Integer) smsDao.get(REDIS_KEY + args + "max");
if (SmsUtil.isEmpty(i)) {
smsDao.set(REDIS_KEY + args + "max", 1, accTimer / 1000);
} else if (i > accountMax) {
log.info("The phone:" + args + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:" + args + ",number of short messages reached the maximum today");
} else {
smsDao.set(REDIS_KEY + args + "max", i + 1, accTimer / 1000);
}
}
if (SmsUtil.isNotEmpty(minuteMax)) { //是否配置了每分钟最大限制
Integer o = (Integer) smsDao.get(REDIS_KEY + args);
if (SmsUtil.isNotEmpty(o)) {
if (o < minuteMax) {
smsDao.set(REDIS_KEY + args, o + 1, minTimer / 1000);
} else {
log.info("The phone:" + args + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:", args + " Text messages are sent too often");
}
} else {
smsDao.set(REDIS_KEY + args, 1, minTimer / 1000);
}
}
return null;
}
}

View File

@ -0,0 +1,56 @@
package org.dromara.sms4j.starter.aop;
import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.api.proxy.RestrictedProcess;
import org.dromara.sms4j.comm.exception.SmsBlendException;
import org.dromara.sms4j.comm.utils.SmsUtil;
import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.provider.factory.BeanFactory;
import org.dromara.sms4j.starter.utils.SmsSpringUtil;
import java.util.Objects;
@Slf4j
public class SpringRestrictedProcess implements RestrictedProcess {
private static final Long minTimer = 60 * 1000L;
private static final Long accTimer = 24 * 60 * 60 * 1000L;
private static final String REDIS_KEY = "sms:restricted:";
@Override
public SmsBlendException process(String phone) throws Exception {
SmsConfig config = BeanFactory.getSmsConfig();
SmsDao smsDao = SmsSpringUtil.getBean(SmsDao.class);
if (Objects.isNull(smsDao)) {
throw new SmsBlendException("The dao tool could not be found");
}
Integer accountMax = config.getAccountMax(); // 每日最大发送量
Integer minuteMax = config.getMinuteMax(); // 每分钟最大发送量
if (SmsUtil.isNotEmpty(accountMax)) { // 是否配置了每日限制
Integer i = (Integer) smsDao.get(REDIS_KEY + phone + "max");
if (SmsUtil.isEmpty(i)) {
smsDao.set(REDIS_KEY + phone + "max", 1, accTimer / 1000);
} else if (i >= accountMax) {
log.info("The phone:" + phone + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:" + phone + ",number of short messages reached the maximum today");
} else {
smsDao.set(REDIS_KEY + phone + "max", i + 1, accTimer / 1000);
}
}
if (SmsUtil.isNotEmpty(minuteMax)) { // 是否配置了每分钟最大限制
Integer o = (Integer) smsDao.get(REDIS_KEY + phone);
if (SmsUtil.isNotEmpty(o)) {
if (o < minuteMax) {
smsDao.set(REDIS_KEY + phone, o + 1, minTimer / 1000);
} else {
log.info("The phone:" + phone + ",number of short messages reached the maximum today");
return new SmsBlendException("The phone:", phone + " Text messages are sent too often");
}
} else {
smsDao.set(REDIS_KEY + phone, 1, minTimer / 1000);
}
}
return null;
}
}

View File

@ -6,13 +6,18 @@ import cn.hutool.json.JSONUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.api.SmsBlend; import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.dao.SmsDao;
import org.dromara.sms4j.api.dao.SmsDaoDefaultImpl;
import org.dromara.sms4j.api.proxy.RestrictedProcess;
import org.dromara.sms4j.api.universal.SupplierConfig; import org.dromara.sms4j.api.universal.SupplierConfig;
import org.dromara.sms4j.comm.constant.Constant; import org.dromara.sms4j.comm.constant.Constant;
import org.dromara.sms4j.comm.utils.SmsUtil; import org.dromara.sms4j.comm.utils.SmsUtil;
import org.dromara.sms4j.core.factory.SmsFactory; import org.dromara.sms4j.core.factory.SmsFactory;
import org.dromara.sms4j.core.proxy.SmsInvocationHandler;
import org.dromara.sms4j.provider.config.SmsConfig; import org.dromara.sms4j.provider.config.SmsConfig;
import org.dromara.sms4j.provider.factory.BaseProviderFactory; import org.dromara.sms4j.provider.factory.BaseProviderFactory;
import org.dromara.sms4j.provider.factory.ProviderFactoryHolder; import org.dromara.sms4j.provider.factory.ProviderFactoryHolder;
import org.dromara.sms4j.starter.aop.SpringRestrictedProcess;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct; import javax.annotation.PostConstruct;
@ -54,6 +59,9 @@ public class SmsBlendsInitializer {
SmsFactory.createSmsBlend(supplierConfig); SmsFactory.createSmsBlend(supplierConfig);
} }
} }
//注册短信拦截实现
SmsInvocationHandler.setRestrictedProcess(new SpringRestrictedProcess());
} }
} }

View File

@ -2,5 +2,4 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
org.dromara.sms4j.starter.config.SmsMainConfig,\ org.dromara.sms4j.starter.config.SmsMainConfig,\
org.dromara.sms4j.starter.config.SmsAutowiredConfig,\ org.dromara.sms4j.starter.config.SmsAutowiredConfig,\
org.dromara.sms4j.starter.config.SupplierConfig,\ org.dromara.sms4j.starter.config.SupplierConfig,\
org.dromara.sms4j.provider.config.SmsConfig,\ org.dromara.sms4j.provider.config.SmsConfig
org.dromara.sms4j.provider.config.SmsSqlConfig

View File

@ -2,4 +2,3 @@ org.dromara.sms4j.starter.config.SmsMainConfig
org.dromara.sms4j.starter.config.SmsAutowiredConfig org.dromara.sms4j.starter.config.SmsAutowiredConfig
org.dromara.sms4j.starter.config.SupplierConfig org.dromara.sms4j.starter.config.SupplierConfig
org.dromara.sms4j.provider.config.SmsConfig org.dromara.sms4j.provider.config.SmsConfig
org.dromara.sms4j.provider.config.SmsSqlConfig