1. 程式人生 > >阿里雲簡訊api 回執 回覆

阿里雲簡訊api 回執 回覆

不寫發簡訊的方法了,這個搜一下一大把

呼叫接收佇列方法,也是對照官方的demo

 @Autowired
    private MessageUp messageUp;

    @RequestMapping("/message_phone/getMessage.do")
    public String getMessage(){
        try {
            DefaultAlicomMessagePuller puller=new DefaultAlicomMessagePuller();
            String messageType="SmsUp";
            String accessKeyId="xxxxxxxxxxxx";
            String accessKeySecret="xxxxxxxxxxxxxxxxxxx";
            String queueName="Alicom-Queue-xxxxxxxxxxxxxxxx-SmsUp";
            puller.startReceiveMsg
                    (accessKeyId,accessKeySecret ,messageType,queueName , messageUp);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "redirect:HZ/v_list.do";
    }

工具類:

@Component
    public class MessageUp implements MessageListener {
        private Gson gson=new Gson();

        @Autowired
        private RsMessagePhoneMng rsMessagePhoneMng;

        @Override
        public boolean dealMessage(Message message){
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            try{
                Map<String,Object> contentMap=gson.fromJson(message.getMessageBodyAsString(), HashMap.class);
                String phoneNumber=(String)contentMap.get("phone_number");
                String sendTime=(String)contentMap.get("send_time");
                String content = (String) contentMap.get("content");
                //System.out.println("接收到簡訊回執:手機號"+phoneNumber+"傳送時間:"+sendTime+"內容:"+content);
                    List<RsMessagephoneEntity> phone_number = rsMessagePhoneMng.findByPhone(phoneNumber);
                    if (null != phone_number.get(0)){
                        //System.out.println("查詢到手機號");
                        RsMessagephoneEntity bean = phone_number.get(0);
                        Date datel = bean.getRsMessagephonereplyTime();
                        Date parse = format.parse(sendTime);
                        bean.setRsMessagephoneStatus("已回覆");
                        bean.setRsMessagephoneReply(content);
                        bean.setRsMessagephonereplyTime(parse);
                        rsMessagePhoneMng.update(bean);
                        //System.out.println("更新回執內容over");
                    }
            }catch(com.google.gson.JsonSyntaxException e){
                //logger.error("error_json_format:"+message.getMessageBodyAsString(),e);
                //理論上不會出現格式錯誤的情況,所以遇見格式錯誤的訊息,只能先delete,否則重新推送也會一直報錯
                return true;
            } catch (Throwable e) {
                //您自己的程式碼部分導致的異常,應該return false,這樣訊息不會被delete掉,而會根據策略進行重推
                return false;
            }
            //訊息處理成功,返回true, SDK將呼叫MNS的delete方法將訊息從佇列中刪除掉
            return true;
        }
    }

注意jar包版本一定要正確


否則報ArrayStoreException,而且搜不到為什麼 坑...

相關推薦

阿里簡訊api 回執 回覆

不寫發簡訊的方法了,這個搜一下一大把呼叫接收佇列方法,也是對照官方的demo @Autowired private MessageUp messageUp; @RequestMapping("/message_phone/getMessage.do")

2018版阿里簡訊api使用教程,附詳細圖文和demo,可直接執行

      阿里雲簡訊介面改版後,原來的介面已不能使用,提供的新版demo晦澀難懂,文件也語焉不詳,多次與技術人員詢問後依然得不到正確使用姿勢,參考https://blog.csdn.net/u011958281/article/details/78614792 後總算

阿里簡訊傳送模組api及demo

安裝方法:$ npm install @alicloud/sms-sdk --save 程式碼: /**  * 雲通訊基礎能力業務簡訊傳送、查詢詳情以及消費訊息示例,供參考。  * Created on 2017-07-31  */ const SMS

Java呼叫阿里簡訊通道服務

這裡我們使用SpringBoot 來呼叫阿里通訊的服務。 (用哪個框架無所謂,即便是統Java工程也能實現,但需要連網) 阿里通訊,雙11.收到簡訊,日傳送達6億條。保障力度非常高。 使用的步驟: 第一步:需要開通賬戶 第二步:閱讀介面文件 祕鑰管理 簡訊簽名 簡訊模板

阿里簡訊開發

使用阿里雲簡訊開發前提必須企業申請,並且實名認證,此文只講解簡訊開發程式碼結構。 /** * 阿里簡訊配置 */ public class StaticPeram { /** * 手機驗證部分配置 */ /** * 設定超時時間-可自行調整

阿里-笑話Api使用教程

阿里雲 · 雲市場:https://market.aliyun.com/ 登入註冊,非常方便。(因為你肯定有某寶賬號)。 找到笑話大全Api,並且購買。有免費,也有收費。我使用的是收費的。(剛好有活動) 4.找到你購買的Api(App key&Sec

第三方介面呼叫案例(以阿里簡訊服務為例)

第三方介面或者服務大部分都是以rest風格的,需要http請求去呼叫,通過網路傳送請求去呼叫,然後等待第三方服務的響應,併發量多的話,會嚴重拖慢業務邏輯的處理速度。為了提高系統的效能,呼叫第三方服務,最好做成非同步的,如果條件允許,最好用單獨的伺服器,或者幾臺伺服器來做呼叫第三方介面,來提高業務邏輯

接入阿里簡訊介面

無論是阿里雲還是騰訊雲,申請簡訊介面的步驟都是一樣的,先申請簡訊簽名,在申請簡訊模板,在下載sdk檔案包,配置後即可。   一、開啟簡訊服務 https://www.aliyun.com/product/sms?spm=5176.10695662.1128094.1.27b83

tp5 引入阿里簡訊驗證碼

首先呢,登陸阿里雲,沒有的話去註冊賬號。  登陸成功後如圖所示: 產品->精選->簡訊服務  點選進去  然後如下圖所示  點選管理控制檯   ------>進入後再簡訊服務下有個 應用開發 ->

【Java】阿里簡訊傳送功能實現

前言 在移動端,我們除了使用賬號密碼、第三方社交平臺賬號(例如:微信、QQ、微博等)這幾種登入方式以外,也會通過手機簡訊驗證碼的方式來做登入。 博主最近正在做移動端的手機簡訊驗證登入。原本為了簡單起見,選用的是某個不知名科技公司的簡訊服務,但是收費貴,服務也不太穩定等一系列問題的出現

阿里 簡訊服務(程式碼編寫及使用)

1. 引入依賴 pom.xml 檔案 <!-- aliyun簡訊服務API介面依賴的SDK --> <dependency> <groupId>com.aliyun</groupId>

阿里簡訊介面開發實踐(Java)

隨著網際網路的興起,各行各業的需求都在不斷的增加。隨著業務的擴大,企業給使用者傳送簡訊驗證碼的業務,也是如火如荼。在這裡,calvin給各位開發者推薦阿里雲簡訊平臺。原因有二:1.接入較簡單,開發成本低 2.非常穩定,簡訊可達率99%。      &

thinkphp5詳細使用阿里簡訊最新版(原大魚)教程!

先說一下吧,這篇文章主要教大家如何使用tp5來使用阿里簡訊平臺最新版2.0sdk,也就是所謂的前阿里大魚。 但是高手略過啊,只針對新手,如果大家發現有什麼問題,歡迎留言指出,我會更正! 首先我們下載官方完整包的SDK:[url]https://help.aliyun.com/document_d

精簡阿里簡訊服務官方SDK及DEMO

    最近專案用到阿里雲的簡訊服務,下載阿里雲簡訊服務官方SDK及DEMO,包含眾多的資料夾及檔案,一大堆的類,類引用地址也是亂的,沒法直接執行。     裡面包含多個介面(簡訊傳送API,簡訊查詢API,簡訊訊息API),專案只需要簡訊傳送介面即可

關於阿里簡訊服務代理的設定問題

在使用阿里雲簡訊服務的時候,由於要將服務設定在內網供其他服務呼叫,這就需要用代理去處理簡訊介面請求,但是阿里官方提供的API就兩個jar包,將http請求的具體細節封裝起來了,樓主為此很是無奈,然後想到有個可以設定全域性代理System.setPropert的方式,這種方式固

接入阿里簡訊,OSS,實人認證

公司開發用到了很多阿里雲的產品,幾乎第三方SDK,雲伺服器什麼的老闆都用阿里雲的。 一:發簡訊功能 引入pom依賴 </dependency> <dependency> <groupId>com.aliyun&

.net呼叫阿里簡訊介面

由於阿里雲簡訊介面有兩類: 一類是: AppKey ==== AppSecret ==== AppCode ==== 二類是: AccetKey ==== AccetSecret ==== 根據需求申請相應的key和secret; 這裡我使用的是第二類,千萬不要把一類和二類

阿里簡訊傳送報org.json.JSONArray.iterator()Ljava/util/Iterator;

經過排查,好像是maven映象倉庫中阿里的jar包存在問題。 在http://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core 中檢視最新版本,改為依賴最新版本的jar。 <dependency>

阿里簡訊傳送服務SDK-Python3

本文提供阿里雲的簡訊傳送服務SDK,使用Python3實現。 # -*- coding: utf-8 -*- # pip install requests import requests import urllib.request import time import uuid impor

如何用阿里API進行身份證識別

準備工作:在libs下新增 alicloud-android-apigateway-sdk-1.0.1.jar,commons-codec-1.10-1.jar           在build.gradle新增  compile'com.squareup.okhttp3: