00:00
好,那么下边呢,完善一下我们这个笔记。嗯。诶,我看这个编号好像有点,这应该是二级标题哈。嗯,哎,然后下边呢,就是我们说这个。呃,这是生成订单号是吧?哎,然后这个就是它的一个handle字方法。把我们憨的方法给拿回来。呃,汉德所在的这个类哈。哎,我们标记一下汉德尔方法所在的这个类,标记一下它的位置。
01:05
哎,然后我们这里边呢,是。看是哪个方法哈,是我们这个generate order这个方法。在外边哎,呃,然后呢,这里边儿有一个配合的方法啊,就是说去调用支付宝接口的,哎,专门的方法。也是在这个类里边。哎,就是我们下面这个方法啊,声明的一个,因为它别的地方不需要去调,只是本类内部去调,所以说就声明成了一个私有的。呃,再然后呢。第四步哈,就是呃,Return的这个方法。
02:08
哎,把这部分我们也拿到笔记里边。这一部分呢,是从他的代码这里边儿呢,给改过来的。接下来呢,这个是操作第五步,嗯,Notify。嗯,6L啊这个方法。好。嗯。接下来呢,就是接下来一步哈,就是我们说把订单呢,订单信息保存到数据库啊,这一部分功能。啊,这个时候还是说一下这个思路啊,因为因为我们这儿这个就已经是我们明确了目标了。
03:06
哎嗯,保存数据库啊,这个时候其实是就是我们说的这一部分。呃,那么我们就需要去把我们这个对象呢,给它组装好。看一下我们这个代码应该在哪来做这个操作。嗯,当时我们已经留好这个位置了。哎,就是在这儿,现在因为我们缺的是啥呢?就就是支付宝的这个交易号,它有了以后,我们就是,呃,把它给设置进去,设置到哪呢?设置到我们的session里边。或者说应该准确说是设置到我们那个里面。呃,获取一下我们的赛事的对象。哎,然后在这儿呢。要执行数据库保存哈,首先这里边儿的这个第一步先从这个塞域。
04:08
哎,我们需要去获取一下我们这个奥的这个对象。那我们得看一下这个有没有放进去哈,看一下我们这个瑞这。奥德VO呢,是已经组装好了。哎,我们的订单号,然后订单总金额哈,也都设置进去了,但是我们这个order VI在这儿应该是没有放到这个30域里边,所以说我们要把它给放到30域里边。哎,就是说加。Order VO对象去存入三生。啊,这是方便我们这个后续的去操作。
05:04
哎,这个order VO里边是该有的都有了哈,包括我们的这个order project view他也存进去了,我们的订单也存进去了,然后呢,是订单的总金额都存进去了。哎,所以说呢,我们就过来哈。从三人域里边去获取一下这个VO的对象。嗯。session.set at。嗯,啊,不是啊。不是这哈,不是这是我们刚才这个鸟哈。哎,拿啥?那这是这是设置进去,这是设置进去,然后在这呢去把它取出来。强转一下。
06:04
嗯,把它取出来以后呢。第二步发送给我们的MY色扣啊那个服务。我们就把它给装备进来。My remote service。CTRLC。这是我们来一个order。存一下这个order view。哎,那这个时候呢,他当然要返回一个result。嗯。这个结果执行的结果呢,我们打印一下日志哈。
07:09
呃,Order。好嘞。下边呢,我们去见一下这个方法。来一个request卖品。实体类这边给加个快速保底。呃,那么这边这个写好了以后呢,我们就按这个去写我们的那个方法。My provider啊。
08:02
哎,他肯定还是调我们奥service。Save order。然后给它踹开一下。Return result。第二,Success with。啊,没有没有数据啊。如果是失败的话。一点盖卖汽车。把最后这个删掉。然后那我们去见一下这个方法。哎,因为它是个增长改的方法啊,所以说在这儿呢,和这个一样啊,要把这个呃,是不是事故的声明给它加上。
09:08
那么order VO这里边儿牵扯哪些个东西呢?来看一下我们的数据库表啊。这里边儿涉及到我们这个order project要保存,还有order本身要保存啊,主要是这两个哎。呃,保存order呢,就是需要对应我们的po。创建一个奥po的一个对象。然后呢,我们去复制一下属性。In yours?Copy properties。哎奥从这个呢,从VO去给它复制到po的里边。然后呢,呃,在创建一个order project。
10:02
Order project。哎,这个也复制一下属性。这是从哪从哪来呢?从order VO呢?去get一个order project,哎,这是一个连的对象。哎,再复制到po的里边,然后呢,执行保存po的map。加。Out project map。银色。好啊,就是执行这个保存哈,当然这里边儿有一个问题。嗯,大家看我们的这个project啊。它相当于其实我们以前那个订单详情,这里边儿它需要一个什么呢?Order ID。
11:04
哎,这个al ID呢,必须是保存完al以后,刚刚生成的这个自动的组件,用来去保存它。啊,所以说呢,在这儿,然后这po保存完了以后,就必须得把那个自动的组件给它拿到,这是一个需要注意的一个地方啊。去get一个ID。然后呢,给这个po这呢去set一个order ID。啊,这个是一定要去注意的。说保存我们order po时自动生成的组件啊,它呢,其实就是我们order project po。需要用到的那个外键啊,所以说呢,下边我们说。嗯,从我们order po中。我们要去获取。
12:01
Outer。ID。哎,把这个order ID啊,设置到奥project的po里边,下面才去保存啊,就这几个是需要注意的,但是这个ID是你想获取就能获取到的吗?这个得进行相关的设置啊,这个得到order people map的这个X文件里边。Order PU。嗯,找到这个insert的方法。我们为了快一点啊,咱们这么整。哎。呃,在这儿呢,得给他设置一下叫做柚子。Generated case设置为处,哎,然后呢,这个key property是ID啊,必须得做上这个设置才可以。
13:02
哎,有了这个以后,咱们这一套写完了,然后咱们去启动一下啊,启动一下嗯。然后咱们测试一下,看看对不对。这回我们关注的就是。这数据能不能保存到数据库里边?访问一下我们的首页。登录一下。嗯,把这些地方还是该点的,我们需要点一下。了解付款,哎哟呵。
14:04
哎哟,他这说呢,有一个东西又是要序列化哈。哪个东西要序列化呢,就还是。呃,那么我们就去找一下。那么order VO需要序列化,那么它连的这个order project VO呢,肯定也需要序列化啊。嗯。那就先把它停掉吧。Order view啊,这个这个已经有了哈,当时已经加过了。那么我们就等它,呃,一会儿呢,我们去重启一下。回到首页。
15:05
这回咱们点一个这个档位的啊,这个配送费用是50。这来个三。嗯,来个。嗯,15吧。这个一百五加50运费是200。网速有点慢哈。去输入这个账号和密码。
16:00
那我们就先用这记住的这个吧,咱们就先不去找我们自己那个啊,这是以前测试的时候用的一个账号。网络也是时好时坏,有的时候一下就打开了,有的时候得等半天啊,但是等就等一会儿吧,最后能打开了就好是吧。哎,这边成功付款200。啊,成功正在跳转,现在他要去我们这个return。哎,这边也也已经答应了哈,那然后下边应该是去调了我们那个买口这边看看这个保存进来没有。
17:03
呃,我们现在看的是order project啊,诶你看项目的名称,呃,这个发起人,这个是我们的回报的内容啊,回报的数量,然后支持的这个单价对,运费都对哈,包括order ID也对。那么这个order也保存了,这是我们的单号,这坏了,呃,这个支付宝的单号没有保存进来啊。啊,这个ID没有保存进来。嗯,这个就有问题了,看看这个是因为什么啊。这个我们得去追一下,这得看一下代码。嗯,首先呢,还是先看一下我们这个表单。他首先我们去看一下,这是。呃,先看一下ID哈。Address ID。嗯。
18:00
在最后这address ID这应该是有的,我们是提交了这个值的。是我们没有勾选吗。我觉得这应该是有的,是不是我们当时忘了勾选了,我们再试一下啊这个嗯。然后再看一下啊,就是。支付宝的单号,支付宝的单号。啊,对,这个得看支付这边。嗯。He order啊对,这个拿到了。对,但是我们支付宝这边单号给我们了,给我们了,但是我们这儿呢,这儿虽然打印了,但是我们并没有设置到我们这个对象里边,这个怪我啊,这个没有设置进来,但是这个address ID,嗯。
19:02
行,咱们去那个什么一下啊,对这儿有一个操作,这样的话,这应该是第二步,这第三步哈。第一步呢,就应该是。嗯,加支付宝这个。交易号。设置到order view对象中。嗯,对,得先把这个取出来,那么这个应该是第一步。无论如何,你得先把它取出来。Order。点set一个,呃,哎,这就是我们的配number,对,这个要保存一下address ID。我怀疑是我刚才没有勾选啊。嗯。ID。
20:00
这个是我们后加的,嗯。在order view里面,Address ID。是不是我们的奥特飘里边没有的?这儿也有。那是因为什么呢?啊,对,我知道了。这个也确实是怪我的疏忽啊,这个address ID呢,在这儿是字符串类型,在这是类型,那么我们b us copy properties的时候,类型不一样,它是注入不进去的,哪怕说你的属性名一样也不行啊。对,这是一个疏忽的地方,我们数据库里边是叉类型的吗?果然这是查类型,所以说呢,这就只能是去改我们这边吧。嗯,这儿也是改成独串吧。好点哈。那么我们就是在咱们再来重启一下。
21:04
嗯,再测试一遍。有什么问题呢?500。类型转换异常。嗯。不能够。确认这个实力,En to field。还是有ID哈。哦,这边我们这。这儿改完了,还有哪需要改呢?
22:05
按说这个东西他在这就只是说接收请求参数就行了呗。浏览器关掉,重新访问一下。这访问首页不应该出这个问题。没什么事啊,那刚才的那个页面可能有些什么残留的。好,然后呢,我们点一下支持。这来上两个。哎,选它,哎,这就是address ID了哈。嗯,这边来一个需要发票吧。
23:04
43。下一步。一步一步在接近我们的要测试的位置啊。已经成功付款。他这会儿要跳转了。好,这边有了哈,这边看下一步我们看数据库。嗯。刷新一下。现在我们看的这个是,哎,支付宝的交易号是吧,就进来了。哎,然后这个ID也进来了啊,这两个问题我们就都解决了。呃,这就是我们的这个叫。呃,这就是我们这个这个支付的订单哈,然后我们这时候就保存到数据库了。
24:04
我们去这个笔记里边去说去记一下啊。嗯思哎嗯。是先从我们的哪个地方呢。在配consumer这里面。还有特哈是在我们return URL啊,在接收到在他把支付的任务完成啊,然后这边呢,呃,他给我们拿到了支付宝的这个交易单号之后。支付完成。哎,他会去调我们return,调用我们这个return的这个方法。
25:04
然后呢,就能够,如果支付成功的话啊,他能够拿到这个支付宝的交易号。拿到这个交易号以后,我们这个数据呢,就有了,把它设置到我们的这个order里边。刚才咱们就是忘了这一步了啊。哎,这是从我们三生域里边把它取出来给设置进去。把它设置进去以后。调用买。马Q的这个远程的这个接口哈,去找他,哎,这我们一直以来就是说是马马SQL。去找他。
26:00
然后呢,他去保存到数据库就就完了,这没有什么,没有什么岔路哈,就是这个就是嗯。直接这一条线下来的。只不过保存的时候呢,有一个地方需要注意,哎,就是我们它是有一个,呃,是需要有一个顺序的。保存到数据库的时候呢,是先保存我们的这个order,然后呢拿到它自动的组件。嗯,获取他这个自增的主见。拿它这个自动的主键呢去设置。用这个呢,去设置我们那个。
27:05
哎,应该说是PU啊,这也是po。哎,然后呢,再保存它。那么这个这个这个po这个呢,他要做的事是设置外界。哎,这个po,这个po的主键就是它的外键。然后呢,最后再执行保存。
28:11
哎,那么这个里边呢,我们去说一下哈,呃,这个circle的这个设置。哎,我们怎么样去拿到。关键点啊,就是说我们保存al po时,哎,要获取自增的主键,这个是怎么做到的呢?我们要找到我们的MySQL provider。Order po。
29:02
呃,在这里边哈,我们所做的修改哈,找到我们那个insert。哎,这里边儿关键是我们这个柚子。Generated case。还有我们这个key property这个我们在保存项目的时候呢,咱们做过这个操作。哎,保存项目,先保存project,然后再保存后续的其他的联的对象,哎,因为联的对象里边需要用到项目的这个ID啊,这是站。这边这个完事以后呢,别的就都是一些个常规操作了。哎。嗯。包括我们的这个map的,就是包括我们的接口,包括我们的这个。嗯。哎,Myl provider里边的handle service啊,就都是一些个常规的了啊,没有什么特殊的,哎,这个大家去这个参考我们这个代码就可以了。
30:06
其他啊,位置参考工程中的这个代码。
我来说两句