diff --git a/austin-handler/src/main/java/com/java3y/austin/handler/handler/impl/SmsHandler.java b/austin-handler/src/main/java/com/java3y/austin/handler/handler/impl/SmsHandler.java index d8cd98f..e3aebdc 100644 --- a/austin-handler/src/main/java/com/java3y/austin/handler/handler/impl/SmsHandler.java +++ b/austin-handler/src/main/java/com/java3y/austin/handler/handler/impl/SmsHandler.java @@ -4,8 +4,6 @@ import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; -import com.ctrip.framework.apollo.Config; -import com.ctrip.framework.apollo.spring.annotation.ApolloConfig; import com.google.common.base.Throwables; import com.java3y.austin.common.constant.AustinConstant; import com.java3y.austin.common.domain.TaskInfo; @@ -15,7 +13,7 @@ import com.java3y.austin.handler.domain.sms.MessageTypeSmsConfig; import com.java3y.austin.handler.domain.sms.SmsParam; import com.java3y.austin.handler.handler.BaseHandler; import com.java3y.austin.handler.handler.Handler; -import com.java3y.austin.handler.script.SmsScriptHolder; +import com.java3y.austin.handler.script.SmsScript; import com.java3y.austin.support.dao.SmsRecordDao; import com.java3y.austin.support.domain.MessageTemplate; import com.java3y.austin.support.domain.SmsRecord; @@ -25,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; import java.util.Random; /** @@ -43,12 +42,11 @@ public class SmsHandler extends BaseHandler implements Handler { @Autowired private SmsRecordDao smsRecordDao; - @Autowired - private SmsScriptHolder smsScriptHolder; - @Autowired private ConfigService config; + @Autowired + private Map smsScripts; @Override public boolean handler(TaskInfo taskInfo) { @@ -64,7 +62,7 @@ public class SmsHandler extends BaseHandler implements Handler { */ MessageTypeSmsConfig[] messageTypeSmsConfigs = loadBalance(getMessageTypeSmsConfig(taskInfo.getMsgType())); for (MessageTypeSmsConfig messageTypeSmsConfig : messageTypeSmsConfigs) { - List recordList = smsScriptHolder.route(messageTypeSmsConfig.getScriptName()).send(smsParam); + List recordList = smsScripts.get(messageTypeSmsConfig.getScriptName()).send(smsParam); if (CollUtil.isNotEmpty(recordList)) { smsRecordDao.saveAll(recordList); return true; diff --git a/austin-handler/src/main/java/com/java3y/austin/handler/script/BaseSmsScript.java b/austin-handler/src/main/java/com/java3y/austin/handler/script/BaseSmsScript.java deleted file mode 100644 index 931cb5c..0000000 --- a/austin-handler/src/main/java/com/java3y/austin/handler/script/BaseSmsScript.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.java3y.austin.handler.script; - - -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.ArrayUtils; -import org.springframework.beans.factory.annotation.Autowired; - -import javax.annotation.PostConstruct; -import java.lang.annotation.Annotation; - -/** - * sms发送脚本的抽象类 - * - * @author 3y - */ -@Slf4j -public abstract class BaseSmsScript implements SmsScript { - - @Autowired - private SmsScriptHolder smsScriptHolder; - - @PostConstruct - public void registerProcessScript() { - if (ArrayUtils.isEmpty(this.getClass().getAnnotations())) { - log.error("BaseSmsScript can not find annotation!"); - return; - } - Annotation handlerAnnotations = null; - for (Annotation annotation : this.getClass().getAnnotations()) { - if (annotation instanceof SmsScriptHandler) { - handlerAnnotations = annotation; - break; - } - } - if (handlerAnnotations == null) { - log.error("handler annotations not declared"); - return; - } - //注册handler - smsScriptHolder.putHandler(((SmsScriptHandler) handlerAnnotations).value(), this); - } -} diff --git a/austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScriptHandler.java b/austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScriptHandler.java deleted file mode 100644 index 7b285e8..0000000 --- a/austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScriptHandler.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.java3y.austin.handler.script; - -import org.springframework.stereotype.Component; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - - -/** - * 标识 短信渠道 - * - * @author 3y - */ -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.TYPE}) -@Component -public @interface SmsScriptHandler { - - /** - * 这里输入脚本名 - * - * @return - */ - String value(); -} diff --git a/austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScriptHolder.java b/austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScriptHolder.java deleted file mode 100644 index b02244e..0000000 --- a/austin-handler/src/main/java/com/java3y/austin/handler/script/SmsScriptHolder.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.java3y.austin.handler.script; - - -import org.springframework.stereotype.Component; - -import java.util.HashMap; -import java.util.Map; - -/** - * sendAccount->SmsScript的映射关系 - * - * @author 3y - */ -@Component -public class SmsScriptHolder { - - private Map handlers = new HashMap<>(8); - - public void putHandler(String scriptName, SmsScript handler) { - handlers.put(scriptName, handler); - } - public SmsScript route(String scriptName) { - return handlers.get(scriptName); - } -} diff --git a/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/TencentSmsScript.java b/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/TencentSmsScript.java index 3412560..2fcf80f 100644 --- a/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/TencentSmsScript.java +++ b/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/TencentSmsScript.java @@ -10,9 +10,7 @@ import com.java3y.austin.common.constant.SendAccountConstant; import com.java3y.austin.common.dto.account.TencentSmsAccount; import com.java3y.austin.common.enums.SmsStatus; import com.java3y.austin.handler.domain.sms.SmsParam; -import com.java3y.austin.handler.script.BaseSmsScript; import com.java3y.austin.handler.script.SmsScript; -import com.java3y.austin.handler.script.SmsScriptHandler; import com.java3y.austin.support.domain.SmsRecord; import com.java3y.austin.support.utils.AccountUtils; import com.tencentcloudapi.common.Credential; @@ -24,6 +22,7 @@ import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse; import com.tencentcloudapi.sms.v20210111.models.SendStatus; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.Date; @@ -38,8 +37,8 @@ import java.util.List; */ @Slf4j -@SmsScriptHandler("TencentSmsScript") -public class TencentSmsScript extends BaseSmsScript implements SmsScript { +@Component("TencentSmsScript") +public class TencentSmsScript implements SmsScript { private static final Integer PHONE_NUM = 11; diff --git a/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/YunPianSmsScript.java b/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/YunPianSmsScript.java index c4ac233..fcbe564 100644 --- a/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/YunPianSmsScript.java +++ b/austin-handler/src/main/java/com/java3y/austin/handler/script/impl/YunPianSmsScript.java @@ -13,14 +13,13 @@ import com.java3y.austin.common.dto.account.YunPianSmsAccount; import com.java3y.austin.common.enums.SmsStatus; import com.java3y.austin.handler.domain.sms.SmsParam; import com.java3y.austin.handler.domain.sms.YunPianSendResult; -import com.java3y.austin.handler.script.BaseSmsScript; import com.java3y.austin.handler.script.SmsScript; -import com.java3y.austin.handler.script.SmsScriptHandler; import com.java3y.austin.support.domain.SmsRecord; import com.java3y.austin.support.utils.AccountUtils; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.util.*; @@ -30,8 +29,8 @@ import java.util.*; * 发送短信接入文档:https://www.yunpian.com/official/document/sms/zh_CN/domestic_list */ @Slf4j -@SmsScriptHandler("YunPianSmsScript") -public class YunPianSmsScript extends BaseSmsScript implements SmsScript { +@Component("YunPianSmsScript") +public class YunPianSmsScript implements SmsScript { @Autowired private AccountUtils accountUtils;