From 8f6cab15fc562f1a0279f918ed29cf4312f06374 Mon Sep 17 00:00:00 2001
From: zyy <zyy@email.com>
Date: Thu, 18 Sep 2025 16:14:23 +0800
Subject: [PATCH] 1
---
trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java | 28 ++++++++++++++
trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java | 9 ++++
trading-order-common/src/main/java/com/yami/trading/common/manager/sms/BUKASmsUtils.java | 63 +++++++++++++++++++++++++++++++
trading-order-admin/src/main/resources/config/system.properties | 11 +++++
4 files changed, 110 insertions(+), 1 deletions(-)
diff --git a/trading-order-admin/src/main/resources/config/system.properties b/trading-order-admin/src/main/resources/config/system.properties
index d92037d..30da4ea 100644
--- a/trading-order-admin/src/main/resources/config/system.properties
+++ b/trading-order-admin/src/main/resources/config/system.properties
@@ -5,8 +5,17 @@
images_http=https://mdimg.yanshiz.com/
loca.images.dir=/www/wwwroot/9.17/img
+admin_rest_url=https://enjdhdg.site/api
+
+
+
email.host=smtp.gmail.com
email.username=coinzne.com@gmail.com
email.password=pqupwyxoqedhxlfq
email.from= smtp.gmail.com
-admin_rest_url=https://enjdhdg.site/api
+
+
+#email.host=mail.45678.cf
+#email.username=support@StakeCubePro.com
+#email.password=@Asd156324
+#email.from=support@StakeCubePro.com
\ No newline at end of file
diff --git a/trading-order-common/src/main/java/com/yami/trading/common/manager/sms/BUKASmsUtils.java b/trading-order-common/src/main/java/com/yami/trading/common/manager/sms/BUKASmsUtils.java
new file mode 100644
index 0000000..aeddfb0
--- /dev/null
+++ b/trading-order-common/src/main/java/com/yami/trading/common/manager/sms/BUKASmsUtils.java
@@ -0,0 +1,63 @@
+package com.yami.trading.common.manager.sms;
+
+import cn.hutool.core.util.StrUtil;
+import cn.hutool.crypto.SecureUtil;
+import cn.hutool.http.Header;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.json.JSONUtil;
+import org.springframework.stereotype.Component;
+
+import java.time.LocalDateTime;
+import java.time.ZoneId;
+
+@Component
+public class BUKASmsUtils {
+
+ private static final String baseUrl = "https://api.onbuka.com/v3/sendSms";
+ private static final String apiKey = "M1OMJVgD";
+ private static final String apiPwd = "IdYtbSHH";
+ private static final String appId = "PC0S982D";
+ private static final String senderId = "56465123124";
+
+ public void sendSms(String numbers,String message){
+ HttpRequest request = HttpRequest.post(baseUrl);
+ //generate md5 key
+ final String datetime = String.valueOf(LocalDateTime.now().atZone(ZoneId.systemDefault()).toInstant().getEpochSecond());
+ final String sign = SecureUtil.md5(apiKey.concat(apiPwd).concat(datetime));
+
+ request.header(Header.CONNECTION, "Keep-Alive")
+ .header(Header.CONTENT_TYPE, "application/json;charset=UTF-8")
+ .header("Sign", sign)
+ .header("Timestamp", datetime)
+ .header("Api-Key", apiKey);
+
+
+ final String params = JSONUtil.createObj()
+ .set("appId", appId)
+ .set("numbers", numbers)
+ .set("content", message)
+ //.set("senderId", senderId)
+ .toString();
+
+ HttpResponse response = request.body(params).execute();
+ if (response.isOk()) {
+ String result = response.body();
+ System.out.println(result);
+ }
+ }
+
+
+ public static void main(String[] args) {
+ BUKASmsUtils sender = new BUKASmsUtils();
+
+ try {
+ sender.sendSms("12133131611", "Your verification code is 123456.");
+ // 输出响应结果
+ //String responseWithChinese = StringEscapeUtils.unescapeJava(response);
+ //System.out.println("中文发送结果: " + responseWithChinese);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java
index b625b31..8ddc78e 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/IdentifyingCodeServiceImpl.java
@@ -5,6 +5,7 @@
import com.yami.trading.common.http.HttpHelper;
import com.yami.trading.common.manager.BlacklistIpTimeWindow;
import com.yami.trading.common.manager.SendCountTimeWindow;
+import com.yami.trading.common.manager.sms.BUKASmsUtils;
import com.yami.trading.common.manager.sms.GoToneSmsUtils;
import com.yami.trading.service.EmailSendService;
import com.yami.trading.service.IdentifyingCodeService;
@@ -61,6 +62,9 @@
@Autowired
GoToneSmsUtils goToneSmsUtils;
+ @Autowired
+ BUKASmsUtils bukasmsUtils;
+
@Override
public void send(String target, String ip) throws IOException {
String code = null;
@@ -106,6 +110,11 @@
return;
}
+ if ("buka".equals(send_code_type)) {
+ bukasmsUtils.sendSms(target, MessageFormat.format(send_code_text, new Object[] { code }));
+ logger.info(MessageFormat.format("buka--target:{0},code:{1},ip:{2}", target, code, ip));
+ }
+
if ("GoTone".equals(send_code_type)) {
String response = goToneSmsUtils.sendSms(target, MessageFormat.format(send_code_text, new Object[] { code }));
logger.info(MessageFormat.format("GoTone--target:{0},code:{1},ip:{2}", target, code, ip));
diff --git a/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java b/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java
index 2243293..8b340df 100644
--- a/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java
+++ b/trading-order-service/src/main/java/com/yami/trading/service/impl/InternalEmailSenderServiceImpl.java
@@ -63,6 +63,34 @@
freeMarkerConfigurer.setFreemarkerSettings(settings);
}
+ /*@Override
+ public void afterPropertiesSet() throws Exception {
+ mailSender = new JavaMailSenderImpl();
+ mailSender.setUsername(PropertiesUtil.getProperty("email.username"));
+ mailSender.setPassword(PropertiesUtil.getProperty("email.password"));
+ mailSender.setHost(PropertiesUtil.getProperty("email.host"));
+ Properties javaMailProperties = new Properties();
+ javaMailProperties.setProperty("mail.smtp.port", "465");
+
+ javaMailProperties.setProperty("mail.smtp.auth", "true");
+ javaMailProperties.setProperty("mail.smtp.ssl.enable", "true");
+ javaMailProperties.setProperty("mail.smtp.ssl.protocols", "TLSv1.2");
+ javaMailProperties.setProperty("mail.smtp.ssl.enable", "true");
+
+ javaMailProperties.setProperty("mail.debug", "true");
+ mailSender.setJavaMailProperties(javaMailProperties);
+ mailMessage = new SimpleMailMessage();
+ mailMessage.setFrom(PropertiesUtil.getProperty("email.from"));
+ freeMarkerConfigurer = new FreeMarkerConfigurer();
+ freeMarkerConfigurer.setTemplateLoaderPath("classpath:email/ftl");
+ Properties settings = new Properties();
+ settings.setProperty("template_update_delay", "1800");
+ settings.setProperty("default_encoding", "UTF-8");
+ settings.setProperty("locale", "zh_CN");
+ freeMarkerConfigurer.setFreemarkerSettings(settings);
+ freeMarkerConfigurer.afterPropertiesSet();
+ }*/
+
@Override
public void send(EmailMessage emailMessage) {
try {
--
Gitblit v1.9.3