




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
目標1:能夠說出秒殺實現思路目標2:實現秒殺頻道首頁功能目標4:實現秒殺下單功能價、商品、介紹等信息當庫存為0或不在活動期范圍內時無法秒殺。 當用戶秒殺下單5分鐘內未支付,取消預訂單,調用 Tb_seckill_goodsTb_seckill_order(webpinyougou-seckill-web(war)pom.xmlcart_web工程(需添加單點登錄和權限控制)pinyougou-seckill-interface,Tomcat7插件運行端9109web.xml、spring配置文件參見cart_web工程。運用《程序員代碼》生成代碼,拷入工秒殺頻道首頁,顯示正在秒殺的商品(已經開始,未結束的商品publicList<TbSeckillGoods>publicList<TbSeckillGoods>findList() ampleexample=new Criteriacriteria=example.createCriteria();Criteriacriteria=example.createCriteria();criteria.andStockCountGreaterThan(0);//0return} publicList<TbSeckillGoods>return}pinyougou-seckill-web return} }}<script<scripttype="text/javascript"src="plugins/angularjs/angular.min.js"><script<scripttype="text/javascript"src="js/base.js"><scripttype="text/javascript"src="js/service/seckillGoodsService.js"><scriptsrc="js/controller/seckillGoodsController.js"><li<liclass="seckill-item"ng-repeat="pojoin<div<imgsrc="{{pojo.smallPic}}"width="290px"height="290px"<div<divclass='price'><bclass='sec-price'>¥{{pojo.costPrice}}</b><b<div{{((}}%</<div<divclass='sui-progressprogress-danger'><span{{((pojo.num-pojo.stockCount)/pojo.num*100).toFixed(0)}}%;'<aclass='sui-btnbtn-blockbtn-buyhref='seckill-item.html#?id={{pojo.id}}'privateprivate te publicList<TbSeckillGoods>findList()List<TbSeckillGoods>seckillGoodsList= if(seckillGoodsList==null||seckillGoodsList.size()==0){TbSeckillGood example=newTbSeckillGood ampleCriteriacriteriacriteria.andStockCountGreaterThan(0);//剩余庫存大于0seckillGoodsList=seckillGoodsMapper.selectByExample(example);for(TbSeckillGoods}}return}*根據ID獲取實體(從緩存 publicTbSeckillGoodsfindOneFromRedis(LongpublicTbSeckillGoodsfindOneFromRedis(Longid)return } publicTbSeckillGoodsfindOneFromRedis(Longreturn}privateSeckillGoodsServicepinyougou-seckill-webreturn }pinyougou-seckill-web的 ,引入$location服$scope.entity=}}<script<scripttype="text/javascript"src="plugins/angularjs/angular.min.js"><scripttype="text/javascript"src="js/base.js"><scripttype="text/javascript"src="js/service/seckillGoodsService.js"><scriptsrc="js/controller/seckillGoodsController.js"><body<bodyng-app="pinyougou"ng-controller="seckillGoodsController"ng- width="400px"height="400px"/></span><<divclass="fl <<divclass="intro-取消執行用cancel方法先現在先做一個簡單的例子:10秒倒計時,首先引入$interval $scope.second$scope.second=time=$scope.second=$scope.second-}$scope.entity=allsecondMath.floor(newDate($scope.entity.endTime).getTime()-(newDate().getTime()))/1000);//總秒數time=if(allsecondallsecond=allsecond-}}} 天小時分鐘秒格式XXX天10:22:33vardaysMath.floorallsecond/(60*60*24));//varhoursMath.floor(allsecond-days*60*60*24)/(60*60)varminutes=Math.floor((allsecond-days*60*60*24- varvarseconds=allseconddays*60*60*24hours*60*60minutes*60;vartimeString=days+"}return}<span<spanclass="overtime"0或不在活動期@param@parampublicpublicvoidsubmitOrder(LongseckillId,Stringprivate te privateIdWorkerpublicvoidsubmitOrder(LongseckillId,StringuserId)TbSeckillGoodsseckillGoods=(TbSeckillGoods) thrownewRuntimeException("商品不存在}thrownewRuntimeException("商品已搶購一空} , }longorderId=TbSeckillOrderseckillOrder=newTbSeckillOrder();seckillOrder.setCreateTime(newDate());seckillOrder.setUserId(userId);//ID } publicResultsubmitOrder(LongseckillId){StringuserId=returnnewResult(false,"用戶未登錄");}tryreturnnewResult(true提交成功}catch(RuntimeException{returnnewResult(false,}catch(Exception{;returnnewResult(false提交失敗}return}}}}<a<ang-click="submitOrder()"target="_blank"class="sui-btnbtn-danger @parampublicTbSeckillOrdersearchOrderFromRedisByUserId(StringpublicTbSeckillOrdersearchOrderFromRedisByUserId(StringuserId)return }@author publicclassPayControllerprivateWeixinPayServiceprivateSeckillOrderService publicMap//到redisTbSeckillOrderseckillOrder=TbSeckillOrderseckillOrder=longfen=(long)(seckillOrder.getMoney().doubleValue()*100);//金額(分returnreturnnew}}}將pinyougou-cart-web工程的 qrious.min.js拷貝 @param@parampublicpublicvoidsaveOrderFromRedisToDb(StringuserId,LongorderId,StringpublicvoidsaveOrderFromRedisToDb(StringuserId,LongorderId,StringtransactionId){//根據用戶IDTbSeckillOrderseckillOrder=(TbSeckillOrder) thrownewRuntimeException("訂單不存在}hrownewRuntimeException("訂單不相符");} seckillOrder.setPayTime(newDate());//支付時間 te.boundHashOps("seckillOrder").delete(userId);//從redis}@param publicResultqueryPayStatus(Stringout_trade_no)Mapmap=weixinPayService.queryPayStatusWhile(out_trade_no);returnnewResult(false,returnnewResult(truereturnnewResult(false,}}}@param@parampublicvoiddeleteOrderFromRedis(StringuserId,LongpublicvoiddeleteOrderFromRedis(StringuserId,Long{TbSeckillOrderseckillOrder=(TbSeckillOrder) if(seckillOrder!=null&&seckillOrder.getId().longValue()==orderId.longValue()){redisTem TbSeckillGoods );收seckillGoods=if(seckillGoods.getEndTime().getTime()>new }}}@param publicResultqueryPayStatus(Stringout_trade_no)Mapmap=weixinPayService.queryPayStatusWhile(out_trade_no);re
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小區個人停車位租賃合同
- 園藝環境管理試題及答案
- 2024年農業職業經理人的備考指南與建議試題及答案
- 2024年農藝師考試不同學習方式的效率比較試題及答案
- 花藝師職業發展的核心能力與考試內容的關聯試題及答案
- 2024年花藝師考試新理念分享試題及答案
- 福建事業單位考試電子商務知識題及答案
- 考生必準備的輔導員考試試題及答案
- 2024年園藝師考試的資源網絡構建試題及答案
- 2024年園藝師考試體系建設試題及答案
- 2020年個人信用報告新版含水印
- 雷雨第四幕劇本由中門上不做聲地走進來雨衣上雨還在往下滴發鬢有些
- 廣東省五年一貫制考試英語真題
- 初中綜合實踐課程標準
- 基于STC89C52單片機-紅外智能循跡小車
- PackingList外貿裝箱單模板
- 談文旅融合發展的深層意義
- 自考勞動法名詞解釋和論述歷年真題重要考點必須掌握
- 第三章-件雜貨裝卸工藝
- 數據中心項目運營方案-范文參考
- 2021年黑龍江省齊齊哈爾市中考化學試題及參考答案
評論
0/150
提交評論