00:00
现在我们这个购物车已经实现好了,诶这个添加,呃,最复杂的就是那个添加啊,这个我们把前面的这个方法呢,呃都写好之后呢,后边的这个删除啊,还有更新呢,就相对来说要简单一点啊,就是这个添加的时候比较复杂啊,你把这个逻辑呢,比较的繁琐。那下面呢,我们来实现这个去结账来,我输入一个DEINDMI3123456登录。啊购物车,那现在呢,购物车里边,哎,我这个精挑细选的选了这么多东西,哎,那下面呢,我们需要去结账了,我们这块这个设计的去结账啊,哎不是我们普通的那个,哎这个生活中那样点去去结账,什么弹出来什么网银啊或什么微信啊等等啊我们这个去结账呢,不用你付钱。哎,不用你付钱啊,你买图书呢,不用你付钱,直接呢就生成这个订单了,也不需要支付,那正常来说应该是付支付成功之后才有订单,对吧?诶我们这块呢,就是点去结账直接,哎把这个订单号呢,就在页面上给你显示出来了,同时呢,我数据库里边就会有这个订单,哎,就会有订单了啊当然了,后期呢,我们这块呢,后台管理那块,哎呀,会加一个订单管理,然后我这个后台呢,就看一下啊,我今天有这个收到了多少订单,就这样啊,那这个在去结账的时候,这个订单的要求啊,肯定呢,也要也要是唯一的,这个订单呢,肯定不能重复,对吧?哎,要体现出它的唯一性,这是这个要求,那第二点就是还有这个订单啊,你不能。
01:37
泄密就是你不能通过这个订单能透露出你的这个商业机密啊,也就是说不,我不能看到这个订单,我就知道你今天这一天,你这个商城里边下了多少单了,那这样呢,也不好,对吧,那肯定不好,那如果要是这样的话,我通过这个订单号,我就知道你今天这一天,你这个商城里边一共卖了多少东西了,对吧,一下了多少单,那这样呢,假设这个,哎呀,我们这个两个商场是竞争对手对吧,我就在今天的。
02:03
晚上的23点的59分的59秒,我下个单,然后我一看那个订单号我就知道啊,你今天才卖了这么点对吧,才收到这这个才诶有这么多订单,哎,我就知道这个信息了,所以啊,这个订单的一个要求,哎唯一哎这个不能透露出你的一个商业的一些信息,对吧?那下面说一下我们这个设计啊,去结账的时候取结账,我们要干什么呢?我们要把数据库里边,哎说一下啊,哎说一下我们要把数据库里边的总数量还有总金额变成订单,然后呢,哎插入到我们的数据库里边,这是这个啊就相当于一个转换的过程,把我们的原来的购物车呢变成订单了,把购物车里边的总数量和总金额变成了订单,同时呢,诶,我们当然了,有个订单号数据库里边呢,表里边会有订单号,有你买的商品的总数量,还有总金额,当然呢,还有你下单的那个时间,就你下一个单会几点几分几秒,就是这个啊。
03:03
有一个下单的一个时间,那另外我这个这是这个订单,当然呢,我们也要跟这个购物车的这个有点类似啊,但还不完全一样啊,不完全一样,我们会把这个总数量跟总金额呢,变成订单插入到数据库里边,那我们后台管理的时候,我一看啊,这个订单里边,我这个订单里边一共有12件商品,那么这12件商品到底我卖了什么图书呢?所以啊,这个时候诶,我们要把。除了这是第一步啊,把这个总数量总金额变成订单之外呢,我要把之前的购物项一个一个的购物项呢,变成订单项,也要保存到我的数据库里边,也就说我后期呢有一个查看详情,点一下查看详情,我就能知道这个订单里边卖了哪些书,那我们在第二个订单项这个表里边呢,就不再什么通过外店的方式来关联book了,我们直接把那些突出信息直接就放到数据库里边了啊就跟这个购物车的这个设计呢,诶有点不一样啊,有点不一样,我们这个购物车的这个购物项的设计呢,是通过一个外键关联的这个book,那我们个一会儿订单的那个设计呢,就不这样了,诶直接在这个订单项表里边,直接能看到书名,作者这个价格,还有这个经常小记也就不这样了啊,就不这样了,这样你看不出来到底什么书,还是接点一下这个外键啊,才能看到这个图书的信息,我们这个时候啊,就直接一次性把我们需要用的数据直接就放到这个数据库里边啊,作为一个字段来显示了,通过这个外键了啊,但是呢,这个订单项,你的订单项还得有。
04:31
有外键关联着我的订单,当然呢,订单里边也跟那个一样,也需要有个外键关联着用户啊,就是这样啊,就这样好诶那我们要实现这个呢,最终这个显示的时候,诶,我们一会儿会在这个后期会在后台啊多一个后这个订单的一个管理,那我们点订单管理的超链接呢,会把数据库里边所有的订单给你列出来,那这个订单列出来之后呢,也第一个可以显示这个订单号,然后呢,第二个就是下单的时间给你显示出来,然后第三个就是这个,呃,订单的一个总数量,卖了多少本书,诶这个总金额,诶这个收到这个收入多少钱,还有后边还有个这个订单的一个状态是这个发货了还是未发货呀,还是已经交易成功了,诶还有个状态,最后呢,还有一个查看详情,哎,我这一个订单里边,诶,比如有12本书,那这12本书到底卖了什么,我点一下这个查看详情啊,就能把这12本书给你在这个页面上给你列出来啊,这一本书,这一本书这本书,嗯,这本书买了几本,这本书买了几本,那我就知道啊这一天或者这个这一天。
05:29
这几天看哪哪哪个图书的一个销量好,对吧?诶发现了多买这本书,多买这本书,诶那我这个书呢,就知道啊这本书诶这个比较能畅销对吧?好啊,这是这块,那这个为了实现它,那我们同样啊,我们来再创建一个结构。来找到我们的model,来右键我们用一个文件叫一个order。叮当。还可。
06:00
好ta。Other来other好,这是这个订单,那订单里边呢,肯定要有这个ID了,所以呢,我们来整一个further ID吧。呃,订单号啊,订单号这个呢,我们转一个string类型,诶,因为唯一呢,我们唯一嘛,我所以呢,我们也同样用我们那个UUID吧,用UID来生成啊,或者你这个用其他的也行啊,你用这个UUID啊,或者再加下这个用户的一个ID啊,把它两个拼一块也是可以的啊,也可以的,只要保证它无一就可以啊这是什么呢?这是订单号,哎,订单号诶这个订单号的要求啊,必须得唯一,然后再往下,我们需要有一个生成订单的一个时间。我们叫一个什么呢?Create time吧。那这个应该是什么类型啊。
07:00
这应该讲成什么类型啊,Time是吧。时间。哦,哎,这是什么呢?生成订单的这个时间。好啊,生成订单的时间好哎,再往下再往下就是我这个订单里边一共到底我卖出去了多少本书啊,这个就跟我们购物车里边那个勒死了偷偷count,其实我们去结账就相当于把购物车里边那个转换成订单啊,就转换的一个过程啊,转换的过程只是我们现在这个跟那个设计有点有点不一样啊,有点不一样,哎,比那个要简单了啊,比那个要简单了,他看到这个呢,我们也整一个in特64。就是订单中的一个总数量,总数的这个总数量,好来再来一个total amount。FLOAT64,这是订单中。
08:03
图书的这个总金额。好诶再往下啊,这个总数量总金额,我还得有一个订单的一个状态,比如这一个state,哎,整一个in特一个六十四六十四。是什么呢?是订单中,这是订单的这个状态,状态我们这块啊,你可以设置几个值,哎,可以设定几个值,哎,比如呢零呃,如果是零的话,代表什么呢?未发货。诶,如果是一,比如那我代表已发货,哎,如果是二,代表什么交易完成。当然啊,还有你还可以设置更多的什么评价,退货等等啊,哎都可以设计啊,都可以设计,所以我们现在呢,就是三个状态,哎第一个这是站在我卖家的角度的啊,诶站在卖家的角度,零呢代表未发货,那如果要站在买家角度那块,我点我的订单时候,零应该是等待发货对吧?诶等待发货之后,所以这个时候啊,这个状态呢,是不一样的啊这这块诶整了一个订单的一个状态,然后再往下,诶我们这个呢,你这个订单属于谁?所以呢,有一个user的一个ID int64,诶这是用户的一个ID,给用户的一个ID,好哎,这个订单所属的这个用户。
09:33
好哎,只是这这些这个字段啊,A的ID123456啊,一共六个是吧,A的ID订单号。生成订单和订单号,诶这个生成订单的一个时间,一个总数量,一个总金额,诶还有当前一个订单的一个状态,到底发货了还是没发货,最后呢,你这个订单属于谁。属于哪个用户?好啊,一共这六个字段啊,这是个订单啊,这是个订单好,哎,那还有一个叫订单项,你这个总数量里边到底有什么,哎,所以呢,来再创建一个加一个a at。
10:09
第二购物跟我们那个购物车,哎,一个购物车,一个购物车,一个购物项,一个订单的一个订单项,好来叫tap。好,哎,这是这个订单项。结构好,哎,这里边呢,第一个呢,就是订单项的一个ID,那这个呢,我们同样啊,也让它这个自增,让它自增就可以了啊A的aem ID int类型,Int类型64。好,这是什么呢?这是这个订单下。那这个ID。
11:01
好,哎,那再往下你这个,我们刚刚说这个订单里边呢,假设有12本,那每一本,哎,这12本到底是怎么分配的,有几个这个订单项,有几个这个订单项,所以呢,下边就是这个,哎,这个数量了啊数量了count。再往下是amount float一个64这块,这是一个什么呢订单。相中什么这个呃,图数的一个数量。金额小记好,那有了这些之后,下面啊,我们之前那个购物项呢,是有一个book,我们在这呢,哎,不放book了,我们直接点开那个,呃,订单像上我们就知道是什么图书,哎,就不关联这个关键了,所以呢,我们直接把这些呢都列举出来,Title,哎,订单项里边这个书名string,好哎,这个订单项中突出的一个书名。
12:23
书名诶好,那下面呢,就是作者,诶订单相中读书的这个作者。哎,价格。直接把它都插到数据,插入到数据库里边了,不会再关联外键了,订单相中图书的这个价格。还有呃,图书的一个封面。叫。Pass。订单相中图书的封面。
13:06
封面好,诶,另外你这个订单属于订单项,属所属的这个订单有一个order的一个ID string,嗯,订单。订单下。所属的这个订单。好,这个字段比较多啊,12345678,诶一共八个了,对吧,诶一共八个了,好啊,这是这个,呃,订单项这个结构,那当然了,哎,有了这个订单跟订单项的结构之后呢,我们还需要创建这个表,所以呢也来在这块。叫一个。Table others好,哎里边呢,来第一个是这个订单的一个ID,我们就叫ID了啊这个呢,不是这个int类型了。
14:07
我们整一个what,就是spring类型primary。哎,逐渐诶不是自增,这是这一个,呃,订单的一个ID,然后再往下呢,就是生成订单的一个时间,我们那会叫一个什么呢?Create time。Create time,诶,生成订单的一个时间,那我们这块整一个什么呢?Date time时间戳一个类型,嗯。Not,一个not不能为空,然后再往下,再往下就是这个总数量total count类型,Not一个not。下面是总金额,Total amount。
15:00
Float。Double。11逗号2NOT,一个not。好,这个ID生成订单的时间,总数量,总金额,状态state int类型not,一个not,哎,下面呢,就是这个这个user ID了。In,诶,这是所属的用户123456啊,一共是六个啊六个字段啊,这个123456好没问题啊没问题,那下边呢,我们这个呢,U的ideal是一个外键,所以呢F。He user,一个ID reference。Users里边的一个ID,好,诶来执行一下,创建一下A表。好,成功了,CTRLX。
16:02
来circle打开下边创建。创建订单表。哎,再往下是创建订单项表。来,再来创建一个表。Create。Table。好,哎,这里边这个字段比较多啊,第一个呢是idt primaryma all to increment。哎,让它自动就可以了,然后第二个是这个count in。Not,一个not是当前这个订单项里边的一个图书的一个数量,第三个是一个amount double。
17:03
11。逗号二,闹一个,闹好再往下。这个ID数量amount,然后是title书名。作者。价格。11逗号二,好,再往下这个书名、作者、价格。还干啥了,突出的封面是吧,Image。我。图书的一个封面。
18:04
好诶,突出图面1234567,还有一个嗯呃的的一个ID。好诶,这是这个订单项里边这个订单啊,12345678好八个啊,一共八个,同样这个呢,也是一个外键。的一个ID。Reference。我的表里面的一个ID,好来执行一下走。好,诶成功了,在这块呢,F5。来啊,订单表打开,诶,这里边儿生成订单的时间,总数量,总金额,状态,用户的ID,然后订单项表啊,里边有个other ID,好没问题啊,问题来诶把这个呢剪切一下。
19:06
CX。CTRLV,好,诶,这是这个创建订单项表以及订单表这里边这个内容啊,我再说一下我们之前,诶这个呢,呃跟我们购物车跟购物项呢很类似,我们之前设置这个购物车的时候,诶,我们是把这个什么呢?设置了一个卡订单,这个购物车的一个表,然后一个订单项的一个表,订单项表,但是我们这个订单项这里边啊,我们并没有什么直接保存这个book的书名跟那个价格,因为我们这个购物车里边其实显示的就是这个书名跟这个跟这个单价,还有这些数量啊,并不是直接保证的,我们是通过一个外建,诶在这个卡apps里边啊,通过一个book的ID,一个外键的关联另一张表我们就知道啊,他买的是这本图书,哎,这本图啊,这是这个一个表里边有两个外键,那这个卡S就不用说了,肯定得属于某一个用户啊,就这个订单啊,这购物车属于哪个用户,但是我们在这个设计这个订单跟订单项的时候,也就是说我们现在点去结账,就相当于把购物原来购。
20:10
购物车里边的总数量跟总金额变成了订单。呃,就是把它插入到订单那个表里边,同时呢,又多了一个时间和一个状态,就是生成订单的时间,还有一个生这个当前订单的一个状态,然后呢,是把这个之前购物项里边这些购物项变成了订单项,哎唯一不一样的是什么呢?我们这个订单项这个表是直接把要显将来要显示的内容的书名,作者,价格什么,直接就以字段的形式直接在数据库里边给它整进去了啊并并不是我键了啊,并不我键了,诶这是这块啊这这块,因为我们这个生成订单呢,就直接诶这个将来那一点去结账,诶把这些东西呢,刷刷刷,就根据之前购物车里边那些,诶总数量,总金额插入到数据库,然后在便利里边的那个切片购物项,一个个的也插入到数据库里边,哎,把数名什么该拿的拿出来就可以了啊就可以了啊好啊,这是我们这个创建订单项啊跟订单哎这个结构以及对应的表。
21:10
我完成了,好,下课休息一下。
我来说两句