puzhibing
2023-08-04 b997fbe016ace57406e8938ebba3f8c176fbabf9
新增加国外短信
6个文件已修改
219 ■■■■■ 已修改文件
UserIGOTravel/guns-admin/pom.xml 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/KaptchaController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>
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());
            }
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");
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();
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();
    }
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,9 +232,62 @@
    }
    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\"]");
            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();
        }