91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot項目之怎么實現短信發送接口

發布時間:2021-10-27 09:03:34 來源:億速云 閱讀:245 作者:iii 欄目:開發技術

這篇文章主要講解了“SpringBoot項目之怎么實現短信發送接口”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“SpringBoot項目之怎么實現短信發送接口”吧!

一. 短信接口實現

描述:請求第三方短信接口平臺(而第三方短信平臺的接口請求是webservice方式實現的),此時我們要測試接口是否通,要用的工具SoapUI測試工具, 不能用PostMan,即使用post組裝完參數請求該短信平臺接口也不會通的(請求之前要ping通IP,只有在同一網段才可請求.或者使用VPN遠程連接也可請求),接口通了之后.開始裸代碼.代碼使用IDEA工具去完成 , 實現邏輯根據需求而定.

首先導入兩個依賴

<!--生成短信代碼webservice START-->
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.2</version>
        </dependency>

webservice方式實現(IDEA)

①創建一個新的包,鼠標點擊此包
②找到generate點擊

SpringBoot項目之怎么實現短信發送接口

③會出現以下界面,這里要注意 WSDL URL 地址要改為(短信平臺請求接口地址,后邊要加問號和wsdl ) 并也要更改Apache Axis 為 Glassfish /JAX-WS

SpringBoot項目之怎么實現短信發送接口

④更改后出現此界面,點擊OK后 , 會在新創建的包下出現idea自動創建的文件 .

SpringBoot項目之怎么實現短信發送接口

⑤此時 把.class文件刪除就好了,留下此三個文件(注意:SMSNewAllService類可以理解為打通webservice接口的實現類)

SpringBoot項目之怎么實現短信發送接口

⑥業務實現及調用

package com.enn.claim.config.sms;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * 獲取配置文件中: 發送短信平臺地址/賬號/密碼/短信類型/費用部門等 參數
 */
@Component
@ConfigurationProperties(prefix = "send-messages")
public class SmsProperties {

    private String address;
    private String userName;
    private String passWord;
    private String smsType;
    private String feeDept;


    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return passWord;
    }

    public void setPassword(String password) {
        this.passWord = password;
    }

    public String getSmsType() {
        return smsType;
    }

    public void setSmsType(String smsType) {
        this.smsType = smsType;
    }

    public String getFeeDept() {
        return feeDept;
    }

    public void setFeeDept(String feeDept) {
        this.feeDept = feeDept;
    }

    @Override
    public String toString() {
        return "SmsProperties{" +
                "address='" + address + '\'' +
                ", userName='" + userName + '\'' +
                ", passWord='" + passWord + '\'' +
                ", smsType='" + smsType + '\'' +
                ", feeDept='" + feeDept + '\'' +
                '}';
    }
}
/**
     * 發送短信
     * @param sendMessageVo
     * @return
     */
    @Override
    public SendSmsResult sendMessage(SendSmsVo sendMessageVo) {
        // 0.參數校驗
        sendMessageVo = this.validParams(sendMessageVo);
        // 1.創建返回結果集
        SendSmsResult smsResult = new SendSmsResult();
        try {
            //2.拼裝發送手機號碼
            String mobiles = "";
            for (int i = 0; i < sendMessageVo.getMobile().size(); i++) {
                if (i == 0) {
                    mobiles = sendMessageVo.getMobile().get(i);
                } else {
                    mobiles = mobiles + "," + sendMessageVo.getMobile().get(i);
                }
            }
            //3.發送短信
            log.info("開始請求發送短信>>>>>>>>>>>>>>>>>>"+"開始發送短信");
            SMSNewAllService service = new SMSNewAllService();
            ISMSNewAll ismsNewAll = service.getISMSNewAllPort();
            String resultSend = ismsNewAll.sendSMSWithExt(smsProperties.getUserName(), smsProperties.getPassword(), mobiles, sendMessageVo.getSmsBody(), smsProperties.getSmsType(), sendMessageVo.getReplyFlag(), smsProperties.getFeeDept(), sendMessageVo.getAllowStartTime(), sendMessageVo.getAllowEndTime(), sendMessageVo.getDeadLineTime(), sendMessageVo.getAppointTime(), sendMessageVo.getArea(), sendMessageVo.getExtCode());
            log.info("請求發送短信返回值>>>>>>>>>>>>>>>>>>{}: "+resultSend);

            //4.判斷返回結果
            if (ObjectUtils.isEmpty(resultSend)) {
                return SmsResultUtil.error("請求發送短信失敗,短信服務商無響應!");
            }
            //5.處理返回信息
            JSONObject jsonObject = JSONObject.parseObject(resultSend);
            String errorCode = jsonObject.get("errorCode").toString();
            String status = jsonObject.get("status").toString();
            if ("0".equals(errorCode) && "ok".equals(status)) {
                String msgInfo = jsonObject.getString("msgInfo");
                smsResult = SmsResultUtil.returnMessage(SmsConstants.SystemCode.OK, SmsConstants.MessageCode.SUCCESS_CODE, SmsConstants.MessageMsg.SUCCESS_MSG, msgInfo);
                return smsResult;
            } else {
                String errorMsg = jsonObject.getString("errorMsg");
                smsResult = SmsResultUtil.returnMessage(SmsConstants.SystemCode.ERROR, SmsConstants.MessageCode.FAIL_CODE, "請求發送短信失敗,服務商返回錯誤信息為:" + errorMsg, "");
                return smsResult;
            }

        }catch (Exception e){
            log.info("請求發送短信失敗,系統異常{}", e);
            e.printStackTrace();
            return SmsResultUtil.error("請求發送短信失敗,系統異常!");
        }finally {
            log.info("發送短信結果{}", JSONObject.toJSONString(smsResult));
        }
    }

⑦yml配置文件配置

SpringBoot項目之怎么實現短信發送接口

感謝各位的閱讀,以上就是“SpringBoot項目之怎么實現短信發送接口”的內容了,經過本文的學習后,相信大家對SpringBoot項目之怎么實現短信發送接口這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

班玛县| 武清区| 灵宝市| 米泉市| 武安市| 鄂托克旗| 和田市| 古浪县| 四会市| 松溪县| 禹城市| 二连浩特市| 嘉峪关市| 毕节市| 阜阳市| 敦煌市| 婺源县| 绥阳县| 察哈| 铜山县| 金门县| 北流市| 通州区| 航空| 朝阳县| 鹿泉市| 彰化市| 宁河县| 双江| 城口县| 六安市| 晋城| 赤水市| 濮阳市| 左权县| 石嘴山市| 虞城县| 陇川县| 九江县| 吴堡县| 安徽省|