00:00
前面我们支付成功已经能跳到用户的订单列表页了,那接下来我们要做的就是可以查出这个订单列表页的所有数据,但这一块呢,还是一个分页,而且呢我们还是一个远程调用,我们现在是会员服务要查订单,咱们现在呢先快速的来订单服务来编写一个订单的所有的分页查询,我们来到这个订单服务这个controller,而且呢,逆向生成的这个订单controller里边,它本身就带一个分页查询,但这个分页查询呢不够,因为条件呢里边也简单,而且呢,我们现在还要用订单详情的数据,除了有订单还有订单项,而且呢,我们还是查的是当前用户的,肯定不是所有的,咱们现在自己来写一个方法,比如现在这个远程服务的这个controller里边,我们来写一个get mapping get mapping,我们这个get mapping呢,我们就叫list with item,我们也能查出订单详情数据的好,然后呢,同样也是一个分页查询,以前该怎么还是怎么,现在呢,希望有一个方法叫。
01:00
Corry page,我们就写一个位置item,我们拿查出当前用户的所有订单数据的们给它放到了这个配置数据里边,好,我们来创建出来,创建出我们这个方法以后呢,我们接下来再来创建出它的这个实现,得到这个实现,然后我们自己来调用封页来写我们的这个方法,把以前的这个封页呢,直接拿过来,以前的这个封页方法CTRLC直接一复制来到我们这一块呢,我们来看一下那这一块的方法编写,来查询我们这个订单里边的所有数据,但是我们这个waper大家注意corry waper我们是当前用户,所以我们现在呢,要查的是当前用户的,每查一个订单,每一个订单呢都有一个标识,比如我们这个订单表里边呢,有一个会员ID,我们OMS订单表有个会员ID,那现在按照会员ID场会员ID怎么办呢?所有调用我订单服务的你都必须登录,那登录以后呢,我们这个拦截器里边也直接有,所以我们直接从拦截器log更。
02:00
Intercept里边就拿到当前用户点一个get,把当前用户的ID往进一传就行了,好,我们来传入的是点一个get ID,而且这个请求呢,我们不给他放行,以前我们这个登录呢,我们还可以有一种方式给他放行,那么现在呢,也不放行了,你的这个请求除了你查订单状态,剩下呢你都必须登录好,现在呢,我们这个整完了以后,那现在这就有一个分页查询,我们查出当前用户那这一块信息,并且呢,我们可以让他排个序,比如这个order吧,我们这个升序还是降序,我们来写一个order。把decc,我们可以按照某一个字段来进行降序,我就按照订单号来做一个降序排列就行了,或者按照订单的ID,我们这个订单的ID呢,它是一个自增的,所以降序总是能拿到最新的订单,我把最新的订单呢,就摆在最前边,这个东西呢,降序排列完了以后呢,这是我们查出的这个分页数据,这个分页数据呢,当然查出来的这个不够,因为我们这个数据里边的所有东西,我们这个订单项,我们除了这个有订单外,我们还要有订单项,所以我们给这个订单里边,我们为了方便呢,也直接给它里边封装一个订单项来写一个list,然后呢,我们就叫order item实体类,我们就叫aem entities,把所有的订单项呢,全部也封装到这儿,所以我们在这一块查出来以后,把这一块的数据里边的所有数据。
03:28
拿过来,我们现在呢,重新把这个订单项,这是每一个订单,我们来给他便利,便利呢我来给他写一个map,把每一个订单拿来,重新来再查一下当前订单的订单项,然后呢,把这个再设置给当前订单,因为订单项呢有很多item editities,设置好了,把当前订单一返回,然后呢把这个东西一收集,Collect to list。所以我们现在呢,要做的就是再来查出当前订单的所有订单项,这订单项呢,我们就调用订单项的这个service,诶我们这儿也有直接呢,有一个list,就我们就来list有一个corry wraper,我们按照这个条件查询,现在查的是订单项,Order entity,订单项里边点E口,E口什么呢,这个订单项是跟订单唯一关联的,所以来到我们这个订单项表,改一遍表,我们来看一下,在订单项里边呢,每一个订单项都有它这个订单信息,所以我们这个呢,只需要按照订单号就能查出当前是哪个订单里边的订单项,那们按照订单号来进行查询,订单号是哪个呢?那就是当前订单的这个订单号,拿过来点一个got get order SN,好,然后我们把这一块呢拿过来,这查到我们的所有订单的这个详情信息,那把这个订单项的这个详情信息给里边一放,最终呢,我们返回所有的。
04:55
这个订单走。把所有的这个订单返回出去以后呢,我们这个配置里边的返回数据,我们就可以给他重新设置一下,设置record,那重新的这个数据呢,就是我们的这个order SN,然后呢,把我们这个整个配置对象利用配置U求呢重新返回过去就行了,那返回过去以后呢,来看一下这个效果,那现在呢,这个就是查询当前用户,查询当前登录的用户的所有订单信息,查询当前登录用户的所有订单,而且呢是一个分页查询。
05:35
所以呢,我们远程就可以来调用这个服务,来到我们这个用户服务里边,那用户服务我们刚写的这个controller就可以来调用了,所我们controller呢,想要查询用户的所有订单数据,我就希望有一个份份呢,专门来调用我们这个订单服务,Order份service调用我们这个订单服务的内容点过来,好,我现在调用订单服务的哪个,我们直接把这个呢复制过来,CTRLC已复制。
06:04
我们调用订单服务的这个,而且我们明确标注只要调用订单服务,那么就来写一个at,一个分client,那么调用订单服务分client该怎么调用呢?那就是它CTRLC复制过来,而且远程调用呢,如果我们传输对象,我们推荐大家在这一块呢,别用request per,使用request body,就是这个对象呢,我们可以Jason的方式给你传过去,所以我们在这远程调用的时候,这也一样使用request body,同样的把完整路径呢,我们全拿过来,这是我们的后置,把整个的前缀也复制过来,CTRLC来到我们这个phone service里边,另外我们在订单的会员的这个controller里边,来看会员的这个controller我们想要调用,那么现在呢,就是来到我们这个order phone service来进行调用的,然后呢,我们来写一个owa。
07:02
然后我们order phone service呢,就能帮我们来查到list所有数据,这一块的map传的是分页数据,所以我们来写一个map来准备一个分页数据,这个分页数据呢,就是一个string object,那就叫page,等于new一个,那这个哈希map来分页数据呢,我们希望直接从页面能给我们传来,我们这写一个string object这什么页面的数据,就像以前所有的分页请求一样,那也告诉他这个呢,也是一个request power等等之类的,那我们这个页面呢,应该给我们如果是封页,可以这么来传,不那么来写了,配page number,我们要去第几页,然后呢,每页有几个行了,我们就来说一个去第几页就行了,那就在我们这个里边,我们想要封装页码,怎么封装,看我们以前的这一块该怎么用,它的这个corry里边。
08:00
从我们这个P里边获取分页数据点进来,然后呢,掉了这个方法里边想要获取分页数据呢,都是获取这些东西,那常量里边的这这个配置呢,就是当前页码,这个limit呢,那就是每页的记录数,还有排序方式,现在只有一个配置,那来到我们这个会员服务,来到会员服务,那就希望呢,页面能给我们传一个配置,这是我们的配置number,页面呢,只要给我们传一个分页的页码request,那要求呢,页面必须给我们传一个number,你要去第几页?一个page number,然后呢,如果没有的话,默认呢,就是去第一页,然后我们接下来把这个page number呢,就put进去,Put的时候,因为人家查用的东西呢叫配置,我们就叫配置,我们要去第几页页码呢,就是这个配置number,这都是我们以前的调用方式,好然后把这个配置呢往这一传,然后我们接下来远程就会查询出我们所有的数据,然后这个数据。
09:05
我们来返回页面的时候,我们来直接把这个数据我们来放到我们这个请求域中就行了,好来写一个model,来将这个查询过来的远程查询来的这个数据,我们呢,直接放到请求域中,点一个and attribute,那就是orders所有的订单数据,那这呢有一个R对象,最终呢返回这,但这一块大家注意,因为我们这个远程调用去来调订单服务,我们订单服务这个方法呢,是需要登录的。而且呢,我们这个方法的调用,我们是相当于这个HTML页面,所以相当是拿页面访问的,因为拿页面访问呢会带cookie,所以呢,我们如果带上了cookie去远程访问别人,相当于别人只要有这个cookie也算是登录,所以我们为了让我们当次请求远程调用能带上cookie,我们就要设置粪,那就像以前我们这个订单里边一样,我们写一个粪的这个请求拦截器,在config里边有一个粪的配置,我们给配置一个请求拦截器,这样呢,每一次请求进来,我们先拦截来把它的这个cookie同步过来,我们再发出去,所以这个东西呢,经常也非常有用,只要是不是这个页面跳转呢,我们经常要用,所以我们就来放到这里边,好,来放到这个里边以后呢,CRV给这一粘。
10:27
粘过来以后呢,接下来我们就在这儿来做一个测试,那现在远程调用,现在远程调用肯定就有了,你们原程请求有哪些数据,那么这个cookie的这些信息都带上远程调用,先来做一个测试,把我们这个会员服务和订单服务呢,重新都来启动起来,然后呢,只要你跳到这个页,我就给你查当前登录的用户的这个订单,所以我们前提是我们当前用户得登录来刷新一下,现在呢,确实是登录状态,那接下来来到我们这一块呢,来查用户的订单。
11:00
来看一下我们的效果,先来等待我们这两个启动成功。好,我们现在呢,这个会员服务以及我们订单服务都是启动成功的接来只要我们访问会员的订单列表页面,就会查出当前会员的所有订单数据,来刷新一下这块提示我们这个500异常,来看一下我们的500异常来到我们这个会员方法,那在这呢,相当于传这个map的时候,点进来,来看一下我们这一块的调用是27行,那么在这传这个map的时候呢,出现了问题,我们远程的这个list with它我们要传一个这个map,我们接下来呢,就以断联的方式我们打在这,我们来看是远程请求执行的有问题,还是我们返回的数据这一块有问题,好来测试一下。我们先来重新再来刷新一下,好保证呢它有问题,我们现在以debug模式走,来重新启动一下我们的这一块服务,好,接下来我们来开始远程调用,我们现在呢先来测试,我来点一个刷新,来到我们的debug方法,然后呢,我们页面呢没有传封页,我现在这一块传了传了配置,然后我们去来远程调用,来step into,来看一下远程调用效果,远程的方法呢,在这真正执行step into,然后呢他来构造一个请求模板,在这一块构造的时候呢,我们就会利用拦截器把这一块所有的请求头者信息都放到里边,然后我们在下边excute and de code里边执行走来看哪一块出现问题,我们之前还给这一块呢打了断点,来看是不是这一块执行出问题,来点一个执行,来看一下response的响应数据是什么样的。
12:40
好,来看一下我们response呢响应结果,那response呢这一块直接响应404,那说明确实是我们这个远程方法响应的是404,那远程body呢,这一块404的原因,我们可以来看一下,他说远程这个order order list with item这个东西相当于没有啊,那对了,那这样写完以后呢,订单服务,因为我们写了一个订单服务里边写了一个新的crler,主要是给我们订单controller里边呢,写了一个这个新的方法,那这个新的方法我们写完以后就一定把订单服务呢给启动,我们现在订单服务呢给启动起来,剩下我们来直接放行,那这次应该就没有问题了,来到我们这要web controller里边来看一下这一次的效果,这样我们看一下返回的这个数据,我们把这些数据呢,全部都放到我们这个订单列表页里边,好,我们来重新来刷新一下。
13:31
好,我们来重新来把这一块呢清空,来重新来发送请求,现在呢,Debug来到我们这一块,那要远程调用,这一次呢肯定就没什么问题了,就直接进来step into,构造一个请求,然后呢构造一个重试器,接下来在这儿不停的重试v two,然后呢在这cute执行,执行呢,接下来就在这response client执行,来给它运行,来看一下我们这次执行的结果。这次执行的结果呢,这一块还是一个404 404的状态嘛,我们来看body body呢,总说这个是404,但实际上呢,现在没有404了,能给它放行一次,那么这个服务呢,刚启动起来,我们在这呢,如果来调用这个订单的controller,来看一下订单的controller,我们在这呢,会有一个order order,然后呢,List with itto,然后request body,对了,我们如果能调用list with ato,而且还传一个request body,这是请求体的问题,请求体呢必须只能支持post满,所以大家这一块注意,以后我们的远程调用,那就全用post满屏,而且传的对象全用request body,把这一块呢,一定设置好来到我们这个会员的份接口里边。
14:45
那就重新来写一个POS问题,否则我们这块远程调用呢,老是出问题来重新启动订单和会员的这个远程服,会员呢还是以debug模式,订单呢,我们让它重新启动,好,我们现在呢,保证我们这个会员服务启动成功,包括我们这个订单服务,那也要让它重启成功。
15:07
接下来呢,我们再来做一个测试,来刷新一下。好,现在来到我们这个订单服务进行远程调用step into,好,我们直接呢给它走到我们这个dispatch方法,Step into进来,进来以后呢,我们来执行excute and deco进来,进来我们再来看这一块,好,来执行远程请求,走来看一下此时的response能不能响应,好现在呢,我们这个数据返回来了,我们来看一下这个数据,所以现在呢,还是404状态,那404状态呢,我们再来排除一下吧,订单的这个order order list with item是404的,我们再来重新请求一下,来测试一下,好,我们重新来发送请求。来给它放行,我们直接放行到我们的这个response在这执行方法来运行,我们看到呢,他说request执行,我们这个鼓励mail member,我们这个会员的这个请求,这个请求执行用的这些cookie数据呢,也都有,而且呢带了一个数据是配置,等于一执行这个请求呢,是出错的,那这呢还是404看一下我们这一块的数据,远程请求8000端口8000会员呢,应该请求去订单服务。
16:17
我们这一块写错了,那是订单服务。我们在这呢,一定要调用订单服务好,重新放行。我们来重新启动一下会员服务,以debug模式,现在呢就成功了,好,我们来重新测试一下,来clear尔,然后呢,我们再来刷新,重新刷新。来到我们这个方法直接放行到它的这一块执行,执行以后呢,我来发送请求。这请求发出去呢,就会调用订单服务来给我们来进行查询,看一下我们最终的查询效果。好,接下来的这个response就有数据了,但现在呢,响应的是500,但是发给。九千一零端口确实发给这个订单服务了,只不过响应500数据,看一下500数据的内容,这块500呢,就是说明我们这个服务器异常了,来看一下这块异常来到订单服务里边,他抛的这个异常说配不能转换成string来点进来,那就是在这我传的这个palms调到前边,前边我们传的这个都是从远程方法整过来的,它这个呢要求是一个string,所以呢,我们现在来到这一块。
17:23
我们在这来调用配置number,我们就应该给他发一个spring类型,好来重新再来启动会员服务,这个会员服务呢,放行,重新再来启动以debug模式。那我们就参照这个debug,我们一步一步呢,把它调试好,好现在呢,我们这个就启动成功,启动成功们再来做一个debug刷新,好现在来到我们这个方法,我们直接放行到执行啊这一块,执行来放行来看此次的执行能不能成功,好现在这个执行呢,还是返回五百五百看我们这个订单服务,同样的说我们这个。转成string,转不过来,来这个方法在这儿,就我们在这get palm的时候,我们来看这一行27行,36行,就是来获取当前页码的时候,我们这个页码呢,会员服务调用的时候,已经给他传的是一个string了,来确定一下是没问题的,我们传的这个配置是PA number,点一个two string来改造一下这个query吧。
18:22
这个corry呢,老师拿到这个来做一个强制转换得了,也别强制转换了,我直接呢,拿到这个调用一个它的吐丝转就行了。好,那现在呢,重新启动一下订单和会员服务,这次呢肯定就没问题了,然后接下来其他的这一块啊,等待这一块呢,现在全部来启动成功来直接来测试一下。刷新还是读取我们这个订单500,我们来看一下我们订单这一块,订单这一块呢,再来往上找,它有一个unknown c,就是未知的一列,叫item enities,所以我们接下来就注意,如果我们一旦给我们这个订单服务里边,我们给数据库的这个实体类,我们为了快给数据库的这个实体类,我们来看一下它的这个实体类里边加了一个它,它呢,它就会去数据库里找,这个其实挺麻烦的,所以呢,我们来告诉他,他不是数据库的字段,Exist等于false就行了,让他呢别去数据库里边找。
19:24
家人们再来启动订单服务,接下来呢,只要我们这个订单服务调成功,那么这个在会员系统里边来看一下会员的controltler,会员controller订单服务一调成功,就会得到R对象,我们把这个R对象呢,给控制台打一份,那一会要在页面取,为了方便来给控制台呢,以一个JA森的方式,点一个to Jason string Jason string,把它转成一个Jason字符串,就把这个R对象它返回到这个数据。那一会儿呢,给控制台来打上一份,我们把这个会员服务也来重启起来,这个订单服务呢,我们来保证它启动成功。
20:01
先那一块数据类型转换异常,就那么先一解决,然后呢,再来到我们这个会员服务里边,现在我们再来做一个整体测试,现在来重新刷新,刷新保证我们现在要跳到我们的订单列表页,好跳过来了,那跳过来肯定就查到数据了,查到的数据呢是这个,那这个数据呢,就直接给页面里边取出来,CTRLC随便拿一个省格式化工具JA省格式化。工具来看一下我们页面该怎么取点进来。啊,就是它来调一个格式化,校验好接下来页面的所有数据,那么当前呢,是这个total count总记录数和总页码。要想得到总记录数和总页嘛,那就必须拥有MY贝蒂的这个拦截器,而这个订单里边呢,没有这个拦截器,所以我们在这一块马贝蒂斯的这个配置里边,我们必须加上贝斯的连拦截器,大家就参照以前的配置,那现在呢,为了方便就不加了,来到我们这一块订单列表页,我直接把这个数据取出来就行了啊订单列表页,订单列表页呢,是我们这个会员服务里边,会员服务里边会员服务的订单列表页。
21:15
在这订单列表页来展示我们的数据,看一下我们的数据结构应该是这样子的。我们右键检查元素,每一个订单呢,我们看到应该都是这么一个table,我们来看一下,确认一下,诶确实我们这一个table就是一个订单,我们就来找一下的这些东西,好,我们来C。那在这f v class table,把这些table呢,全部留上一个一个,然后呢,剩下的呢,我们都来删掉。早。我们现在呢,有这么几个table们留上一个,留上一个我们来进行遍历,所以呢,接下来有几个table,我们就要进行一个遍历TH,那有几个table呢,参照我们返回的这个数据,长这样,所有的数据呢,都在我们的这个message page里边的list是我们的所有订单,所以我们来Dollar符大括号,我们这个R对象会被放在这个叫orders里边。
22:16
好,Orders里边呢,有一个我们来看有一个什么,有一个message code和page,我们现在呢,要配数据呢,都在配里边,然后呢,配置里边又有一个点开将list list里边呢包装了我们所有订单数据,从便利的呢是它,然后呢每一个数据就是一个订单,然后接下来订单号这一块,我们来给它取出来,双中括号Dollar福大括号,订单号呢,那就是当前订单来看一下,当前订单呢有一个order SN就是这个订单号,点一个它没问题,然后呢,这是哪个。
23:00
旗舰店我们现在没有加入店铺,我们这一块什么旗舰店我们就不展示了,就叫国际商城吧,好然后呢,在接下来剩下的这个TR我们来一合并,那我们发现呢,页面上的剩下的这个T,我们来看一下这个t body。第一个TR是我们的这个订单信息啊,第二个TR是订单项信息,有多少项就有第二个TR就有多少,我们接下来在这个里边来便利订单项,订单项又在哪呢?其实就在我们当前的这个订单,当前的这个订单里边呢,又有一个item entities,它是订单项。所以我们接下来TH来继续来进行便历,便利写的是谁呢?我们就写的是Dollar福大括号,那便利的当前订单里边又有一个订单项,诶当前订单在外边的一制又有一个订单项,订单项的数据我们也放在这儿,然后呢,接下来这是这个图片,这个图片呢,我们最好固定上大小,要不然一会样式又很乱,来看一下这一块图片的大小,图片大小呢是60乘60,那么就直接给它死掉,固定住60乘60,我这个height height呢,我们现在是一个60。
24:17
PX包括呢,我们这个Y是我们这个60PX,好,然后它的这个图片地址,当前订单项的图片地址TSRC图片地址呢,在我们这每一个里边取出的这个订单项里边都有一个SQPHC,这就是这个图片地址,所我们来取出它里边Dollar福大客号item,就是当前订单项信息里边呢,有一个SKU piic就是这个。东西这个item就是这个item entities好,确定没问题,取出这个好,那接下来呢,这一块这个P标签就是我们订单的当前订单项的这个商品的标题,我们发现这个标题呢,它自己用BR来分割的,来看一下这个标题,这个P的长度呢,应该是二四。
25:10
二乘32,那我们就给它规定一下这个P呢,宽度,我们使用调好宽度呢,就是242PX,然后我们这个高度呢,那就是自动的。再来加上如果我们里边的文字溢出overflow,那文字溢出了就应该是换到下一行的这一块,我们不用滚滚now的,或者我们这直接让它自动决定了。好,现在接下来我们整个P标签的内容就应该我们把这个呢取出来,P标签的内容双中括号刀了伏。大括号P标签的内容呢,就是当前我们便利的订单项,订单项里边我们现在呢,商品有一个商品的名字就是这个SQ name,好主要是它CTRLC把这个SQ name呢拿过来,然后剩下的这个数量买了几件,双中括号Dollar福大括号item,来看一下这个数量我们来买了几件。
26:10
在这块呢,有一个SQ qua好,就是这个数量好没问题,然后我们来看一下这块页面呢,这个数量也有了,假是哪个用户买的,总额是多少。包括订单的状态啊,我们现在哪个用户买的,这有一个张三来找一下,看我们这个订单或者订单项里边。有没有我们这个是哪个用户买的相关信息。那现在呢,每一个订单相当于只有一个我们这个用户的ID,咱们这一块呢,直接来写成他的这个收货人的名字吧,Receiver name,好,我们现在呢,就在这一块来写成他收货人的名字来到我们这,那们现在在这一块呢,我们写成收货人的,那这一块确实也是收货人的名字,不是哪个用户买的,所们现在呢双中括号,由于是收货人Dollar福大克号,收货人呢是在订单里边,不在订单项里边,所以我们在这个外部的订单order里边,然后呢,有一个收货人把这个收货人叫receive name复制过来走,还有一个这个订单的总额,双中括号,然后呢,Dollar负大括号,我们还是在这个订单里边。
27:24
订单呢,有一个应付总额,来看一下它的这个总额,总额呢有一个total amount,我们来给它显示它的这个应付总额吧,好我们就来显示这个派,好来复制进来,那在这呢,就来显示一个这个总额,然后呢,包括我们订单的当前状态。这个跟踪呢,是我们这个物流信息,物流有了才能跟踪那订单的这个状态,我们也来展示一下,订单状态呢,由于我们有很多,我们可以来找一下我们这个类CTRLN有一个order status专门有这么一个枚举类,订单呢会有如下状态,所以呢,我们来到我们这一块,我们来做一个判断,来到我们这个页面这一块来编写订单状态的时候,这一块的L我们就来写一个th if,如果订单状态Dollar服大括号订单呢,就是我们取出来的这个order,第二一个你用上边便利呢,当前订单是order订单的状态,我们在这一块封装这来找一下订单状态status。
28:27
如果它的这个status等等,接下来我们挨个来判断,现在呢,从零到六有这么几个状态等等。零,那我们现在页面展示的状态,那就是待付款状态,CTRLC,那展示的是待付款,好接下来其他状态我们把这一块呢都复制过来,零。12345,还有一个六。我们现在呢,是这么六个状态,然后来到我们这一块,从零到六分别是待付款,已付款,已发货,好我们这个待付款。
29:10
页面数据就准备好了,CTRLF9,我们让页面呢重新编译一下,我直接来刷新一下这个页面,看能不能展示我们现在要用的这些数据,好把这一块呢关掉,来点一个刷新。好,现在来到我们这个里边订单号呢,是这个,诶这个订单里边一个商品,这个订单呢,已经被取消了,这一块订单状态呢,也是已取消,每一个状态呢,这一块都是对的,还有待付款,那没问题,然后发现呢,每一个订单项这一块显示了两遍,其实应该是这个订单项呢在这儿便利,然后这一块呢,让它在这每一个订单只显示一个就行了,那把这一块的页面效果我们可以来细化一下,来到我们这一块,我们看一下我们的这个订单项,我们来右占检查元素,那订单项的这个TD它很长,它是CSPA,相当于我们这个跨列跨了三列,123跨了三列,然后呢,接下来剩下的这个TD,那这个TD的话其实就显示一遍就行了,第一遍一显示,但是让它跨上两行,但是呢,能跨几行,就是看要我们有几个订单项,所以我们把这一块的样式呢,稍微来改一下,这块的样式呢,应该是这样子的,那再来便利。
30:24
每一个订单项的时候,好订单项的时候我们还可以拿到当前的便利状态,我们来再随便写一个变量ABC都行,我们现在呢叫item status,当前便利的这个状态,这个状态里边呢,有一些统计信息,我们应该比较好用,来到了大号给大家展示看一下CTRLF9,那看一下这块的统计信息,我们能用什么,看我们当前每一个便利状态index表示呢?当前便利第几个count就是这个计数,第一个呢,Count就是一,第二个呢,我们来看,如果有两个的话,这个有两个,一个是COUNT1,接下来第二个count呢,就应该是二,这块count呢老没上来,然后呢,还有这个size,这个size呢代表的那就是我们现在呢,总共有几个,对这COUNT1 count1 size2 size2,好,那我们现在呢,就根据这个变历状态,如果是呢,第一次变历,所以index等于零的时候显示一遍,它第一次变历呢,把它显示一遍以后呢,不显示了以后呢,我们让。
31:24
那它跨行跨几行,那就是我们有几项,几项呢,正好这有一个size大小,有两项,那就跨两行,每一个呢,都这么来做一下就行了,所以我们接下来来到我们的这一块,我们这个订单详情,这个TD跨三列的这个我们不用管,接下来剩下的这些收货人姓名的这一块,好在这儿这呢就应该有一个跨行,但跨行呢,它是一个这样子的,我们先来t if,如果是我们第一遍遍例index等于零的时候,我们第一遍呢把它显示出来,然后让它跨上几行就行了,以后呢都不用显示了,咱们先来th if Dollar符大括号,如果呢,当前遍历的这个索引index等等零,那就说明它是第一遍遍历我们这个index,然后呢,我们接下来就给它跨这个size行,所以呢,接下来来写一个属性叫TH,我们这个跨行呢叫row span来跨上几行。
32:24
然后呢,我们来写一个Dollar符,大括号aem status,点一个size,我们就是要跨这么多行,所以下边的每一个都这么来做,CTRLC这个呢,收货人是这么做,包括我们的这个总额也要这么做,我们每一个TD这一个两个,下边这个TD也要这么做,后边的包括收获的状态这个也要这么做,好我们来这么来做,一来以后把这个呢去掉,来看一下页面效果,CTRLF9,那现在来看一下我们的页面效果,我们来重新在这来刷新一下,保证呢我们这个显示结果正确,我来刷新,好现在我们看到这个显示结果是正确的,如果是一条,那这显示如果是两条显示一个,然后呢,这都是当前订单的总信息,那在这呢,好像少了一道线,这个线呢其实还好说,右键容易来,右键看雷凤阳这一块,然后呢,它的这个线呢,其实是border right,而每一个TD呢,它的右边的。
33:24
这个边框都是1SOLID的这个井CC,但是呢,来到第二个以后,我们看一下是不是第二个的问题,第二这也没设置啥,但我们来看这个第二个,第二个我们发现这个如果是第二个TD的话,它呢把这个border给变成none了,所以我们强制给每一个这个TD都给一个指定的borderder,比如我们在这呢,这有TD,我们现在便利每一个商品详情,好,在这呢便利便利出来TTTD呢,我们来都给上一个borderer边框,好,那现在呢来给一个样式style。
34:00
Style样式,我们就来写一个border边框,而且呢border right大家呢都是右边框border right,那现在呢,只调右边的这个边框,右边的边框呢,按照它的这个属性,有边框的这个人,我们来瞅一下右边的这个边框呢,应该是我们。这个来随便选一个e PX solid这个井CC,我们把这个复制过来放到这就行了,好把这个边框呢设置好CTRLF9页面效果重新来看一下,来看一下我们这一块的效果,来刷新好每一个这一块呢效果都没问题,我们这个订单的详情我在这呢就显示出来了。
我来说两句