国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot項目實現短信發送接口開發的實踐

SpringBoot項目實現短信發送接口開發的實踐

2022-03-02 00:37枝頭小寨 Java教程

本文主要介紹了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項目實現短信發送接口開發內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_50831101/article/details/120861830

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲视频中文字幕 | 日韩成人一区二区 | 中文字幕视频一区 | 国产999精品久久久久 | 91亚洲国产成人久久精品网站 | 黄色片免费在线观看视频 | 不卡视频一二三区 | 国产精品二区三区 | 中文字幕亚洲二区 | 97伦理片 | 久久久久久高清 | 香蕉一区 | 韩国精品免费视频 | 国产在线a | 成人在线免费小视频 | 视频一区二区三区在线观看 | 欧美大片黄 | 国产一区 欧美 | 成年人在线免费观看视频网站 | 国产精品成av人在线视午夜片 | 天堂在线免费视频 | 亚洲免费视频网 | 三级av在线 | 欧美一二三 | 日韩在线 中文字幕 | 成人在线免费观看 | www.av在线播放 | 成人免费观看49www在线观看 | 午夜影院在线 | 高清视频一区 | 日日日操 | 中文av字幕 | 久久最新 | 亚洲视频免费看 | 欧美aaa级| 欧洲精品视频在线观看 | 免费一区二区 | 免费高清黄色 | 龙珠z国语291集普通话 | 人人干天天干 | 久日av |