From f9b9131367d9ba6fe852130b12083c0f5ea68bbb Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 27 五月 2024 17:26:16 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java |   82 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 79 insertions(+), 3 deletions(-)

diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
index 34df1e4..656d303 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
@@ -1,6 +1,18 @@
 package com.stylefeng.guns.modular.system.util;
 
 
+import cn.hutool.http.ContentType;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.twilio.Twilio;
+import com.twilio.rest.api.v2010.account.Message;
+import com.twilio.type.PhoneNumber;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
 import javax.net.ssl.*;
 import java.io.*;
 import java.net.URL;
@@ -12,6 +24,7 @@
 import java.text.SimpleDateFormat;
 import java.util.*;
 
+@Component
 public class SMSUtil {
 
     //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
@@ -228,11 +241,74 @@
     }
 
 
-    public static void main(String[] args) {
+    /**
+     * 发送Twilio短信
+     * @param toPhone
+     * @param msg
+     * @return
+     */
+    public static boolean sendTwilioMessage(String toPhone, String msg){
+        String ACCOUNT_SID = "AC1fd05e898bd59d17ba72db621afca537";
+        String AUTH_TOKEN = "7cee1a6cb0e2936a9037be577b1ffe57";
+        String formPhone = "+16672740015";
         try {
-            SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+233500666666", "[\"1234\"]");
-        } catch (Exception e) {
+            Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
+            Message message = Message.creator(
+                    new PhoneNumber(toPhone),
+                    new PhoneNumber(formPhone),
+                    msg
+            ).create();
+            System.out.println(message.getSid());
+            Message.Status status = message.getStatus();
+            switch (status.toString()){
+                case "canceled":
+                    return false;
+                case "undelivered":
+                    return false;
+                case "failed":
+                    return false;
+            }
+            return true;
+        }catch (Exception e){
             e.printStackTrace();
+            return false;
         }
     }
+
+
+    /**
+     * 短信 : https://www.nalosolutions.com/
+     * @param toPhone
+     * @param msg
+     * @return
+     */
+    public boolean sendCellulantMessage(String toPhone, String msg){
+        String url = "https://sms.nalosolutions.com/smsbackend/clientapi/Cell_resl/send-message/";
+        HttpRequest post = HttpUtil.createPost(url);
+        post.contentType(ContentType.JSON.toString());
+        JSONObject params = new JSONObject();
+        params.put("key", "ru#0flkf3993qh!!rg!@y4)nhwi08c#tg_vasek!ja)kvfnfjyoljoz(@nai(jkf");
+        params.put("msisdn", toPhone);
+        params.put("message", msg);
+        params.put("sender_id", "I-GO");
+        System.err.println(params.toJSONString());
+        post.body(params.toJSONString());
+        HttpResponse execute = post.execute();
+        String body = execute.body();
+        execute.close();
+        JSONObject jsonObject = JSON.parseObject(body);
+        System.err.println(body);
+        Integer status = jsonObject.getInteger("status");
+        if(null != status && 1701 == status){
+            return true;
+        }else{
+            System.err.println("短信发送失败:" + jsonObject.toJSONString());
+            return false;
+        }
+    }
+    
+    public static void main(String[] ages){
+        SMSUtil smsUtil = new SMSUtil();
+        smsUtil.sendCellulantMessage("233244915521", "Votre code de validation est 123456 et il est valide pendant 5 minutes. Veuillez ne pas le révéler à d’autres personnes.");
+    }
 }

--
Gitblit v1.7.1