大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

秒殺項目
秒殺項目基本環境搭建
商品展示模塊
請求執行秒殺模塊
秒殺流程總結

前臺頁面再次獲取秒殺結果(MQ處理之后的)

分析:再次獲取秒殺結果,獲取的是消息隊列處理后的結果,有可能秒殺成功,有可能秒殺失敗,還有可能是發送請求了,但是消息隊列的消息還沒有被消費,這個時候,就需要輪詢的調用獲取秒殺結果的函數,我們可以通過window.setInterval方法實現,該方法對應的clearInterval可以終止輪詢,但是需要將setInterval的返回值ID作為參數,所以我們需要定義一個全局變量接收setInterval的返回值。

1.  在15-seckill-web的模塊的seckill.js中的execSeckill函數中輪詢調用再次獲取秒殺結果的queryResult函數

//處理響應結果
if(rtnMessage.errorCode == 1){
    //秒殺成功,已經下單到MQ,返回中間結果  可以做動畫處理
    $("#seckillTip").html("<span style='color:red;'>"+ rtnMessage.errorMessage +"</span>");
    //接下來再發送一個請求獲取最終秒殺的結果(輪詢,每3秒查一次)
    seckillObj.timeFlag = window.setInterval(function(){
                                     seckillObj.func.queryResult(id)
                                },3*1000);
}else{
    //秒殺失敗 展示失敗信息
    $("#seckillTip").html("<span style='color:red;'>"+ rtnMessage.errorMessage +"</span>");
}

2. 在15-seckill-web的模塊的seckill.js中編寫queryResult函數

//查詢最終秒殺結果
queryResult:function (id) {
    $.ajax({
        url: seckillObj.url.resultURL() +id,
        type:"post",
        dataType:"json",
        success:function (rtnMessage) {
            if(rtnMessage.errorCode == 1){
                //秒殺成功
                $("#seckillTip").html("<span style='color:blue;'>"+ rtnMessage.errorMessage +"</span>");
                //終止輪詢
                window.clearInterval(seckillObj.timeFlag);
            }else if(rtnMessage.errorCode == 0){
                //秒殺失敗
                $("#seckillTip").html("<span style='color:blue;'>"+ rtnMessage.errorMessage +"</span>");
                //終止輪詢
                window.clearInterval(seckillObj.timeFlag);
            }else{
                //3秒后,依然沒有查詢到結果,那么需要3秒后,繼續發送請求獲取秒殺結果,我們這里不需要做什么
            }
        }
    });
}

3. 在15-seckill-web的seckill.js的url屬性中定義resultURL

resultURL:function () {
    return seckillObj.contextPath +"/seckill/result/";
}

4. 在15-seckill-web的GoodsController中處理獲取最終秒殺結果的請求

@PostMapping("/seckill/result/{id}")
public @ResponseBody ReturnObject result(@PathVariable("id") Integer id){
    ReturnObject returnObject = new ReturnObject();
    //在Redis中暫時沒有查詢到結果
    returnObject.setErrorCode(2);
    //用戶再次查詢,肯定處于登錄狀態,可以從session獲取用戶信息(我們這里省略了用戶登錄)
    String resultJSON = redisTemplate.opsForValue().get(Constants.REDIS_RESULT + id + ":" + "888888");
    return StringUtils.isEmpty(resultJSON)?returnObject : JSONObject.parseObject(resultJSON,ReturnObject.class);
}

 

全部教程
主站蜘蛛池模板: 国产精品成人在线播放 | 亚洲精品久荜中文字幕 | 成人在色线视频在线观看免费大全 | 亚洲va国产va欧美va综合 | 亚洲国产精品久久久久久网站 | 97国产成人精品视频 | 四虎影视2022入口网址 | 免费一级毛片无毒不卡 | 久久国产精品久久久久久 | 亚洲国产婷婷香蕉久久久久久 | 欧美日视频 | 92国产福利久久青青草原 | 成年性午夜免费视频网站不卡 | 四虎国产成人永久精品免费 | 国产激情视频趣趣在线观看的 | 久久精品蜜芽亚洲国产a | 日本精品视频一区二区三区 | 欧美日韩成人午夜免费 | 天天玩天天操 | 视频播放在线观看精品视频 | 成人国产精品久久久免费 | 欧美乱妇在线观看 | 蜜桃精品免费久久久久影院 | 成人在线小视频 | 在线成人免费观看国产精品 | 91在线免费公开视频 | 夜夜做夜夜爽 | 欧美精品国产一区二区三区 | 四虎网站最新地址 | 欧洲成人免费高清视频 | 一级黄色毛片播放 | 亚洲国产天堂在线网址 | 老子影院午夜伦手机在线看 | 麻豆国产在线不卡一区二区 | 一级黄网站| 九九九精品在线观看 | 欧美一级在线播放 | 永久免费观看黄网站 | 另类色视频| 亚洲美女啪啪 | 免费看欧美一级特黄a大片一 |