00:00
下面呢,我们来完成这个订单这块的最后一个功能,发货和收货这里边啊,你还可以这个加一些其他的状态,比如呢,什么退货呀是吧,什么评价呀等等啊,你也可以加啊,我们现在就整了三个状态,呃,未发货,发货这个交易完成,你当然你中间还可以整一些切磋的状态,比如什么呢,我这个呃等待发货呃发完货之后呢,我点确认收货之后呢,那个状态变成什么呢?哎,待评价对吧?这些东西啊,你都可以加上,诶都可以加上,或者说在整个什么退款对吧,退款你你你根本就哎这个退款就不用加了,你根本就没有付款是吧,直接去结账时,直接直接这个就生成订单号了,你根本就没有没有这个付款是吧?好啊,我们刚刚呢,实现的是点我的订单呢,把我这个,哎所有的啊,我这个超链接没改啊,这里边这个超链接没有改在这个页面里边,我们刚刚没有改啊,Order里边啊这块这个没改,所以呢,刚刚。
01:00
但是直接去到这个页面。把它改了啊,Get一个my order。啊,把这个改了我的订单。刷新回去啊返回哎,我的订单好,诶,这是这个我的订单,哎,我的订单现在这个状态呢,都是这个等待发货的一个状态,这是这个我的密里边一个订单啊,那下面啊,我们这样啊来点注销,注销之后呢,点后台管理,诶这块有个订单管理好啊,这里边有好多订单了,那我们下面要实现的就是点一下发货,那你现在想一下啊,这个发货其实就相当于干什么呀。那么昨天是不是手动的在数据库改过一个值对吧?还有印象吗?发货是不是就相当于更新这个state的这个状态这个值对吧?诶就相当于一个更新的一个操作啊更新呃把这个呢,这个的只能给它更新成一啊或者是二啊,就是相当于这样啊所以呢,下面哎,我们来写一个函数,那我更新的时候,呃,比如那你这个呃点发货了,来点发货,比如我根据这个订单号。
02:02
哎,还有这个什么呢?哎,还有这个,呃,让他传一个订单号,传一下这个状态,我就来可以实现这个,呃,实现这个更新了啊实现更新了好诶那下面呢,我们就来诶写一下啊来写一下传一个ID,然后呢传一个状态就可以诶更新这个订单的这个诶一个状态了啊,就实实现这个,呃,就把这个值改成一或者是二,就相当于更新了嘛,只是在页面显示的时候,如果是一显示什么,如果是二显示什么啊就是这样。来啊,我们来写这样的一个函数,找到我们的这个。DAO。我们的Du order Du啊,更新订单的一个状态。Update。嗯,更新更新这个订单的这个状态,急什么呢?发货和收货。
03:03
没问你更新在页面上,我显示时候啊,根据这个值不一样,我就来显示这个不同的一个内容啊,放那现在这里边传什么这个参数啊。传什么呀啊,订单ID order的一个ID好,还需不需要穿什么呀。对,第二个可以传也可以不传,对吧?嗯,这个你可以在这个我们写代码时候来手动的,比如把它设置进去,或者说我传进去也行,那第二个是不是就是data的一个值啊。对吧,这个我们是,哎整一个int类型啊,我们看一下我们当时写这个的时候,Order的时候是什么类型的呀,Int一个。啊,怎么变成cut了?
04:03
State in64好啊,我们有传一个这个INT64,就是你把现在的这个state这个状态,哎,你给我传进来,给我传进来好。呃,你想更新成什么?呃,到底是什么?呃,交易完成呢,还是发货,呃所以还是收货这一块啊,就是这个后台修改跟这个前台修改,它代表的意义不一样,诶我们首先同样啊来写这个circle,一写circle语句circle。等于update。啊,叫一个。Set set一个什么呢?State等于问号where。ID等于问号,我们来看一下啊,更新这个订单表,设置这个date的个值,哎,等于一个值,然后where绕这个ID,我们这个订单号等于什么等于什么好,哎,这是这个,那下面呢,来我们来执行一下。
05:14
Yous点一个,DB点一个。Circle。第一个是一个。State第二个是一个A的一个ID啊,这个呢,不要传反了啊,要传错了。等于好来if。122或等于六一个122。好哎,你穿一个牛,保存好。U。
06:00
保存好啊,这是这个更新订单的一个状态的一个函数,那同样下面呢,诶,我们来测试一下。Funk。复制了啊,直接复制了。他一个update。好诶,这里边呢,给删掉,我们来更新订单的状态,我们来看一下更新谁啊,我们刚刚查的我的订单来找这个ID等于二的,ID等于二的呢,现在都是00000,所以呢,我们来更新一个。更新这个第一个吧,刚下的这个啊,把这个呢,传输器CTRLC,我们来把它改成一。把这个值改成一啊。这一个update order还一个订单号。
07:02
传一个值,诶我们把它改更新为一好,诶之前默认的是零,哎,刚下的单的时候呢,是零,就是没有发货,现在呢,把它改成一啊改成一好上面呢,诶我们来把这个呢。测试函数。主调。我先复制一个。来测试更新订单的一个状态,测试发货和收货。好,它是一个update。Other state。好,来测试一下。Go。好,OK,来看一下啊,有没有更新成功刷新好没问题啊,变成一了,哎变成一了,那变成一之后呢,诶我们这个时候呢,来看一下啊,这个返回商城登录一下,或者说我们不用登录啊,我们看这个后台管理这个也行啊,订单管理。
08:15
诶这块呢,啊,这个刚刚更新的这个,嗯。就是变成了一个等待确认收货的一个状态,等待确认一个收货状态,好啊,那这个呃,这个这个函数我们写完之后呢,下面我们就来实现这个发货的这个功能啊,还有这个收货的功能,对吧,我们先把这个发货的这个完成了啊。我们找到我们的这个。超链接,我们那个超链接在order管理好把,把它先关掉啊,先关掉,留一个找到我们的这个订单管理这个页面。Order manager。点A,好,诶找到发货这个超链接,好,我们在这写一个有一个send。发货啊。
09:01
好诶写一个哈,然后这个时候呢,我发货的时候是不是得把这个。订单号给传过去对吧?哎,所以呢,这块问号A的一个ID,等于这块呢,我们需要有这个A的ID,所以呢直接点。Order的一个ID,好,哎,就是这个点发货,那下面呢,我们来写这个send order这个映射CTRLC,找到我们的面点go。来下面呢,我们来发货发货。算了,我要爱来。发货好,哎,找到这个处理器,看见没发货。
10:02
大写。发货。然后嗯,来放。一个。里边呢,我们不写了啊,直接粘了。CTRLC拿过来好,然后在这里边呢,我们需要这个获取获取订单号,我就要发货的这个订单号。ID等于R点一个。我。里面来一个呃的这一个ID好诶得到这个订单号,得到订单号之后呢,下面我们来这个你发货。
11:01
调用调用dau中哎的什么呢?发货来更新订单状态的这个函数。Do,点一个update。Update order state,传一下这个order的一个ID,好,诶,如果没有发货,那个状态呢是零,所以呢,现在我是不是要把它改成。一对吧,哎改成一啊,零是未发货,所以呢,这块啊,我们这个昨天写这个A的这个结构的时候,哎,注意这个state呢,如果这个状态是零是未发货的状态,一是已发货的状态,二是交易完成的一个状态,哎这是站在站在我们卖家的角度,哎站在卖家的角度这个考虑的啊零如果你刚下了单,我们插入的时候,你发现我设置这是零,证明还没有发货,就是我订单管理时候一看是零,就是显示的我可发货,那就应该就显示一个超链接,诶改点那个发货的超链接发货了,那我要发货,这个其实本质上就是把那个状态是不是改成一,所以啊,我点发货之后呢,就把那个对改成一就可以了,这这里面是已发货的一个状态,那如果要是二,就是交易已经完成了,我已经发货了,你也收货了啊也收货了,好诶来在这呢,把它改成一,那改完之后呢,更新完了,更新完下面在这块,哎,我们就得这个什么呢,哎,调用。
12:29
发货完之后干什么呢?调用这个什么呢?诶get我们上面这个函,呃,这个。就这个啊,Get orders哎,调用这个函数来再次获取所有的订单。查询一下所有的这个订单,好,来get一个。WR保存好,哎,就这个啊,我们更发货,发货好,那下面啊,我们就来发一下货是吧,但是注意啊,我发完货,我们这块呢,当时写的判断如果哎,这个。
13:12
点state,也就是说如果这个它不是零的话,是等待确认的收货的一个状态,那我现在啊,这个else啊,Else是零零证明的,没有发货,我先点一下发货,点一下发货是不是要把它改成一了,改成一就变成等待发,等待确认收货了,对吧?这个还没有什么啊,这个还没有什么,哎,来啊,我们先试一下,哎,重新这个把这个关掉啊,关掉开的太多了是吧,Ctrl c go build。慢点,一个够。B5的。慢点,一个exe。好,哎来哎图订单管理。
14:01
好了啊,我们来点一下发货。圣德的发货。一。是点的这个吗。通讯。你怎么又变了?发货。你想?22C2C82C8。刷新一怎么没有变呢?发货send发货订单号,订单号来右这个右键查看源代码,我们测过了啊,这个方法没问题啊。2C8好,诶能发过去,发过去之后呢,在这呢,我们来获取一下这个订单号。
15:02
A的ID获取之后呢,更新。根据订单号这个方法我们也测过了,没问题,我要把这个值呢set。更新为E,呃,Eo的ID没问题啊,写的这个没问题啊,然后呢,再调一下它查一下。Get others?获取所有的订单,然后呢,再得到所有的订单,那就是这个状态应该就是只应该改了呀,怎么没变呢。再来一次啊,CTRLC。这个不正常啊。也都关掉啊。对呀,没有改。慢点,这个exe怎么会没改呢,是吧,我们方法已经函数已经测过了,是没问题的呀。
16:02
关掉,返回商城。后台管理订单管理好发货71块五这个啊。发货。A的ID注意,哎,我这是大写吗?哦。这是大写,然后呢,我这一块获取的时候是对小写,原因在这啊,原因在这,我这一前面基本上都写的小写,这个怎么写的大写的啊,好啊找到原因了啊,原因在这呢?来订单管理右键查看源代码,我们再来看一下。呃,的ID号变成小写了啊,这个时候应该就没问题了啊来点一下发货走诶等待确认收货,发货好,等待确认收货好诶这是这个发货啊,发货没问题,好,那下面我们来收一下货,返回商城登录我的命。123456登录我的订单好,现在是不是都是确认收货的一个状态,对吧?诶来这个里边啊这个,哎现在在这看不到啊,看不到638248,哎现在这个状态刷新一下都是一,诶我去年收货老师是不是要把它改成二了,对吧?哎要改成二了,其实下边有个二的状态啊,有个二的状态,但是二的状态现在是不是还是确认收货呀。
17:26
所以这个值就不对了,所以呢,这块啊,我们得改一下了,改一下我们先把那个呃,确认收货那个超链接先找到啊,把这个先关掉,先找到我们的这个。Order order.html诶,这是我的订单里边的一个页面,诶在这里边呢,找到这个确认收货啊确认收货,我们把这个呢,斜杠这个确认收货叫一个take吧,Order,好,同样我们需要有这个订单号,Order的一个ID等于。
18:01
点一个order的一个ID,好就是确认收货来CTRLC,我们把这个呢也写一下,发货完收货。确认收货。好,Take order。这一块也改一下这一个。确认收货好,哎来来到我们这块,那把这个呢,最后哎,最后我们来复制一个啊复制一个它因这两个是类似的。改一下就可以了,Take。哎,收获。好,诶。这个。收货,呃,这个获取要这个什么呢?收货的这个订单号是一样的,收货的订单号。
19:03
然后这个前面都一样,然后下面的调用它里边更新订单这个状态,然后现在我需要把这个状态更新为二,对吧?诶要更新为二,诶更新完之后呢,下边同样诶来调用这个,这个就不是调它了,调查呢,是不是查我的订单了呀,所以这块啊获取它,诶获取到这块呢,还得哎还得干什么呢,我得还得获取这个用户的ID呢,我得查我的订单,不是所有的这个订单了啊,不是这个所有所有的这个订单了,因为我这有没有查我的订单呢?啊直接调啊调这个啊调这个就行了啊所以呢,在这块我们直接调,调用什么呢?嗯。获取我的订单那个函数啊。哎,再次。查询嗯,我的这个订单好,诶我们上面这个叫get my orders,好哎是他get my order好保存好啊就是这个收获这个来我们来运行一下go build。
20:06
慢点,够。慢点,一个exe。好,来。下面呢,诶来这个我的订单。好,来我们点一下确认收货,嗯,确认这个638这个啊,尾号是638的这个来点确认收货。你怎么又没有成功啊?确认收货改成二。你改成二。啊,显示的就是确认收货是吧。我们看一下数据库里边有没有改啊刷新。好,改过了啊,改过了638没问题啊,没问题,现在的问题就是显示这块,因为我们之前写的这个判断。哎,如果它点C的现在是二,是不是也进这个if。对吧,哎,那这一块该怎么处理啊,现在有三个值啊。
21:03
If,如果if成立,显示if else,否则显示else,但是现在有三个值。啊,If else if,那这个,呃,第二个条件啊,这个没有if else if else的这个if else啊,没有这个有有if,这个else if,然后没有在没有那个else了,诶这个我们这个文档里边有啊,我可以看一下这个文档啊,我们这个文档里边有找到我们这个,嗯,找到我们这个官方文档,诶来找到答案,这个时候呢,得找我们这个text。Template test template里边有这个action。来往上翻这块有action啊,Actions你来看这块,哎,如果这个如果它诶这个显示T1,哎这是这个,诶如果这个值能为空不产生输出,否则呢,输出这个T1,这就是我们这个if符啊还有这个if什么呢?Else,如果这个乘立呢,显示T1,输出T1,哎,否则呢,这个输出TT0,哎下边有一个if,它t else if它哎这个T0,这还是两个值显示的。
22:16
哎,所以啊,还是两个值的,其实用这个if else if,它就这个相当于这个if它嗯,T else,呃,括号if它然后呢,T0,这还是两个值的,那这个怎么办呢。下边就是变绿了啊,润了这个怎么办呢,所以这块啊,我们可以这样干什么呢,我在A的里边。啊这样,所以呢,我们虽然这个不行呢,我们可以有处理的方式,呃,找到我们的这个A的结构,我在这里边呢,写三个方法啊。比如什么呢啊,这个未发货。如果是零。嗯,这个是否发货。
23:03
然后呢,第二个是什么呢,是否诶收获。嗯,然后呢,第三个是呃,是否这个交易完成好,嗯这块呢,我们来写这个三个函数,Fun括号order星order。然后呢,这块这个名就写一个什么呢。一个no。S。好哎,没有发火的状态,Return一个,哎,返回值是不玩类型。哎,不玩类型好,就这样个什么呢?Order点一个state等等于零等于零是不是没有发货对吧。对吧,未发货就开始直接写未发货了啊CTRLC,诶CTRLV好,然后呢,就是诶未发货。
24:02
喂喂。好,哎,未发货。哎,这是一个未发货的一个状态,我们一会直接点no send,哎来通过它来判断就可以了啊未发货,然后下面呢,诶已发货这块直接写已发货了啊已发货已发货,诶最后呢,这个是交易完成,那这块同样,哎我们来放个。哎,它这个啊,这个它里边这个action呢不是很好,像这个呃,B里边那个框架里边呢,诶它可以给你可以设置,诶这个你包括这个动作,我们它默认的是两个大括号,你在B购里边你还可以设置啊,不用两个大括号,你可以给他指定比用的这个,呃,我们这个勾里边默认的是你把这个洞呢,得放到这两个大括号里边。诶,那这个诶你像框架里边呢,呃,它这个呃,通过一些配置啊,设置时它可以让你改这个大括号,有有些在这个模板文件里边,比如这个东西呢,可能这个参数符号什么的啊,可能跟什么冲突,它可以比如改成其他的符号,然后呢,把这个动作放到其他符号里边,这个是可以修改的啊,比如开始的左边这个跟后右边这个它是可以修改的,好哎,继续啊,这个是叫什么呢?哎,已发货,嗯叫这什么,等待收货。
25:22
哎,那我们这个。这个方法里面起个啥呢。嗯嗯,Head这个什么。来,起个好的名字,已发货,嗯,这个嗯,Send一个complete。啊,就这样了啊B。好啊,Complete已经这个发货完成了,Return一个order,点一个state。加一个state,诶等等于等等于一,诶如果这个等于一,这个就是处就证明已经发货了啊,已发货了,所以呢,这块我们把这个注释呢,也改一下啊。
26:11
CTRLCCTRLV保存好,最后一个交易完成。哎,这个叫一个什么呢。嗯,直接。刚了。嗯。玩好交易完成,Return一个order,点一个state。等等于二等等于二好保存好啊,我们在这呢来加了三个方法,在A的这个结构里边呢,加了三个方法,我们通过这调用三个方法来判断你是呃发货了还是没有发货,还是已经交易完成好,那这个加完之后,我们这样啊,我们先把这个呢,先让它编译一下CTRLC慢点一个勾。
27:10
好,来。慢点,一个exe。好,下面呢,我们来这个呢,判断呢得改一下了,哎,我的订单。好,哎,这都是确认收货,我们有有些已经确认收货了,所以呢,我们,哎先改额的,然后再改那个管理里边啊,这个这块需要改一下了,什么时候是有这个确认收货呢。是不是对方已经发货了?对吧,已经发布了,所以呢,这个条件应该是is,我们应该调哪个方法呀。已经发货是不是他呀。诶对吧,所以啊CTRLC诶send complete诶所以这块是点send complete诶如果是他,诶就是确认收货的一个状态,那下边呢,你得写好几个衣服了啊衣服哎这个点个什么是等待发货的一个状态。
28:05
是不是未发货零对吧,所以呢,就是它了,诶CTRLC,诶no send,哎,No send ctrl v,诶如果是它,诶那这块就是等待发货的一个状态,哎,等待发货状态这块是N了啊不是else了,直接就是只有一个if,只有一个if,好,那再往下,诶如果if点哎最后就是交易完成的这个状态了,点我们的这个complete。哎,这个显示的是交易完成。因为你这个不是处它不输出嘛,哎,所以呢在这写太多,哎不是处它也不输出啊and好,哎这个里边呢,写一个交易完成。好保存好啊,这个改完之后呢,我们来试一下看好不好使啊,我的订单。诶是不是变成交易完成了,因为我刚刚是不是已经确认收货了,对吧?哎,确认收货了啊,哎,两个交易完成了啊,两个交易完成了,诶那下面呢,我们来试一下啊,确认收货。
29:06
诶交易完成好,诶没问题啊,没问题,那当然啊,我们有了这个解决方案之后,你再有其他的状态,你包括什么评价等等,是不是在这里边加函数就行了,诶就就不用再担心什么这个if else只有两个,呃两种这个判断这种方式了啊直接在这里边加,根据这个值是什么,然后让它显示什么就可以了,好啊,那这个呢,呃,改完了,同样我们那个订单管理这块呢,也得改。诶注销后台管理,订单管理,那这里边呢,也有一些是交易完成了,你在这还显示呢,等待确认收货肯定是不对的,所以呢,找到我们的order。好,这里边也一样需要改一下,哎,如果第一个。好的,如果这个嗯,No send。
30:00
诶,如果是点中的是未发货未发货,那未发货的话,这块就就显示一个发货的按钮,所以在这块啊给放到这了,If点哎no send来证明呢未发货,那所以呢,这块我整一个发货的超链接。好,诶,那上面这个。这个写写下边吧,啊,这个长链接最上边吧,下边继续写。If。D。If点,哎,我们这个发货之后。Send complete,哎,就是等待确认收货的一个状态,所以呢,这块显示的是等待确认收货,如果他。这块等待确认收货,好,嗯。好,还有最后一个。If you complete。
31:00
如果他,呃,交易完成。N的好保存好,哎,这是这一块啊,那这个呢,我们改完之后呢,来测试一下,现在呢,再点订单管理好啊,现在里边呢,有两个交易完成,一个等待确认收货,还有一个诶不是下边的也交易完成啊,还有一个发货好,这个看看这个发货的这个订单,这个订单是谁的啊。49B5我们来看一下。49B5 49B5啊是这个倒数第二个ID等于四。额的IN4好的IN4的啊,额的IN4的啊,现在呢,这一块这块是这个呃,没有发货的状态,额的IN4的这个订单啊49B5好,我们现在呢,回去来登录一下用的IN4额的IN4。123456登录,咦,我的耳朵的密码是啥呀?
32:01
六个八是吧,1234566个八登录好,诶来我的订单,诶现在是不是等待发货的状态对吧?诶等待发货好,现在来注销后台管理订单管理,诶我们来点一下发货好诶等待确认收货的状态,返回商城登录,因为我们这块啊,后台跟前台我是整整合在一起的,在这个书成项目上,当然了你也可以把它再分开,比如再整一个什么管理员登录的一个,然后再整一个表,这也是可以的啊,这个现在对你来说都不是难事了啊,很简单的了,来呃丹四。六个八。登录我的订单好诶现在呢,就变成确认收货的一个状态,好,现在呢,我们来点诶49B5啊还是这个确认收货好,交易完成注销,后台管理,订单管理,49B5交易完成好诶没问题啊,没问题,这是我们这块啊发货跟收货诶这两个还好,诶就是呢,更新数据库里边这个state的值就是订单的状态,诶主要的就是在页面上显示这块,我们昨天呢,呃,就有一个什么呢,哎获取获取它看看呢是发货还是没有发货的状态,写了一个if else,那现在呢,If else搞不定了,诶因为有三个状态了,三个值,那怎么办呢?我们就在order我们的这个结构里边呢,加了这个三个方法,诶一个方法是判断你是是不是这个呃还没有发货,第二个是是不是已经发货了,第三个是不是交易完成了,那当然了啊,如果你要再加其他的状态,什么评价等等的,也可以在这里边来加了啊,这个问题我们就能解决了啊,就能解决了。
33:39
好了啊,这是我们的这个发货和收货。好,这个下课休息一下吧。
我来说两句