mirror of
https://gitee.com/dromara/sms4j.git
synced 2025-12-06 17:08:40 +08:00
新增核心方法适配
This commit is contained in:
parent
2766343f09
commit
363dc530aa
@ -15,9 +15,9 @@ public interface CoreMethodProcessor extends SmsProcessor {
|
||||
default Object[] preProcessor(Method method, Object source, Object[] param) {
|
||||
String name = method.getName();
|
||||
int parameterCount = method.getParameterCount();
|
||||
if ("sendMessage".equals(method.getName())) {
|
||||
if ("sendMessage".equals(name)) {
|
||||
if (NumberOfParasmeters.TWO == NumberOfParasmeters.getNumberOfParasmetersEnum(parameterCount)) {
|
||||
sendMessagePreProcess((String) param[0],(String) param[1]);
|
||||
sendMessagePreProcess((String) param[0], param[1]);
|
||||
return param;
|
||||
}
|
||||
if (NumberOfParasmeters.THREE == NumberOfParasmeters.getNumberOfParasmetersEnum(parameterCount)) {
|
||||
@ -25,7 +25,7 @@ public interface CoreMethodProcessor extends SmsProcessor {
|
||||
return param;
|
||||
}
|
||||
}
|
||||
if ("massTexting".equals(method.getName())) {
|
||||
if ("massTexting".equals(name)) {
|
||||
if (NumberOfParasmeters.TWO == NumberOfParasmeters.getNumberOfParasmetersEnum(parameterCount)) {
|
||||
massTextingPreProcess((List<String>)param[0],(String)param[1]);
|
||||
return param;
|
||||
@ -37,7 +37,7 @@ public interface CoreMethodProcessor extends SmsProcessor {
|
||||
}
|
||||
return param;
|
||||
}
|
||||
void sendMessagePreProcess(String phone, String message);
|
||||
void sendMessagePreProcess(String phone, Object message);
|
||||
void sendMessageByTemplatePreProcess(String phone, String templateId, LinkedHashMap<String, String> messages);
|
||||
void massTextingPreProcess(List<String> phones, String message);
|
||||
void massTextingByTemplatePreProcess(List<String> phones, String templateId, LinkedHashMap<String, String> messages);
|
||||
|
||||
@ -28,7 +28,7 @@ public class BlackListProcessor implements CoreMethodProcessor, SmsDaoAware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessagePreProcess(String phone, String message) {
|
||||
public void sendMessagePreProcess(String phone, Object message) {
|
||||
doRestricted(Collections.singletonList(phone));
|
||||
}
|
||||
|
||||
|
||||
@ -21,7 +21,7 @@ public class CoreMethodParamValidateProcessor implements CoreMethodProcessor {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessagePreProcess(String phone, String message) {
|
||||
public void sendMessagePreProcess(String phone, Object message) {
|
||||
validatePhone(phone);
|
||||
validateMessage(message);
|
||||
}
|
||||
@ -44,9 +44,18 @@ public class CoreMethodParamValidateProcessor implements CoreMethodProcessor {
|
||||
validateMessages(templateId, messages);
|
||||
}
|
||||
|
||||
public void validateMessage(String message) {
|
||||
if (null == message || "".equals(message)) {
|
||||
throw new SmsBlendException("cant send a null message!");
|
||||
public void validateMessage(Object messageObj) {
|
||||
if (messageObj instanceof String){
|
||||
String message = (String) messageObj;
|
||||
if (null == message || "".equals(message)) {
|
||||
throw new SmsBlendException("cant send a null message!");
|
||||
}
|
||||
}
|
||||
if (messageObj instanceof Map){
|
||||
Map message = (Map) messageObj;
|
||||
if (message.size()<1) {
|
||||
throw new SmsBlendException("cant send a null message!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ public class RestrictedProcessor implements CoreMethodProcessor, SmsDaoAware {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendMessagePreProcess(String phone, String message) {
|
||||
public void sendMessagePreProcess(String phone, Object message) {
|
||||
doRestricted(Collections.singletonList(phone));
|
||||
}
|
||||
|
||||
|
||||
@ -30,6 +30,13 @@ public class SmsProcessorTest {
|
||||
@Test
|
||||
public void testParamValidate() {
|
||||
SmsBlendException knowEx = null;
|
||||
try {
|
||||
SmsFactory.getBySupplier(SupplierConstant.ALIBABA).sendMessage(PHONE, new LinkedHashMap<>());
|
||||
} catch (SmsBlendException e) {
|
||||
knowEx = e;
|
||||
}
|
||||
Assert.notNull(knowEx);
|
||||
knowEx = null;
|
||||
try {
|
||||
SmsFactory.getBySupplier(SupplierConstant.ALIBABA).sendMessage("", SmsUtils.getRandomInt(6));
|
||||
} catch (SmsBlendException e) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user