00:00
那接下来我们就来准备一个简单的页面,串通一下我们的秒杀流程,那这个页面呢,我们就直接来使用这个购物车这一块的功能,比如来找到一个没有参与秒杀的这个,我们这儿加入购物车这个按钮呢,没有展示,我们来看一下控制台,来到我们这个商品服务,商品服务呢,我们这个控制台呢,出现了报错,报错说我们这个属性start呢,说不能为空,比如说在空里边去来找这个start time,我们看上边还是这个start time,它这个表达式有问题,我们来找一下,那就是这个表达式。CTRLC来复制过来看一下我们这个秒杀的这个详情页里边什么情况会用到这个表达式,CTRLF,那直接来我们这个页面来搜索,这我们第一个用到表达式的地方,如果我们现在有秒杀信息,我们在这呢,判断第一处没问题,那第二处,第二处呢在这好,那对了,那这个立即抢购跟加入购物车,我们这儿没按键,没按键的原因就是我们上来呢,直接判断,这个直接判断呢,肯定是有问题的,我们应该呢,先来保证我们这个秒杀商品呢,为空还是不为空,如果这个是立即抢购,我们可以直接来写这个方法,因为是立即抢购要显示的情况下呢,我们一定是有这个秒杀信息的,所以我们把这一块的。
01:20
写法我们来变一下,那在这一块的这个写法呢,我们给它加一个完整的小括号,这是一个完整判断,这个判断呢,是在我们有秒杀信息的情况下。如果这个商品连秒杀信息都没有,那我们就没必要来做这个判断了,所以我们还应该加一个item SQ,我们这个item的second,这个秒杀信息,如果等等空,等等空,或者它后边只要我们两个条件呢,随便成立一个就行,如果是等等不等空。不等空呢,那就是我们要抢购,抢购这个,并且然后呢,我们来到这,然后下边呢,这个就是我们等于空。
02:02
而如果我们这个没有这个秒杀信息,或者这个秒秒杀信息呢,时间都过了,那么就应该不在这儿来显示,所以我把这呢还是来取消一下,其实按照正常我们这个秒杀信息呢,只要过了,那过了以后呢,那都应该把这个商品的秒杀信息给删掉,我们一会来把这个逻辑也来加上。那在这处理好,我们来小化一下,那在这来判断,如果它的这个秒杀信息等等空CTRLC,如果呢,你当前商品都没有这个秒杀信息,或者呢,你的这个秒杀信息过期了,你还没有及时删掉,那被我知道过期了,那么就给你显示的是加入购物车CTRLF9,我们把这个页面呢,重新编译一下,来看一下我们现在的这个效果。我来点一个刷新,好,我们现在这个加入购物车就有了,当我们来把一个商品加入购物车以后,我点加入购物车,然后我们会来到一个成功页面,那直接把这个成功页面呢,就复制过来,秒杀成功了,我们就在这个页面提示,诶恭喜你,什么秒杀成功或者失败了,我们也在这提示,那么就直接来到购物车务,购物车服务把这个成功页面给这儿来以复制成功页面,那就是看CTRLC。
03:19
来到我们的这个秒杀业务里边,在这个秒杀业务里边呢,我们也来加入这个success,然后同样的我们的秒杀controller们就重新变一下,这个controller呢,变成一个普通controller,能接收页面跳转的,其他所有的还是来返回response body,返回接送数据,好这一块呢,返回接送数据,唯独我们这个秒杀我们就不返回接送数据了,来返回一个string这个页面地址,这个页面地址呢,就是我们的这个success地址。我把这个地址CTRC我来复制过来,我们要用这个地址,我们肯定得导入SIM lef这个模板引擎dependency,我们直接引入simif的这个start,好把这个引入进来以后呢,来关闭simiff的缓存,咱们这个开发期间关闭缓存呢,还是非常有必要的,SIM live catch。
04:13
来写一个false就行了,然后来到我们这一块,那现在呢,这个订单号都准备好了,我们就直接放到页面来告诉你成了还是败了的model attribute来写一个model,我们给容器给我们这个页面呢,我们放的就是model。好模型数据我们现在呢,就叫model能给,Model里边如果成功或者失败,我们model里边就按一个attribute,那就是订单号,你能取到订单号那就成功了,取不到呢,那就失败了,CTRLC来复制来到我们这个success页面,这个页面呢,引入了好多的这个静态信息,这块的静态资源呢,我们现在默认是在本项目找的,我们是从。这个购物车服务里边复制过来的,所以我们把这个静态资源我们直接让他去购物车里边找来,在这儿来替换一下CTRLR,好,我们这个src呢,我们给它全部加上HTTP我们购物车服务的地址cut,点一个鼓励mail.com好,我来盗用一下购物车里面的静态资源replace all,那这一块呢,来改完了,包括超链接的这一块也一样,CR来替换一下,超链接呢,我们也加上购物车的地址replace啊好,这块呢,全部替换成功以后,这个鼓励商城首页我们能看到的这个错误,我们可以给它修改一下,那全部替换成功以后呢,那接下来这个页面的展示效果那就好了,那来到这个页面,那这一块呢,说这个成功成功的这个信息,这个登录注册好,那到这来到下边。
05:48
来找一下这个商品已成功加入购物车,那我们就不要这个商品已成功加入购物车了,那就直接把它里边的所有东西一清空,那自己来写一个就行了,我们来找一下它的整个这个div,这个div那在这个content,那就是这个里边,那除了这个message success,这个box,来找一下CTRLF走。
06:12
这个里边的div里边的所有数据全部清空,我们在这呢,直接来一个清空。如果我们来判断,如果order SN这个订单号不等于空,那我们可以给他提示一个,比如以前的这是一个去购物,我这可以给他给一个,比如去支付吧,我们可以来写一个去支付,既然订单都创建好了,你就可以来去支付了,好我们来准备一个,然后呢,我们同时在这来做一个判断,那这个如果订单不等于空,我们就来写一个H1诶。咱们这个秒杀成功,秒杀成功,然后呢,订单号,订单号是哪个,我们可以来取出来双中括号,然后呢,Dollar大括号,订单号呢,是这个order SN,我们生成的一个快速订单号,当然我们即使去想要去支付我们这个订单号呢。
07:05
他我们后台还有一段准备时间,咱们可以来提示,然后呢,我们这个后台正在准备此订单,好我们写来写来写一个H2,我们正在准备咱们这个订单数据数据,然后呢,我们建议十秒以后,咱们这个自动跳转支付,自动这个跳转这个支付。答案应该是跳转到我们这个收货地址的选择,我们现在就一步登天,直接来到这个支付,好,这个支付的跳转呢,那就应该是来到订单服务来看一下,我们以前呢,有一个订单服务,所有的支付请求呢,专门有一个这个我们来看一下支付的controller,这个controller有一个配controller,这个controller呢,你只需要给我发一个get请求,将配order带上你的订单号,那就完事了。所以我们在这个success页面也可以来给他发一个配order请求,带上我们的订单号,我们的订单号呢叫这个order SN,然后他会动态的给我们来查出当前订单的所有信息,并给我们来带出去,所以这一块呢,就来写成th ref,我们超链接的地址呢,就应该我把这一串全部拿过来,来写一个Dollar符大括号,我们原本的地址,那就是这一串,再来拼接上一个我们的订单号,Order SN。
08:30
那就是它,然后呢,我们在这来写一个去支付,那先来重新启动一下你的这个秒杀项目。包括呢,我们把这一块的数据我来清空一下,这个人呢,已经秒过了,我把这个去掉,然后呢,我们现在来重新秒杀,包括他的这个秒杀的商品的这个库存量,库存量呢来给上一个十件。来点一个save,好,我们现在来开始秒杀,来到我们的这个购物车的这个项目,我们先来到我们的商城首页,这首页呢,我们现在保证是登录状态没问题,那能参与的秒杀商品在这一块呢,肯定就会查到,但是这一块呢没查到,那说明我们这个秒杀的所有商品信息都已经过期了,没有任何秒杀的商品啊,那么再来给他改一下这个时间,好,我们来改一下时间。
09:16
调整一个日期时间,那这个秒杀商品呢,我们把这个时间同步关掉,来重新修改一下时间,还是指定成我们的这个14点,好,我们这个14点的这个时间来点一个修改,们来确定一下我们这个秒杀的商品有上限,好没问题,那们来点这个秒杀的商品,我们要立即秒杀,那点一个抢购,抢购呢,现在来到我们这个页面,恭喜我们这个秒杀成功,十秒以后呢,我们这个跳转自动支付,那么这个去支付的按钮呢,没有。那如果我们再来秒杀一次,那再来秒杀一次呢,那我们就是失败信息这一块没有提示,所以我们就可以在这个页面来展示一下失败信息,那否则的话,我们来写一个div div th if,如果我们来现在拿到的这个订单号是一个空的,Order SN直接等等,那样的话,那这个就是秒杀失败,然后呢,我们就叫手气不好,咱们这个秒杀失败,咱们这个下次再来,所以这是我们这个提示,然后包括我们的超链接这一块的地址信息,我们这个超链接呢,肯定是在这来渲染的时候错误了,导致我们这个超链接的数据没显示,我们可以去商品服务,哎,不是商品服务,是我们这个订单服务,如果一切正常的话,我们这一块没有提示,那这个超链接那就是对的好,我来CTRLF9那页面呢,重新刷新一下。
10:40
那现在再来看一下我们现在的信息来刷新服务,现在呢,有一个内部异常来看一下,这个内部异常来到这,我们现在这个订单服务呢,我们刚才刷新的这个异常这一块的nes这一块呢,不用看,我们把这一块直接清空,那就是服务还没上线成功,来重新刷新,好我再来刷新,那现在秒杀呢,就来说手气不好。
11:01
这个失败下次再来,那如果是成功状态。来重新把这一块呢,来清空一下走把这个K呢,只要移除掉,移除掉以后呢,我们这个防虫校验就放过了,那现在来成功状态库存呢,肯定还有我来刷新,那这个成功来找一下去支付右键检查元素,我们的这个去支付这一块呢在这儿,只不过这个文字信息呢有点奇怪,那么就把这个超链接呢,来改一下撕掉。我们就叫color read CTR f9,好,那现在呢,来重新刷新,那再次来做一个秒杀,把这个防虫校验来去掉,把这个去除,这个去除以后呢,接下来我们在这儿来重新刷新,来进行秒杀这块提示我们这个秒杀是成功的,那去支付呢,在这儿这几个字呢,变成了我们这个小红点状态,那就是我们这个去支付。我们把这个超链接直接放到H2里边比较合适,CTRLX好放到这。
12:02
CTRLF9。我们把这一块呢,重新去除一下。删除。那现在再来做一个秒杀,我来刷新,好,现在呢,我们发现秒杀成功,我来点击去支付,去支付呢,来到我们这个支付页,诶这个七毛钱也是没问题的,你们整个支付的功能呢,它直接是按照我们这个订单信息去来查数据的,然后这个流程呢,就打通了,包括我们这个只要一支付成功。我们的异步回调也会修改我们这个订单状态信息,当然我们秒杀服务的这一块库存,我们是已经实时上线的库存预热,所有的库存信息呢,都在里边,等我们这个秒杀结束了以后,假设呢,它还有一些库存我们在这儿上架呢,其实就应该给我们这个库存服务里边。早早的就把这个库存给它锁定住,比如我们现在呢,上下了20个,那么就直接给这锁定呢,给它改一个22,那锁定住以后呢,如果我们这个秒杀结束了以后,还有几个我们可以给它呢,重新加回去,那这个后边的其他逻辑大家都可以慢慢去来细化填充我们的主核心逻辑,那就是这一块,我们秒杀功能呢,一定要更快的执行,更快的释放,然后呢,我们也不能让我们的秒杀服务去大量的调用别人,把别人呢这个调用炸,所以我们现在呢,全部是使用队列来做一个消分处理,那么秒杀功能的简单逻辑呢,我们就做完了,剩下的一些细化信息那就留给大家了,我们主要呢包含这几个细化信息,我们为了测试方便,期间这些东西呢,都没给过去数据,大家在上架的时候呢,我们这个上架秒杀商品的时候,秒杀商品的时候,然后呢,每一个数据都有咱们这个过期时间。
13:50
因为这个只要它的活动一过期,它的这个过期时间呢,我们都可以来给他做一个设置,这是第一个,然后第二个我们这个信息,我们可以来做秒杀的整个后续的流程,秒杀后续的咱们这个流程,我们现在呢是来简化了,简化了我们这个收货地址这一块的计算,这个收货地址等这块信息的计算等信息,特别是我们SQ的这些信息呢,我们都简化了,这块呢,大家都可以来进行处理,那秒杀的简单业务呢,我们就先写到这儿。
我来说两句