版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目标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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 鄂尔多斯市党校图书馆纸质文献资源查询平台使用说明教学课件
- 公文办理规范与勘误
- 《肠内肠外营养概述》课件
- 这个撞色年终总结
- 国际会议中心木地板翻新施工合同
- 电影院防疫承诺书
- 中药库房防鼠措施
- 舞台设备材料招投标模板
- 婚庆设备租赁协议书
- 乡村安全:枪支弹药管理办法
- 工业自动化设备维护保养指南
- 装饰工程施工与其他专业协调、配合措施配合方案
- 北师大版生物八年级上册 第19章 第3节 植物的生殖方式(教案)
- 《中外历史纲要上》第16课国家出路的探索与列强侵略的加剧 教案
- 11《大家排好队》教学设计-2024-2025学年道德与法治二年级上册统编版
- 校园生活(2023年北京中考语文试卷散文阅读题及答案)
- 医患沟通学智慧树知到答案2024年温州医科大学仁济学院
- 2024数智化绿色低碳评价管理体系
- (新版)婴幼儿发展引导员(高级)技能鉴定理论试题库资料(含答案)
- 枸杞知识简介
- 中国式现代化为主题的论文3000字(1) (1)全文
评论
0/150
提交评论