00:00
来啊,下面我们来再加一个函数,诶写完这个函数之后,其实啊,我们要用到的函数呢,还有还有几个,我们再写一个,再写一个呢,我们这个呃就回到前台来实现那个点那个按钮呢,来添加购物车,诶这个中途呢,你写着写着发现呃有一个呃还需要还需要更新什么或者什么啊我们再来加,我一次性写出来,这个怕太多了啊,其实如果呃整个的呃添加呃这个整个点购物车这块啊,包括后期呢,我们修改购物里边的购物车里边的购物项,包括清空购物车等等这一系列呃涉及到的函数呢,如果你能想到,可以一次性把它写完,对吧,那这个如果比如那个呃,你刚开始写的时候,比如想想不到到底应该创建什么函数,你可以这个,呃,在前台这块啊,你点点那个添加购物车的时候,那肯定要插入购物车,就是把这个购物车添加到数据库里边,还有购物量添到数据库里边,那这两你肯定能想到,所以你可以先把这两。
01:01
假入给家长,那加长后期你这个实现的时候,你发现哦,我这个呃,还得因为这个逻辑啊,里边这个逻辑很很这个很复杂,哎,你这个呃不能在前台,比如获取完之后呢,你获取这个图书I1了,那这个这个图书呢,在你原来的购物商里边有没有,诶如果有诶只需要把那个数量加一就行了,如果没有的话呢,我就得创建一个新的购物项,然后把它给添加到这个购物车,诶这个添加到数据库里边,那同时呢,你这个购物项你还得添加到购物车里边,所以这里边这个逻辑啊,你这个必须得清楚,那否则呢,你这个实现进来就比较的困难了,好啊,我们再来加一个函数,那再来加那个函数呢,哎,就是这个我们来获取这个购物车,就是根据这个用户的ID来得到这个购物车的内容。诶,那这个我们返回的呢,返回一个card,返回的这个购物车里边呢,这个所有的信息总数量啊,总金额呀,包括购物项,诶这个购物车里边那个切片购物箱里边都有哪些内容,包括这个购物箱里面的图书信息啊,都都包含都包含,首先我们来实现一下它为什么要写这个函数啊,你想那个将来哎,我们我们先把这个运行啊。
02:10
看让他给你说啊。点儿。点斜杠,慢点exe。我们运先运行起来。哎,比如呢,如果你是第一次来啊,第一次来这一个,呃,来这个网站,然后访问这个数城项目的时候,肯定这个数据库里边是没有这个用户的个购物车的,哎,对吧?哎,没有他的啊,没有他的斜杠们好,你比如第一次来,哎,我来电登一下,哎,比如来一个阿密阿密。123456啊登录转到主页,那来到这之后呢,你第一次比如买它的时候啊,肯定这个数据里面是没有这个购物车的,对吧?哎,没有这个购物车,但是呢,你如果你要第二次,你比如再买一本图书的时候,这个时候数据库里边是不是已经有它了,对吧?已经有它了,所以呢,这个时候啊,你得根据这个用户这个ID来看一下数据库里边有没有这个购物车,如果有的话,你你就不需要再查入这个购物车了,那就是哎,在这个获取这个购物车里边那些购物项,看看购物箱里边包不包含这个图书啊,这个来判断啊,如果包含的话,我把它数量加一就行了,如果不包含的,我再创建一个新的购物项,哎,就这样这个思路,所以呢,我们得有一个查这个购车的一个呃函数,所以呢,诶,我们来把这个来加一下,找到我们的,那这个呢,我们就加到这个cut Du里边了。
03:35
哎,这有一个ADD cut,所以呢,我们还得写一个什么呢,获取。Get cut by user的一个ID,诶,根据这个用户,根据这个用户的ID去数据库里边找他对应的这个购物车,购物车看有没有好,根据这个用户的这个ID。
04:02
好,哎。Get cut。U的ID。那在里边传什么呢?啥呀?看我的是什么类型啊,特传U的ID啊。User ID,好,那返回,那我肯定返回一个cut括号。Model点一个cut,好。一二。好,哎,下面的按来同样写这个circle语句。写circle口了。好,哎,Select。
05:02
ID,第二个是total count,第三个是total amount。第四个是user ID。Ru。关于这个cuts,诶,Cuts我们来看一下啊,我们这个字段,诶,ID total count total amount you的ID,好没问题啊,把我们这个看where user ID等于问号,好就是这个啊,就是这个根据它,嗯,这个来。查询这个数据库里边有没有用那个购物车,下面呢,我们来执行一下。加一个DB,加一个very肉。So。的一个ID。得到一个肉。
06:03
好,那下面呢,下面呢,我们,嗯,这个扫描。来看一下我们之前写的这个cut啊,里面都有什么啊,Cut里边。有这一个。购物车的一个ID,还有一个这个卡的艾特姆斯,诶那现在呢,我们这个通过这个查询呢,肯定是查不到这个卡艾姆斯的,所以呢,我们还得进行第二步查询,把这个当前这个购物车对应的所有的购物项我再查出来,然后再设置进来啊但是这些东西呢,我们都可以设置进去了,都可以设置进去了,好诶,所以呢,诶来。还在这继续。我们下面呢该扫描了,所以呢,我们就要创建一个啊,创建一个卡。创建一个购物车cut。等于。Model点一个cut。
07:02
好,创建一个它下面呢,我们来扫描肉第一个SKY。And,第一个是cut,第一个cut ID,第二个是。Cut。第一个total count,诶总数量,购物车里边的总数量,第三个是一个cut,第一个total amount总金额,哎,第四个扫描的就是我这个U的ID了,是吧,卡点一个。的一个ID,好,这是这几个啊,这这几个,那扫描进去之后呢,我们这个里边,哎这些。购物车的ID总数量,总金额,哎,总金额包括用户的ID这里边都有了啊,就差一个字段叫cut it,也就这里边所有的购物项还没有,还没有,那所以呢,这块啊,我们还得查这个所有的一个购物项,来查所有购物项,那查所有购物项这个诶我们是不是已经写好了那个方法。
08:00
根据购物车的ID查所有的购物项,我们是不是。已经写过了。Get cut SP cut ID对吧?诶所以呢啊,我这块诶在这块呢,我可以通过这个呢,再调那个呢,把这个所有的勾线给它设置到这个cut里边啊,也是可以的啊所以呢,我在这块找到我们的cut Du,那现在啊执行到这之后呢。哎,我们这个呃,我们这个呃,Cut创业的cut里边呢,其他字段都有值了,就是那个cut艾斯所有的勾项还没有,所以呢,我们在可以在这再调,我们之前写好那个函数,把所有的勾项给查出来,这块好像我们这个艾给他。应该有个挨着吧。嗯。看一下啊。嗯,好啊,我们再来处理一下啊,先加一下它,虽然呢没有是吧,我们写的应该没问题,如果它不等于我们这个return一下有ER。
09:01
好,那有了它,下面来我们这个获取当前购物车里边所有的购物箱。好,诶,来我们这个。那个方法名叫get一个。Cut it by cut ID by cut ID那里边传的就是我们这个cut点一个。Cut ID,这样呢,就得到一个cut艾斯。哎,现在啊,我们来调一下它得到所有的这个购物项,然后呢,我把这个所有的购物项设置到这个购物车中。哎,所以呢,A来cut第一个cut艾斯,就等于我们这个cut艾斯。好诶那诶到这儿之后呢,诶,我们这个购物车里边啊,你查询之后呢,返回这个购物车里边就包含这个购物箱了啊包含购物箱了,诶然后最后呢,我们再把这个购物车呢给它返回就可以了,美它上一个cut。
10:14
牛好,就是这个啊,根据这个用户的ID去数据里边来查一下,来看有没有对应的这个购物车,好,诶这个写完之后呢,我们同样来测试一下。Ma测试购物车。好,哎。来,再写一个。一个get cut by。User的一个ID。TST行。Aty。T。来,嗯,把这个上面。哎,这是测试购物车的,我这一个。
11:00
上面的注标了啊。测试,哎,根据这个用户的这个ID。来获取这个购物车。好一个get cut get cut。By user ID。嗯。好哎,这测这个啊,测这个啊,我们在这里边呢,来写一下,我们来看一下啊,数据库里边cut里边有一个user,呃,二等于二的,那我们就来。Get cut翻user ID里边呢,传一个二,得到一个购物车,叫一个cut。逗号。等于。好,下面呢,来打印一下。一个。
12:03
ID为二。的这个用户的这个购物车。信息是。逗号cut。我们看这里边啊,有没有这个包不包含得到这个cut里边包不包含里面所有的一个购物项。来测试一下这一块,这大了。Getem by book ID啊这块还有一个。还有一个。还有一个卡ID的是吧,我们把这个好像改了啊。拜不开的,晚安。嗯。Book ID啊,还有一个ID这个方法。啊,方法我们把这个也加上啊加上。这个卡ID是66668888。那么把那个方法改了啊,不是一个一个参数了,所以呢,报错了,好我们测的不是它啊,是上面这个,我们把这个呢,已经改过了啊,已经改过了。
13:07
好,来测试一下。God hasa。来ID为二的用户的购物车的信息,呃,Cut这是这个cut ID就是我的购物车的一个ID就是它,然后第二个呢,是购物项,哎购物项我们来看一下购物项有两个一个两个好哎这个里边啊有两个是这个两个这个指针啊两个指针,因为我们这个里边设定的这个类型呢,就是这个卡台怎么的一个指针啊,看M指针,所以呢,这里边两个没问题,然后后边这个数量二十五零二二,来看一下二十五零二二好没问题啊,就是这个啊获取这个购物车啊,获取根据用户的ID获取这个购物车。
14:01
好,哎,这是这个,哎这个方法我们写完了,那写完之后,诶下面呢,哎,我们这个有了这个方法之后,其实方法还不够啊,还不够,那后期的我们这个写到之后,需要的话,我们再来加啊再来加好,那下面呢,我们就回到我们首页。找到我们的index。Wheels。Index好,哎,我们要做的是什么呢?点一下这个按钮来把这个图书呢,给它添加到购物车里边,诶就是诶把这个登录之后呢,点一下它,诶让他这个把这个生成一个购物车,添加到购购物车里边,那我要这个呃点它添加,所以呢,我需要给它。是不是要绑定单击事件了呀,对吧,哎,来给他绑定单机事件呢,怎么给他绑呢。先给他加一个什么呀。能加ID吗?不能吧。因为这个是不是遍历之后一个一个的图书都看到了,对吧?诶你要加idd都一样了啊,只能这个如果用ID来获取的话,哎,通过这块只能拿到第一个了,诶所以呢,诶是便利之后呢,这些哎有好多按钮,我们需要给它加class,统一给他们这个设置啊所以呢,这块加class有什么呢?A book。
15:18
嗯,图卡。好诶,添加这个图书,嗯,到这个购物车CTRLC,诶诶由于这块啊,我们这样,因为我们点一下它,诶想在这显示您刚刚将谁加到了购物车里边啊,这个您的购物车里有几页上面这个我们就不要了啊,你要你还得再查询一遍啊更麻烦了啊更麻烦这个先暂时不要了,等于我们点购物车直接看里边内容了,那就在这。前端这个页面里就不显示了,那我点一下它,诶这个这块显示您刚刚加谁加到了购物车,因为呢,只有这局部这一块啊,相当于更新了,所以呢,我们这个时候呢,呃,不发送这个同步请求了,我们来发一个异步请求,也就我们发一个A加请求,点一下它就是呢,你给我响应一下,您刚刚将谁加到了购物车里边,也就是给我响应一个这个这个书名过来就可以了,那就可以了啊,所以呢,我们这块啊,当然啊,你可以发同步的啊,我们这块感觉呢,就更新这块,所以我们就发一个异步的了,点一下它,你刚刚讲陕西大的购物车,刚刚讲这一大道购物车在这显示一下就可以了,注意来啊,我们先给他绑定单机事件。
16:19
往上翻,哎,这块引入了这个这块来。Script。福。括号。里面来一个function。好,来给。给这个添加购物车的这个按钮,绑定单事件。到了空号。点儿。ADD book to卡,然后呢,点了一个。
17:05
Function。来了一下,看有没有绑定成功。保存来试一下啊,有没有绑定成功,哎,刷新一下点好没问题点。连好诶没问题啊,末页连好诶所有的都绑定成功了,在这块啊,你不能给这个按钮设置ID,诶因为呢,这个是便利之后啊,在这个呃,RA里边啊,这个便利之后呢,得到的,如果这个加了ID之后呢,只能给第一个,因为通过ID呢,可以这个得到一个唯一的一个元素,如果要加载ID的话,它只能给第一个绑定一个登机实现,其他的就绑定不了,所以呢,这块我们通过这个class啊,通过class好,那这块呢,我这个。点一下它,我要把这个图书添加到购物车,那这时候呢,肯定要携带一个参数。那你要添加哪本购物哪本图书,你是不是得知道对吧,所以这块呢,我们把这个图书的ID给他传过去,诶所以呢,在这里边啊,哎,这个就删掉了,我们已经绑定成功了,获取你要这个添加的这个图书的这个ID。
18:15
哎,来一个book ID。等于啊,那个这个时候这个ID该怎么加呢。怎么获取这个ID啊?这里边儿也没有ID啊。所以这块啊,这块这个有个诶最简单的方式,呃,还还有你可以选择其他方式,比如在这个button下边呢,你可以整一个input隐藏域,可不可以。可以吗?嗯,在这个或者疤痕上边或者下边啊,你就在这整个隐藏域,然后整个不开ID,因为这块不是在这个range里边循环的嘛,那书门能拿到,那点一个ID就拿到了这个书的ID,所以在这整个隐藏域,那整个隐藏域之后呢,我们当前点的这个按钮,哎,他点一个next,就是他的下一个兄弟就是我们这块啊给你说一下,呃,打开我们这个这块,这个API在他这个,呃,这个。
19:12
筛选这一块啊,这块有一个什么呢?有个next,有个next这个方法或者说函数有个next,这个next是获取他的一个艾特,他的一个同辈的元素,就是他的一个兄弟,兄弟你掉一下,他就能拿到下一个了,就拿到下一个了,比如呢,你要在这块。哎,你在这整一个input啊,假设啊整一个input,哎整个ta等一黑的隐藏语,然后呢,这块指定一个这个name,诶name比如叫一个不ID。然后呢,点一个Y6,这个Y6呢,就是我们那个突出的ID了,有点ID,哎,这就是突出的ID,突出的ID。斜杠好整这样的一个隐藏域,这个时候呢,这里边呢,就有这个IP了,哎,这个返回右键查看源代码往下翻。
20:05
来在这个每个啊,每个这个button下面呢,就有这个图书的ID了,那现在呢,你可以呃获取它怎么来获取呢,我们现在点的是这个按钮,哎,这个特的跟这个八呢,是不是兄弟的关系。对吧,哎,他是他的一个兄弟,所以呢,你调这个next的方法,呃,调一下他就能这个找到紧挨着他的一个同辈的一个元素,哎后面的啊,这是后面的呃,这个呃元素紧邻的后面同位元素啊,同倍元素,哎,因为我这块呢,后边就一个八的后边啊就一个这个紧邻的一个同倍的,所以呢,就得到了一个input啊得到一个input了,那得到input之后呢,你再拿里边这个Y6这个name啊,这个值,这个Y6值就可以了啊,Y6值就可以了,这个name可以不要了啊,哎,直接获取这个外流值就行了,这是一种方式,那当然了,我们也可以,也可以不用它,有同学嫌这个麻烦,也有一个简单的方式。哎,把这个煮掉了啊,不要了也可以不用这种方式干什么呢?我们在这个八上面给他设置一个ID属性,把这个图书的ID给他。
21:08
点一个ID好,这样也可以,那这样直接获取这个button的ID属性就可以了。来,我们再来一次,返回右键查看源代码,那这个时候呢,我就把所有的读书的ID呢,附给了这个button的这个ID属性,哎,这ID哎这有哎,所以这个时候啊,Button里边这个ID属性值呢,就是突出的ID了,哎,我们只需要获取这个button的ID属性值就可以了,哎,所以啊,这样也行啊这样也行,这个就比那个要,哎,就快速了啊快了你那个呢,还得再写一个音input的,又比那个要。简洁一点啊,简洁一点好,那现在呢,我们就来叨唠符。括号。哪边这一个啊this把这个this包一下,因为你给这个按钮绑定那个单击事件这个盗对象刀符框呢,包一下转换成几块,然后点呢获取一个属性at tr这个方法里边呢,传一下属性名ID,呃传属性名是获取逗号,再设置一个呢,就是设置这个属性好得到ID,得到ID之后呢,诶下边哎,我们这个需要设置这个请求的URL了,设置这个嗯,请求的这个URL,请求地址啊请求地址比如说一个啊URL。
22:25
就等于哎斜杠a book,诶图card好哎添加图书到购物车,那当然了,你这个添加图书到购物时需要传这个,呃,不开ID请求参数,所以呢,来这个设置这个请求参数,来word一个parents。排吧,就等于我们用这个杰森的格式book ID。马号。不可ID。好哎,就是这样,然后下面呢,我们来发这个A加星求。
23:02
来刀了。点一个post或者get都可以啊。URL是必须的,然后呢是这个。呃,P啊,这是这个请求参数,然后是一个回忆调函数function里边传一个ISIS,这就是想应过来的一个数据啊,我以参数的形式传过来,好诶,写到这啊,写到这我们就先放这,先放这,诶看看这个请求呢,能不能发过去,诶等等我们后端这个代码都写完之后呢,详信息回来之后呢,我们在这个函数里边处入这个,处理这个RS啊,处理这个is,好,先放这,先放这之后呢,我们需要写这个at book to part来处理这个请求了。谁能找到我的们来在这写了啊,添加图书到购物车。HTDB点一个。没了。
24:03
写个ADD to。弹住了。加一个book to。还是写二吧。Cut,好,哎,来,我们来写这一个添加图书到购物车的这一个处理器函数,找到我们这一块看出了,诶,这样我们再来创建一个。新建一个文件,叫一个cut handler这样一个go。好,诶,拍。看了。名字名字,我起的名字叫啥?Book w http,点一个this。Bus。R星HTTP,点一个request。
25:04
添加图书到购物车。好,写这个大,哎,我们在这啊,先来获取一下这个图书的ID,看看这个有没有有没有啊。这个不开ID。等于加一个R点一个form y6。里边来一个book的一个ID,你看能不能拿到啊,能不能拿到来。一个print。要添加的这个图书的这个ID是。逗号book ID好。就是这个啊,添加图书呢,到购物车好诶写完之后呢,我们把这个关一下,我们来测试一下。CTRLZ。
26:00
够的。慢点,够。好,来刷新一下。啊,来剪解忧杂货店来看。诶,要添加的突出的ID,十一来中国哲学史。要添加的组数是三,没问题啊,请求可以发过来,而且呢,这个ID可以拿到,可以拿到,好,那再往下就咋吧。啊,又是这个说的比较不不用管它,一会我们再来改啊,现在这个请求给你发过来,那发过来下面呢,哎,我要这个把这个图书呢,添加到这个购物车里边了,那添加之前其实这块啊。我们这个得先看一下是否有那个购物车里边已经有这个这个数据库里边已经有这个购物车了,那这时候呢,我就得高调这个我们刚刚写的那个函数了。就是这个啊,根据这个user的一个ID。
27:00
哎,根据U的ID呢,来查这个购物车,但是现在这个U的ID我从哪得呀?对吧,我得调他了,看看有没有这个图书啊。这该怎么办呢?还有一个啊,将来呢,如果没有这个图书,没有这个book的话。诶,购物车里边没有这个购物车,你得创建购物车,还得把这个book呢,添加到那个购物项里边,因为我们那个购物项,诶那个呃,写的那个结构里边啊,是一个book类型的一个book,哎,是一个book,所以这块啊,你只有一个ID还不行,诶这个时候那你看我们这个model啊,我们这个model这里边呢,我保存了一个是个book啊是一个book,你现在只得到了一个ID还不行,所以呢,我们还得这个根据这个ID呢来拿到这个book。所以啊,这里边呢,我们把这个先写了吧,啊写了之后再再再再判断,把这个改了,改成一个book大写的ID,好,这是得到了一个图出的ID,我们刚刚已经测过了,是可以得到的啊,可以得到的,所以呢,来继续我们把往下写啊往下写这个呢,写个注释获取,诶要这个添加的图书的这个ID,好,这是获取到了,然后下边呢,根据这个图书的ID呢,来获取图书信息。
28:15
根据图书的这个ID干什么呢?哎,来获取这个图书信息,诶,怎么跑这了。好,诶,Get,我们记得有一个get什么book。没有getb by什么ID吗?我们book里边book。Book Du里边的没有根据图书的ID得到一个book吗?记得有啊get book带ID好啊没问题啊,有诶这个时候呢,根据图书的ID呢,就能拿到我们要添加那个book了,里边包括图书的书名,加个什么什么都有,哎什么都有,有了这个ID之后啊,我们就可以诶来book。逗号。
29:01
等于嗯,Get book by ID好,里边传一下我们这个book ID好,根据这个呃,突出的这个ID,得到这个补课的一个信息,好哎,拿到了啊,没有定义。啊,Dau。好,呃,根据这个图书的ID呢,拿到这个book,诶这个book有了,Book有了,那下面就是看一下这个,呃,购物车里边,所以呢,来这一个,呃,判断这个购物车中,哎是否。有什么呢?嗯,有这个当前这个用户的一个这个购物车。因为你这个第一次来没有,那第二次来肯定有,所以这块啊,得这个判断是否有这个购物车了,那这个时候啊,这个判断这个购物车这个数据库中啊,不是购物车中啊。
30:00
数据库中是否有当前用户的一个购物车,那现在需要有有这个用户的一个信息了,用户的ID该怎么办呢?对,这在给他怎么得到啊,用户的ID啊,用户的ID在哪了呀。对对,判断是否登录到对吧?诶好啊,哎,这个还记得很好啊,来找到我们那个在session Du里边对吧,哎,Is login这里边呢,我返回一个半来型,返了一个spring,那这块我们得改了。是不是返回一个30就行了呀。哎,对吧,因为这个判断是否登录里边有session了,是不是用户的信息,Session里边有啊用的ID对吧,所以这块啊,我们把这个呢也得改一下,哎呀,不不返回它了,那返回一个啥呢。返回一个session。返回个session啊,我们把这个呢,哎,又改了啊,又改了啊,回个这个session,这应该是model model点一个session,返回一个它啊返回给它好,那返回他这块呢,诶这个已经登录,诶已经登录。
31:06
Return。Ses好这块呢,嗯,没有登录。牛保存好,哎,把这个改一下啊,改完之后,我们之前掉这个的时候。我们之前在这。在哪钓的呀?登陆user。User handler。还是不handle了,因为我们这个方法改了,他怎么也不报错啊。在下面是吧。啊在这啊,判断是否已经登录啊,这个我们没要是吧。
32:00
啊,没要啊,那那是不是我记得有一个用的呀。这个先不找了啊,一会他报错的时候我们再说啊,我们再去改啊好,那现在呢啊,我把那个is logging判断是否登录的那个呢,改过了,改过了所以呢,在这我们来这个这块呢,诶添加购物车之后,其实啊,你也需要是一个登录的一个状态,哎不登录诶不行是吧?诶不登录不行,所以呢,诶这块那我们来。嗯,看的第,嗯,其实呢,我们这个肯定是一是登录的状态啊,因为你这个不登录的,你是看不到购物车这个超链接的啊,看不到的,嗯,来啊,找到我们的cut Du,我们刚刚。Handleler找到handleler在这来,那这个判断是否有他呢?这块我们来这个判断。这个是否这个登录。来调用。来返回一个不玩型的值。那这个布尔类型的值我们不要了,我们主要是要那个session的啊。
33:03
就等于什么呢,点一个is。Log in log in里边传一个R,传一个R好啊,得到30了,得到30之后呢,下面我们来获取用户的ID。所以啊,这里边上边这些这个呃,这些变量啊,我们都用到了啊,都用到了这一个user的一个ID,就等于session点一个user ID,好啊得到这个用户ID了,那下面就可以判断是否这个有这个购物车了,好来cut。卡。下划线就等于Du点一个get cut by user ID好,把这个user ID呢串进去user的一个ID好,哎,就得到这个购物车了,购物车好,下面呢,哎,得判断了这个购物车是不是有可能没有。
34:00
对吧,所以这块啊,If cut,如果cut这个不等于。不等于证明是不是已经有了,对吧,已已经有这个,呃,购物车当前用户,当前这个用户已经有购物车,已经有购物车好那else。我们先把这个else实现了啊,已经有的这块呢,处理呢比较的费劲,比较费劲,我们先把这个else给诶给写了,写完之后呢,我们再回来写这个if里边的啊,If里边的else来证明证明什么呢?哎,这个当前用户还没有。好诶,那没有购物车,这个时候我需要干什么,是不是得创建购物车,然后呢,再创建里边的购物项,然后一然后往里边添加了,对吧,就得往里边添加了啊哎,所以呢,哎这块。睡着了。
35:00
这个早晨啊,你们昨天休息了一天了,应该。不应该困难啊,不应该困难啊,啊这个证明当天用户呢,诶还没有购物车,那所以呢,这时候呢,我们这个还得一点一点的啊,往这个往里边这个添加了啊,往里边添加了,诶我这个需要什么呢?创建这个购物项,当前这个购物项,诶所以呢,诶来在这。哎,创建。创建这个购物项,哎,创建购物项,也就是现在呢,没有这个购物车,我需要干什么呢?我需要创建一个购物车啊,最终呢,把它这个添加到这个,呃,数据库里边啊,哎,需要这个创建一个这个购物车,呃,并这个。给你这个添加到这个数据库中,好,那具体的下边就是这个具体的一步一步的一个步骤了,好,那第一步。第一步呢,我们需要创建这个购物项,哎,得有这个购物项哎。来cut。Item。
36:00
就等于新model点一个。Cut aem,哎,Cut a,好,那这个cut item这里边呢,需要有这个。购物车的一个ID,所以呢,我们得还得这个创建这个购物车啊,还得先有这个购物车啊,先有购物车。来,我们先把购物车创建了啊,创建这个购物车。创建购物车啊,创建购物车先来先来看啊先来看。And model点了一个cut model点一个cut。好,那model cut里边呢,第一个需要有个cut ID,这个cut ID呢,我们这个生成的呢,就通过那个UUID了啊UID了,诶所以呢,诶来。我们把它写到外边吧,来创建这个购物车啊什么呢,生成这个。生成这个购物车的这个ID,来这个cutd。
37:01
就等于,就等于我们之前写过一个Du啊,不是U。点了一个create u u ID。哎,我记得有这样的一个函数啊,哎,生成一个这一个,哎,唯一的一个数,唯一的一个串,唯一的一个串cut ID,好,那有了它之后呢,诶,来我们这里边cut ID。Cut ID,哎,就有了,好,就这个啊,那其他的下边的像这些cut it啊,还有这个total count呀,Total amount u的ID,诶,我们只需要设定下cut ID跟U的ID,还有这个cut items就行了,里边的total count total amount是不是它自动的,你把购物项加进去之后,它自动就有了呀,对吧?因为里边有get方法啊,有get方法哎,好,哎,这个cut ID设置进去了,那同样下面的user的ID,诶,我们也需要这个设置进去,嗯。U的ID,这个我们的user。ID好诶有的ID,诶我们设置了这两个,那设置两个里边的这个cut it斯还没有这个cut斯也需要我们来创建,创建完之后呢,再添加进去啊,创建完之后再创进去,好,这这个第一个啊,创建这个购物车,诶好,那下边第二步我们需要来创建购物车里边这个购物项。
38:22
购物像你现在这个购物车里边呢,只有这个购物车的ID,诶还有这个U德的ID,但是这个卡安姆斯这个切片的购物像还没有,所以呢,哎,我们需要把这个购物项也给它创建了,只是现在呢,你比如点第一次,诶,它是只有这个切片里边只有一本啊,只有一本图书,只有一个购物项,只有一个购物项,好诶那现在呢,创建购物车中这个购物项。我们得先创建一个这个切片是吧,嗯,Word一个一个cut at姆斯。切片,因为一会这个切片呢,要添加到这个购物车cut里边啊,叫一个model。点了一个cut ato,哎,Cut ato好哎这样的一个类型,那下面呢,来cut ato就等于。
39:07
And model点一个cut item,哎,Cut item好,哎这里边呢,哎来创建这个购物箱了,购物项里边,哎第一个呢,是cut item的一个ID,购物项的ID这个呢是插入到数据库里边,是是自增的,不用管它,那第二个呢,就是book,诶你这个cut item里边这个book到底是什么?所以呢这块哎book我们刚刚查出来那个book用到了,这是上面这块啊,我们这个根据ID得到这个book我们已经用到了,要放到购物箱里边了,放到购物箱里边了,所以呢,这块上面这些变量呢,一会会诶都会用到,好book可有了,再往下就是这个count了,那我现在呢,诶刚买这一本书,所以呢,这个count设置为多少啊。设置为几啊一吧,哎一哎第一本嘛,哎就一本啊就一本哎这个我买了点一下,它之前没有勾项,所以现在肯定是放进之后是一,那among呢,它也是按自动就有了,你就有了数量之后,Among就有了卡ID。
40:05
是不是刚刚生成的这个cut ID,诶这个购物项呢,这个购物项是属于上面这个购物车的,诶所以呢啊这个哎,它这是通过这个外径关联它的啊在数据库里边,好诶这是这个cut的I里边不可有了,诶这个数量有了,那当然了,这个镜额小D,它里边有个get号码,诶也有了这个cut ID也有了,Cut I有了,好诶那这里边这个内容啊book呀count什么都全了啊全了好,那全了它之后呢,我们需要把这个购物箱呢,添加到这个切片里边。这块啊,我们在这给你给你写详细一点啊,这块什么呢,我们声明一个切片。好,这是它,然后呢,将这个呃,购物项添加到这个切片中。
41:02
好,来卡特艾特斯。等于。哦,Openend,看爱怎么撕。逗号cut item。好,这是将购物项添加到切片中,然后下面你是不是还得将这个切片添加到购物车里边。切片设置到购物车中,设置到卡灯吗?哎,所以啊这块呢,这个哎切片有了,里边也有购物项了,哎所以呢,我这个cut里边是不是还缺一个这个cut斯对吧?哎,所以呢,诶得把它设置进去,诶所以呢,哎来cut。第二,一个cut艾斯就等于我们刚刚创建的这个cut。A,诶,就是它啊,就是它,诶所以呢,这一步一步啊,一步一步,你这个少了哪一块呢?它都缺缺东西了啊cut ato cut items,好,那现在呢,我把前面也设置到cut里边了,那走到第44行,执行到第44行之后,我这个cut里边。
42:07
这个cut里边啊,是不是这个cut ID有了,然后cut也有了,那这个有了cut之后呢,To count跟total也有了,右的ID有了是不是就全了,对吧?有全了然后呢,我们来将这个购物车保存到数据库。呃,Cut,哎,保存到数据库中,好,诶,我们呢,写过这样的一个方法,我们把这个啊,这个函数上,我把这个函数呢,再来看一下,找到我们的cut DA,诶,来,我们往上翻,ADD cut at cut里边传一个cut,诶,音色的into,这是插入我们那个购物车的,然后再往下,是不是便利了,里边这个卡的爱姆斯又把购物项给添加进去了。对吧,这是这个第一啊,我们之前准备好的,好下面呢,来我们来调一下这个。Do点了一个ADD cut,好把这个我们刚刚穿的这个cut,哎加进去来加进去好,哎就是这个啊,就是这个好,我们把这个呢。
43:06
Book book汉德,诶这块呢,终于报错了是吧。调用它的函数判断是否已经登陆。这块呢,应该是一个。Session。我们不是改了吗?对吧,改了这块呢,Session点一个user。Name,好,他终于。感受到了是吧,感受到我们改了好啊,哎,没有问题了,这是我们这个啊,把这个if这块给空起来了,我把其他那些关掉。哎,把衣服这一块,我根据这个用户的ID,哎呀关错了。看看到了在这块啊在这块再说一下,我们这个前台呢,点那个按钮的时候呢,给我传过来了一个图书的ID,哎,传过来一个图书ID,我在这呢能获取到,我们测过了,然后呢,根据这个ID呢,我得到这个图书的信息,就是调我们之前写的这个函数get book by ID,得到这个book之后呢,诶我需要用到user的ID,所以呢,我们之前写过一个这个函数来判断是否登录的,哎,我们这个里边呢,得到session,得到session之后呢,我们来得到user ID,下面呢,根据这个user的ID看看数据库里边有没有,诶这个购物车,诶所以呢啊来查一下调这个get,看by u的ID,我们刚刚写的那个函数,如果这个cut不等于闹就证明呢已经有了,那else就明它等于到了啊,等于到了之前我们这个呢也测过了啊,我们可以再测一下,比如我们这个cut Du这块,我们刚刚写的个get cut by u的ID,诶我们这个刚刚传的,点开这个test啊,我们可以再测一次。
44:43
刚刚已经测过了,二是有的,那我们来换一个,我那我改成这个三,哎,看看有没有购物车。来来啊来来,再测一下它终端,打开go test。Test好,来看这个ID等于三的这个用户有没有购物车,诶是不是没有对吧?哎没有,所以那块啊,我们这个写的那个判断,为什么写它,哎就是诶因为这个原因,你得看一下之前有没有,有的话我再进去之后呢,来具体的再写其他一个代码,所以呢,我们把这个有的这个先空起来了啊,因为这里边这个代码呢,还是比较比较的繁琐的啊,比较繁琐的那else就证明你现在买的这个图书呢,现在购物车里边还没有,还没有这个用户,这个用户还没有这个购物车,所以呢,怎么办呢,我们就需要这个创建购物车,然后呢,把它一步一步呢添加到这个数据库里边了,诶那购物车里边呢,有好多内容,像有这个购物项,所以呢,这块啊,就写了这么多啊写这么多哎,第一步呢,我们创建购物车,创建这个购物车的时候呢,里边这个卡的ID我们是通过这UID生成的,还有U的ID我们已经得到了,所以呢啊设置进去了,设置进去之后呢,这里边还有这个勾项。
45:50
一旦这个购物项所有的购物项有的话,总数量跟总金额就有了,因为是便利它之后呢,把那里边的购物项一个一个给加起来的,所以呢,我们在这刚开始呢,只需要设置一个cut ID跟new ID就可以了,然下边呢就是创建购物车中的一个购物项了,哎,创建购物项,因为这个创建购物项之后呢,购物车里边是一个购物项类型的一个切片,所以呢你创你需要先声明一个切片,声明完切片之后呢,创建那个勾物项,创建勾物项的时候里边,哎我们上面得到那个book就用到了,诶这里边呢,哎把book可设置进去,把数量,因为刚来第一次买,所以呢count是一设置为1COUNT,一有amount就有了,哎,Cut ID我们上面已经生成了,所以呢,你在创建这个勾物项的时候,Book呀,Count呀,Amount呀,还有这个卡的ID都有了,因为上面这个购物项的ID让它自增的,不用设置,插入数据库,它自动就自增的啊自增了,好那有了它之后呢,下边这块呢,你需要将这个购物项呢,添加到切片里边,就上面上面的这个切片啊的切片,呃,这个添刀切片之后呢,下边就是将这个呃切片设置到这个cut中,那就这是这个写成。
46:51
像这个。呃,第三步吧,创建一个购物车中的一个购物项,哎,生明这个切片,然后这个将切片设到这个啊卡。
47:02
哎,我把这个,嗯,把这个改成第三。然后呢,这个第四步啊,就是保存了啊,第四步就是保存了,好这是这个,那这个写完之后我们来试一下啊,看看呢,我点一下那个按钮,能不能来在数据库里边生成这样的一个这个呃,购物项,诶要生成这样的一个购物车,诶以及对应的一个购物项,好来试一次。CTRLC。好,来go build,慢点go,希望没有人没有没有错误啊。来,斜杠,慢点一个。我们现在还没有给前台响应啊,先我们先不给他响应,我们执行到这,看能不能这个在数据库里边呢,创建一个创建一个cut啊重新cut好来诶返回。嗯。E。
48:04
诶,怎么了?哦哦哦,我我我我说这个啊,服务器没有起呢是吧,没有起呢啊来啊这个傻了是吧?好了啊,这个我们来看一下这个数据,这个我们的购物车里边,哎,现在呢是呃,U到等于二的,还没有U到等于三呢,我们现在是不是额三呢。D me1是吧,Din是这个in这个ID,看看是几啊,应该是一,我记得啊,User表d me2,哎,已经有了,那换一个用户啊,换一个用户,哎,S里边啊有这么多了,哎,来啊,换一个用户啊,注销一个。不用他来登啊登录,哎,我们来一个ADMIN3。123456登录换一个用户登录,转到主页来看DIN3。
49:03
呃,人命三。ID是三好没问题,我这个cuts里边呢,这是ID等于二的一个用户admi啊好没问题,好现在呢,购物车里边,诶没有诶没有没有他的一个购物车2003好现在啊,我们来买一下,看有没有问题,点加入购物车走好诶看有没有报错啊,诶没有报错,那现在来看购物车里边有没有他的一个购物车就数据库里边。卡的刷新一下。好,诶进来了一条,诶这个买了一个总数量是一,花了27块二,谁买的呢?额的命三好,那这个总数量是一,到底买的是什么书呢?看看这个购物车里边这个购物项点开。27块二,诶没问题吧,诶就是他啊就是他,哎,所以啊,这是第一次,之前没有购物车,我现在呢,给你创建了购物车里边对应的购物项也有了,那这个购物项是谁呢?就是我们刚刚的那个,诶就是这个外键给它关联的,好就是这个啊这是第一步,在没有购物车的呃时候,我们来添加购物车这个,哎,我们完成了,好啊,那下面啊,你先把这个写一下,然后呢,我们来写中间这一块,中间这个。
50:18
它不等于闹就证明有购物,车售这块我需要干什么呢?你想一下我是不是得这个根据这个图数的ID,先看一下有没有购物项对吧?诶如果有购物项,我是不是得把那个购物项给它里边的数量给它加一,如果没有购物项,我是不是得创建这个购物项对吧?这里边这个步骤啊要比它要多,哎,我们先这个空档啊,一会儿再说,哎,那你把我们刚刚写的这个啊,自己呢先写一下,一会儿呢,我们再来写这个if里边这个里边的代码。
我来说两句