黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

秒殺項(xiàng)目
秒殺項(xiàng)目基本環(huán)境搭建
商品展示模塊
請(qǐng)求執(zhí)行秒殺模塊
秒殺流程總結(jié)

前臺(tái)頁(yè)面再次獲取秒殺結(jié)果(MQ處理之后的)

分析:再次獲取秒殺結(jié)果,獲取的是消息隊(duì)列處理后的結(jié)果,有可能秒殺成功,有可能秒殺失敗,還有可能是發(fā)送請(qǐng)求了,但是消息隊(duì)列的消息還沒(méi)有被消費(fèi),這個(gè)時(shí)候,就需要輪詢的調(diào)用獲取秒殺結(jié)果的函數(shù),我們可以通過(guò)window.setInterval方法實(shí)現(xiàn),該方法對(duì)應(yīng)的clearInterval可以終止輪詢,但是需要將setInterval的返回值ID作為參數(shù),所以我們需要定義一個(gè)全局變量接收setInterval的返回值。

1.  在15-seckill-web的模塊的seckill.js中的execSeckill函數(shù)中輪詢調(diào)用再次獲取秒殺結(jié)果的queryResult函數(shù)

//處理響應(yīng)結(jié)果
if(rtnMessage.errorCode == 1){
    //秒殺成功,已經(jīng)下單到MQ,返回中間結(jié)果  可以做動(dòng)畫(huà)處理
    $("#seckillTip").html("<span style='color:red;'>"+ rtnMessage.errorMessage +"</span>");
    //接下來(lái)再發(fā)送一個(gè)請(qǐng)求獲取最終秒殺的結(jié)果(輪詢,每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中編寫(xiě)queryResult函數(shù)

//查詢最終秒殺結(jié)果
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秒后,依然沒(méi)有查詢到結(jié)果,那么需要3秒后,繼續(xù)發(fā)送請(qǐng)求獲取秒殺結(jié)果,我們這里不需要做什么
            }
        }
    });
}

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

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

4. 在15-seckill-web的GoodsController中處理獲取最終秒殺結(jié)果的請(qǐng)求

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

 

全部教程
主站蜘蛛池模板: 欧美亚洲免费久久久 | 国产日韩亚洲欧洲一区二区三区 | 亚洲欧美一区二区三区在饯 | 青春草在线免费观看 | 欧美视频不卡一区二区三区 | 欧美在线中文字幕 | 香蕉视频免费网站 | 中文字幕国产亚洲 | 国产高清视频一区二区 | 十八禁毛片 | 欧美人与日本人xx在线视频 | 中文字幕免费视频精品一 | 日韩一级特黄 | 污视频在线看网站 | 丁香五月网久久综合 | www.精品视频 | 2015小明台湾永久区域免费 | 你懂的日韩 | 成人久久18免费游戏网站 | 免费99视频有精品视频高清 | 男女一进一出无遮挡黄 | 日韩欧美高清在线观看 | 亚洲欧美在线综合一区二区三区 | 欧美z000zxxxx| 精品一区二区免费视频 | 欧美一级片在线免费观看 | 人人爽人人爽人人爽 | 国产成人激情 | 欧美区一区 | 欧美韩国日本在线观看 | 老司机午夜精品视频播放 | 理论片毛片 | 97久久人人做人人爽人人澡 | 日韩资源在线观看 | 天天天天躁天天天天碰 | 国产片a国产片免费看视频 国产片黄色 | 天堂中文字幕在线 | 性性影院在线观看 | 免费一级片视频 | 91po国产在线精品免费观看 | 欧美一级网址 |