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

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

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

分析:再次獲取秒殺結(jié)果,獲取的是消息隊(duì)列處理后的結(jié)果,有可能秒殺成功,有可能秒殺失敗,還有可能是發(fā)送請(qǐng)求了,但是消息隊(duì)列的消息還沒有被消費(fèi),這個(gè)時(shí)候,就需要輪詢的調(diào)用獲取秒殺結(jié)果的函數(shù),我們可以通過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)畫處理
    $("#seckillTip").html("<span style='color:red;'>"+ rtnMessage.errorMessage +"</span>");
    //接下來再發(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中編寫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秒后,依然沒有查詢到結(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í)沒有查詢到結(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);
}

 

全部教程
主站蜘蛛池模板: 成人爽a毛片在线视频网站 成人爽视频 | 午夜撸 | 一区二区三 | 在线免费观看亚洲视频 | 欧美精品久久一区二区三区 | 国产精品乱码高清在线观看 | 国产精品伦视频观看免费 | 国产欧美综合一区二区 | 一本到中文字幕高清不卡在线 | 日产精品久久久一区二区 | 欧美一级欧美三级在线观看 | 亚洲一级毛片在线观播放 | 日日夜夜摸摸 | 欧美性猛交99久久久久99 | 国产精品久久久尹人香蕉 | 九九在线免费观看视频 | 99热这里只有精品6免费 | 日本毛片在线看 | 免费精品久久久视频 | 欧美xxxx成人免费视频 | 色人阁婷婷 | 成年男女免费视频观看性 | 这里只有精品首页 | 亚洲一区二区三区精品视频 | 一级一级毛片免费播放 | 激情五月五月婷婷 | 欧美激情视频一区 | 毛片在线观看视频 | 中文字幕福利视频 | 天天爽天天爽 | 精品久久久久久免费影院 | 免费在线观看黄色毛片 | 老司机午夜视频在线观看 | 天天爽夜夜爽人人爽 | 国产精品2020观看久久 | 亚洲国产成人精品91久久久 | 亚洲综合狠狠 | 真人一级一级特黄高清毛片 | 久久草在线观看视频 | 色综久久天天综合绕视看 | 久操资源网 |