![day课程v1 3电商系统开发第19章秒杀解决方案_第1页](http://file4.renrendoc.com/view/8d77123d83098631929dc52fe0469763/8d77123d83098631929dc52fe04697631.gif)
![day课程v1 3电商系统开发第19章秒杀解决方案_第2页](http://file4.renrendoc.com/view/8d77123d83098631929dc52fe0469763/8d77123d83098631929dc52fe04697632.gif)
![day课程v1 3电商系统开发第19章秒杀解决方案_第3页](http://file4.renrendoc.com/view/8d77123d83098631929dc52fe0469763/8d77123d83098631929dc52fe04697633.gif)
![day课程v1 3电商系统开发第19章秒杀解决方案_第4页](http://file4.renrendoc.com/view/8d77123d83098631929dc52fe0469763/8d77123d83098631929dc52fe04697634.gif)
![day课程v1 3电商系统开发第19章秒杀解决方案_第5页](http://file4.renrendoc.com/view/8d77123d83098631929dc52fe0469763/8d77123d83098631929dc52fe04697635.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目标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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 压力容器防腐蚀与保护措施研究考核试卷
- D打印技术在建筑设计绿色生态的应用考核试卷
- 期货市场交易成本分析与交易策略优化考核试卷
- 2024年医生年终工作总结参考范本(3篇)
- 信管03版-第三章-战略规划与市场营销管理
- 印刷技术在安全标识的生产标准考核试卷
- 掌上校园产品介绍
- 互联网营销课件
- 8《卡罗尔和她的小猫》
- 企业员工培训计划实施协议
- 药品经营和使用质量监督管理办法培训试题及答案2023年9月27日国家市场监督管理总局令第84号公布
- 兽医考试-兽医化验员笔试(2018-2023年)真题摘选含答案
- 陶瓷基板行业分析
- 月嫂培训教材高级
- 丙酮精制工艺工段设计
- 联通创新人才认证(云计算)考试题库(附答案)
- PVC皮革制作工艺
- 胃癌术后健康宣教内容课件
- 冷链药品管理培训课件
- 呼吸内科护理专科特色
- 共享电单车可行性报告
评论
0/150
提交评论