From b997fbe016ace57406e8938ebba3f8c176fbabf9 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 04 八月 2023 10:34:30 +0800
Subject: [PATCH] 新增加国外短信

---
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java |   52 ++++++++++++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java                                  |   63 +++++++++++++++
 UserIGOTravel/guns-admin/pom.xml                                                                                            |   28 +++++++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java  |   50 ++++++++++++
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/KaptchaController.java                  |   16 ++--
 UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java              |   12 +-
 6 files changed, 202 insertions(+), 19 deletions(-)

diff --git a/UserIGOTravel/guns-admin/pom.xml b/UserIGOTravel/guns-admin/pom.xml
index 1c6fa58..5581d4a 100644
--- a/UserIGOTravel/guns-admin/pom.xml
+++ b/UserIGOTravel/guns-admin/pom.xml
@@ -214,6 +214,34 @@
             <artifactId>geodesy</artifactId>
             <version>1.1.3</version>
         </dependency>
+        <dependency>
+            <groupId>com.twilio.sdk</groupId>
+            <artifactId>twilio</artifactId>
+            <version>9.9.0</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <version>4.5.13</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>commons-codec</groupId>
+                    <artifactId>commons-codec</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpcore</artifactId>
+            <version>4.4.13</version>
+        </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+            <version>1.18.20</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
 
 
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
index 680ee35..8e24eca 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -29,6 +29,8 @@
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
+import org.jsoup.nodes.FormElement;
+import org.jsoup.select.Elements;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -564,6 +566,7 @@
                 Document document = Jsoup.parse(new File(path), "UTF-8");
                 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
                 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
+                Driver driver = driverService.selectById(orderLogistics.getDriverId());
                 if(1 == language){
                     document.getElementById("english").remove();
                     document.getElementById("french").remove();
@@ -579,6 +582,11 @@
                     pay_money_chinese.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_chinese = document.getElementById("pay_time_chinese");
                     pay_time_chinese.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_chinese = document.getElementsByClass("driver_chinese");
+                    for (int i = 0; i < driver_chinese.size(); i++) {
+                        Element element = driver_chinese.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_chinese = document.getElementById("start_address_chinese");
                     start_address_chinese.text(orderLogistics.getStartAddress());
                     Element end_address_chinese = document.getElementById("end_address_chinese");
@@ -599,6 +607,11 @@
                     pay_money_english.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_english = document.getElementById("pay_time_english");
                     pay_time_english.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_english = document.getElementsByClass("driver_english");
+                    for (int i = 0; i < driver_english.size(); i++) {
+                        Element element = driver_english.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_english = document.getElementById("start_address_english");
                     start_address_english.text(orderLogistics.getStartAddress());
                     Element end_address_english = document.getElementById("end_address_english");
@@ -619,6 +632,11 @@
                     pay_money_french.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_french = document.getElementById("pay_time_french");
                     pay_time_french.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_french = document.getElementsByClass("driver_french");
+                    for (int i = 0; i < driver_french.size(); i++) {
+                        Element element = driver_french.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_french = document.getElementById("start_address_french");
                     start_address_french.text(orderLogistics.getStartAddress());
                     Element end_address_french = document.getElementById("end_address_french");
@@ -659,6 +677,7 @@
                 Document document = Jsoup.parse(new File(path), "UTF-8");
                 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日");
                 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
+                Driver driver = driverService.selectById(orderLogistics.getDriverId());
                 if(1 == language){
                     document.getElementById("english").remove();
                     document.getElementById("french").remove();
@@ -674,6 +693,11 @@
                     pay_money_chinese.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_chinese = document.getElementById("pay_time_chinese");
                     pay_time_chinese.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_chinese = document.getElementsByClass("driver_chinese");
+                    for (int i = 0; i < driver_chinese.size(); i++) {
+                        Element element = driver_chinese.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_chinese = document.getElementById("start_address_chinese");
                     start_address_chinese.text(orderLogistics.getStartAddress());
                     Element end_address_chinese = document.getElementById("end_address_chinese");
@@ -694,6 +718,11 @@
                     pay_money_english.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_english = document.getElementById("pay_time_english");
                     pay_time_english.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_english = document.getElementsByClass("driver_english");
+                    for (int i = 0; i < driver_english.size(); i++) {
+                        Element element = driver_english.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_english = document.getElementById("start_address_english");
                     start_address_english.text(orderLogistics.getStartAddress());
                     Element end_address_english = document.getElementById("end_address_english");
@@ -714,6 +743,11 @@
                     pay_money_french.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_french = document.getElementById("pay_time_french");
                     pay_time_french.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_french = document.getElementsByClass("driver_french");
+                    for (int i = 0; i < driver_french.size(); i++) {
+                        Element element = driver_french.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_french = document.getElementById("start_address_french");
                     start_address_french.text(orderLogistics.getStartAddress());
                     Element end_address_french = document.getElementById("end_address_french");
@@ -953,6 +987,7 @@
                 Document document = Jsoup.parse(new File(path), "UTF-8");
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
                 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
+                Driver driver = driverService.selectById(orderLogistics.getDriverId());
                 if(1 == language){
                     document.getElementById("english").remove();
                     document.getElementById("french").remove();
@@ -968,6 +1003,11 @@
                     pay_money_chinese.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_chinese = document.getElementById("pay_time_chinese");
                     pay_time_chinese.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_chinese = document.getElementsByClass("driver_chinese");
+                    for (int i = 0; i < driver_chinese.size(); i++) {
+                        Element element = driver_chinese.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_chinese = document.getElementById("start_address_chinese");
                     start_address_chinese.text(orderLogistics.getStartAddress());
                     Element end_address_chinese = document.getElementById("end_address_chinese");
@@ -988,6 +1028,11 @@
                     pay_money_english.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_english = document.getElementById("pay_time_english");
                     pay_time_english.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_english = document.getElementsByClass("driver_english");
+                    for (int i = 0; i < driver_english.size(); i++) {
+                        Element element = driver_english.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_english = document.getElementById("start_address_english");
                     start_address_english.text(orderLogistics.getStartAddress());
                     Element end_address_english = document.getElementById("end_address_english");
@@ -1008,13 +1053,18 @@
                     pay_money_french.text("GHS " + orderLogistics.getPayMoney());
                     Element pay_time_french = document.getElementById("pay_time_french");
                     pay_time_french.text(sdf1.format(orderLogistics.getTravelTime()));
+                    Elements driver_french = document.getElementsByClass("driver_french");
+                    for (int i = 0; i < driver_french.size(); i++) {
+                        Element element = driver_french.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element start_address_french = document.getElementById("start_address_french");
                     start_address_french.text(orderLogistics.getStartAddress());
                     Element end_address_french = document.getElementById("end_address_french");
                     end_address_french.text(orderLogistics.getEndAddress());
                 }
 
-                EmailUtil.send(userInfo.getEmail(), language == 1 ? "市内小件物流收据" : language == 2 ? "Delivery receipt for small parts in the city" : "Réception logistique de petites pièces dans la ville",  document.html());
+                EmailUtil.send(userInfo.getEmail(), language == 1 ? "包裹收据" : language == 2 ? "Parcel receipt" : "Réception de colis",  document.html());
             }
 
 
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index aed3ee2..547000e 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -37,6 +37,8 @@
 import org.jsoup.Jsoup;
 import org.jsoup.nodes.Document;
 import org.jsoup.nodes.Element;
+import org.jsoup.nodes.FormElement;
+import org.jsoup.select.Elements;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.HttpEntity;
@@ -1002,6 +1004,7 @@
                 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                 SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");
                 Car car = carMapper.selectById(orderPrivateCar.getCarId());
+                Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                 Double aDouble = 0D;
                 if(null != orderPrivateCar.getDriverId()){
                     aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
@@ -1022,6 +1025,11 @@
                     pay_money_chinese.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_chinese = document.getElementById("pay_time_chinese");
                     pay_time_chinese.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_chinese = document.getElementsByClass("driver_chinese");
+                    for (int i = 0; i < driver_chinese.size(); i++) {
+                        Element element = driver_chinese.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_chinese = document.getElementById("cp_chinese");
                     cp_chinese.text("车牌:" + car.getCarLicensePlate());
                     Element pf_chinese = document.getElementById("pf_chinese");
@@ -1052,6 +1060,11 @@
                     pay_money_english.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_english = document.getElementById("pay_time_english");
                     pay_time_english.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_english = document.getElementsByClass("driver_english");
+                    for (int i = 0; i < driver_english.size(); i++) {
+                        Element element = driver_english.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_english = document.getElementById("cp_english");
                     cp_english.text("Number Plate:" + car.getCarLicensePlate());
                     Element pf_english = document.getElementById("pf_english");
@@ -1082,6 +1095,11 @@
                     pay_money_french.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_french = document.getElementById("pay_time_french");
                     pay_time_french.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_french = document.getElementsByClass("driver_french");
+                    for (int i = 0; i < driver_french.size(); i++) {
+                        Element element = driver_french.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_french = document.getElementById("cp_french");
                     cp_french.text("Plaque d’immatriculation:" + car.getCarLicensePlate());
                     Element pf_french = document.getElementById("pf_french");
@@ -1179,6 +1197,7 @@
                     aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
                 }
                 Double aDouble1 = Double.valueOf(orderPrivateCar.getMileage() / 1000);
+                Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                 if(1 == language){
                     document.getElementById("english").remove();
                     document.getElementById("french").remove();
@@ -1194,6 +1213,11 @@
                     pay_money_chinese.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_chinese = document.getElementById("pay_time_chinese");
                     pay_time_chinese.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_chinese = document.getElementsByClass("driver_chinese");
+                    for (int i = 0; i < driver_chinese.size(); i++) {
+                        Element element = driver_chinese.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_chinese = document.getElementById("cp_chinese");
                     cp_chinese.text("车牌:" + car.getCarLicensePlate());
                     Element pf_chinese = document.getElementById("pf_chinese");
@@ -1224,6 +1248,11 @@
                     pay_money_english.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_english = document.getElementById("pay_time_english");
                     pay_time_english.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_english = document.getElementsByClass("driver_english");
+                    for (int i = 0; i < driver_english.size(); i++) {
+                        Element element = driver_english.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_english = document.getElementById("cp_english");
                     cp_english.text("Number Plate:" + car.getCarLicensePlate());
                     Element pf_english = document.getElementById("pf_english");
@@ -1254,6 +1283,11 @@
                     pay_money_french.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_french = document.getElementById("pay_time_french");
                     pay_time_french.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_french = document.getElementsByClass("driver_french");
+                    for (int i = 0; i < driver_french.size(); i++) {
+                        Element element = driver_french.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_french = document.getElementById("cp_french");
                     cp_french.text("Plaque d’immatriculation:" + car.getCarLicensePlate());
                     Element pf_french = document.getElementById("pf_french");
@@ -1538,6 +1572,7 @@
                 SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                 SimpleDateFormat sdf2 = new SimpleDateFormat("HH:mm");
                 Car car = carMapper.selectById(orderPrivateCar.getCarId());
+                Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
                 Double aDouble = 0D;
                 if(null != orderPrivateCar.getDriverId()){
                     aDouble = orderEvaluateService.queryDriverScore(orderPrivateCar.getDriverId());
@@ -1558,6 +1593,11 @@
                     pay_money_chinese.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_chinese = document.getElementById("pay_time_chinese");
                     pay_time_chinese.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_chinese = document.getElementsByClass("driver_chinese");
+                    for (int i = 0; i < driver_chinese.size(); i++) {
+                        Element element = driver_chinese.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_chinese = document.getElementById("cp_chinese");
                     cp_chinese.text("车牌:" + car.getCarLicensePlate());
                     Element pf_chinese = document.getElementById("pf_chinese");
@@ -1588,6 +1628,11 @@
                     pay_money_english.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_english = document.getElementById("pay_time_english");
                     pay_time_english.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_english = document.getElementsByClass("driver_english");
+                    for (int i = 0; i < driver_english.size(); i++) {
+                        Element element = driver_english.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_english = document.getElementById("cp_english");
                     cp_english.text("Number Plate:" + car.getCarLicensePlate());
                     Element pf_english = document.getElementById("pf_english");
@@ -1618,6 +1663,11 @@
                     pay_money_french.text("GHS " + orderPrivateCar.getPayMoney());
                     Element pay_time_french = document.getElementById("pay_time_french");
                     pay_time_french.text(sdf1.format(orderPrivateCar.getEndServiceTime()));
+                    Elements driver_french = document.getElementsByClass("driver_french");
+                    for (int i = 0; i < driver_french.size(); i++) {
+                        Element element = driver_french.get(i);
+                        element.text(driver.getFirstName() + "." + driver.getLastName());
+                    }
                     Element cp_french = document.getElementById("cp_french");
                     cp_french.text("Plaque d’immatriculation:" + car.getCarLicensePlate());
                     Element pf_french = document.getElementById("pf_french");
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/KaptchaController.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/KaptchaController.java
index adfe944..6d9c92f 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/KaptchaController.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/KaptchaController.java
@@ -47,13 +47,13 @@
      */
     @RequestMapping("")
     public void index(HttpServletRequest request, HttpServletResponse response,String phone) {
-//        String substring = phone.substring(0, 1);
-//        if("0".equals(substring)){
-//            phone = "233" + phone.substring(1);
-//        }
-//        if(phone.indexOf("233") < 0){
-//            phone = "233" + phone;
-//        }
+        String substring = phone.substring(0, 1);
+        if("0".equals(substring)){
+            phone = "233" + phone.substring(1);
+        }
+        if(phone.indexOf("233") < 0){
+            phone = "233" + phone;
+        }
 
         HttpSession session = request.getSession();
 
@@ -76,7 +76,7 @@
 
         // store the text in the session
         session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);
-//        redisUtil.setStrValue(phone+"_Code",capText);
+        redisUtil.setStrValue(phone+"_Code",capText);
 
         // create the image with the text
         Properties properties = new Properties();
diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
index b4f607e..fe404bd 100644
--- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
+++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -129,24 +129,22 @@
                 sb.append((int) (random.nextDouble() * 10));
             }
             String authCode = sb.toString();
-            String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
+            String sms = "";
 
             //发送验证码短信
             redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
-            String templateId = "";
             switch (language){
                 case 1:
-                    templateId = "b793ae3d41a049059197bfe92cf8bc83";
+                    sms = "您的验证码为:" + authCode + ",该验证码5分钟内有效,请勿泄漏于他人!";
                     break;
                 case 2:
-                    templateId = "058c7d11ce594d668841cceb49fb5c9a";
+                    sms = "Your verification code is: " + authCode + ", the verification code is valid within 5 minutes, do not leak to others!";
                     break;
                 case 3:
-                    templateId = "4edbe604da6546808ffda582085b3c83";
+                    sms = "Votre code de vérification est: " + authCode + ". Ce code est valide pendant 5 minutes. Ne le divulguez pas aux autres!";
                     break;
             }
-            SMSUtil.send_huawei_sms(templateId, "+" + phone, "[\"" + authCode + "\"]");
-            System.out.println(sms);
+            SMSUtil.sendTwilioMessage("+" + phone, sms);
         }
         return ResultUtil.success();
     }
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..a57141c 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,10 @@
 package com.stylefeng.guns.modular.system.util;
 
 
+import com.twilio.Twilio;
+import com.twilio.rest.api.v2010.account.Message;
+import com.twilio.type.PhoneNumber;
+
 import javax.net.ssl.*;
 import java.io.*;
 import java.net.URL;
@@ -228,10 +232,63 @@
     }
 
 
-    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;
+        }
+    }
+
+
+
+
+    public static void main(String[] args) {
+//        try {
+//            SMSUtil.send_huawei_sms("b793ae3d41a049059197bfe92cf8bc83", "+233500666666", "[\"1234\"]");
+//        } catch (Exception e) {
+//            e.printStackTrace();
+//        }
+
+        // Find your Account SID and Auth Token at twilio.com/console
+        // and set the environment variables. See http://twil.io/secure
+        String ACCOUNT_SID = "AC1fd05e898bd59d17ba72db621afca537";
+        String AUTH_TOKEN = "7cee1a6cb0e2936a9037be577b1ffe57";
+        try {
+            Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
+            Message message = Message.creator(
+                    new PhoneNumber("+233500666666"),
+                    new PhoneNumber("+16672740015"),
+                    "This is the ship that made the Kessel Run in fourteen parsecs?"
+            ).create();
+            System.out.println(message.getSid());
+        }catch (Exception e){
             e.printStackTrace();
         }
     }

--
Gitblit v1.7.1