From 80b6cbfc9c861469146318d0b3dd5f8b8b525b8a Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期五, 01 十一月 2024 15:11:19 +0800 Subject: [PATCH] Revert "集成获取mdm分发通用数据格式接口集成" --- Source/BladeX-Tool/blade-starter-sms/src/main/java/org/springblade/core/sms/SmsTemplate.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 0 deletions(-) diff --git a/Source/BladeX-Tool/blade-starter-sms/src/main/java/org/springblade/core/sms/SmsTemplate.java b/Source/BladeX-Tool/blade-starter-sms/src/main/java/org/springblade/core/sms/SmsTemplate.java new file mode 100644 index 0000000..ae3f87c --- /dev/null +++ b/Source/BladeX-Tool/blade-starter-sms/src/main/java/org/springblade/core/sms/SmsTemplate.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2018-2028, Chill Zhuang All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the dreamlu.net developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: Chill 搴勯獮 (smallchill@163.com) + */ +package org.springblade.core.sms; + +import org.springblade.core.sms.model.SmsCode; +import org.springblade.core.sms.model.SmsData; +import org.springblade.core.sms.model.SmsInfo; +import org.springblade.core.sms.model.SmsResponse; +import org.springblade.core.tool.utils.StringPool; +import org.springframework.util.StringUtils; + +import java.util.Collection; +import java.util.Collections; + +import static org.springblade.core.sms.constant.SmsConstant.CAPTCHA_KEY; + +/** + * 鐭俊閫氱敤灏佽 + * + * @author Chill + */ +public interface SmsTemplate { + + /** + * 缂撳瓨閿�� + * + * @param phone 鎵嬫満鍙� + * @param id 閿�� + * @return 缂撳瓨閿�艰繑鍥� + */ + default String cacheKey(String phone, String id) { + return CAPTCHA_KEY + phone + StringPool.COLON + id; + } + + /** + * 鍙戦�佺煭淇� + * + * @param smsInfo 鐭俊淇℃伅 + * @return 鍙戦�佽繑鍥� + */ + default boolean send(SmsInfo smsInfo) { + return sendMulti(smsInfo.getSmsData(), smsInfo.getPhones()); + } + + /** + * 鍙戦�佺煭淇� + * + * @param smsData 鐭俊鍐呭 + * @param phone 鎵嬫満鍙� + * @return 鍙戦�佽繑鍥� + */ + default boolean sendSingle(SmsData smsData, String phone) { + if (StringUtils.isEmpty(phone)) { + return Boolean.FALSE; + } + return sendMulti(smsData, Collections.singletonList(phone)); + } + + /** + * 鍙戦�佺煭淇� + * + * @param smsData 鐭俊鍐呭 + * @param phones 鎵嬫満鍙峰垪琛� + * @return 鍙戦�佽繑鍥� + */ + default boolean sendMulti(SmsData smsData, Collection<String> phones) { + SmsResponse response = sendMessage(smsData, phones); + return response.isSuccess(); + } + + /** + * 鍙戦�佺煭淇� + * + * @param smsData 鐭俊鍐呭 + * @param phones 鎵嬫満鍙峰垪琛� + * @return 鍙戦�佽繑鍥� + */ + SmsResponse sendMessage(SmsData smsData, Collection<String> phones); + + /** + * 鍙戦�侀獙璇佺爜 + * + * @param smsData 鐭俊鍐呭 + * @param phone 鎵嬫満鍙� + * @return 鍙戦�佽繑鍥� + */ + SmsCode sendValidate(SmsData smsData, String phone); + + /** + * 鏍¢獙楠岃瘉鐮� + * + * @param smsCode 楠岃瘉鐮佸唴瀹� + * @return 鏄惁鏍¢獙鎴愬姛 + */ + boolean validateMessage(SmsCode smsCode); + +} -- Gitblit v1.9.3