liujie
2023-09-04 cf763f7ae2f86409c5f13b4fe36a25a8ec31cbf8
UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/SMSUtil.java
@@ -1,6 +1,14 @@
package com.stylefeng.guns.modular.system.util;
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 +20,7 @@
import java.text.SimpleDateFormat;
import java.util.*;
@Component
public class SMSUtil {
    //无需修改,用于格式化鉴权头域,给"X-WSSE"参数赋值
@@ -228,11 +237,93 @@
    }
    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;
        }
    }
    @Autowired
    private HttpClientUtil httpClientUtil;
    /**
     * Cellulant短信
     * @param toPhone
     * @param msg
     * @return
     */
    public boolean sendCellulantMessage(String toPhone, String msg){
        String url = "https://sms.nalosolutions.com/smsbackend/Nal_resl/send-message/";
        Map<String, Object> params = new HashMap<>();
        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");
        String s = httpClientUtil.pushHttpRequset("POST", url, params, null, "json");
        JSONObject jsonObject = JSON.parseObject(s);
        Integer status = jsonObject.getInteger("status");
        if(1701 == status){
            return true;
        }else{
            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("+233570111999"),
//                    new PhoneNumber("+16672740015"),
//                    "This is the ship that made the Kessel Run in fourteen parsecs?"
//            ).create();
//            System.out.println(message.getSid() + "--->" + message.getStatus().toString());
//        }catch (Exception e){
//            e.printStackTrace();
//        }
    }
}