00:00
好,同学们,我们继续上一讲,把这些配置和约定说好了,那么下一讲我们从第七步到第11步,我们来进行一下我们的编码,那么再带着大家进行强化的训练和学习,重复重复,再重复,学习,学习再学习,来我们来看do接口及实现,那么大家请看,首先我们这个模块是叫订单dio,那么先不换着编代码。下订单改订单状态,讨论一下,你们觉得这个DAO里面应该有几个方法?至少是不是应该有两个呀,同学们,一个下订单是不是要新建一张订单,另外一个改订单的状态,大家告诉我是不是就要完成一条update的语句,所以说在这个DAO里面起码要用两个方法好节约时间。DAO的包和DAO的接口我已经写好,再次强调,凡是现在做spring boot加美的整合,我推荐我们做dio,凡是跟数据库有关系的,甩上这个map。
01:05
明白,那么来根据刚才的分析,我们呢,第一个是不是叫新建订单那么好。Create。那么。Order order,兄弟们,没问题吧,那么这个order自然而然就是我们自己at硅谷的这个订单做的这个实体类,好,这是我们的第一步,那。第二步我们讲过了。就是说新建订单成功,下单成功,库存扣减成功。账户扣减成功,最终是不是要表明这个订单生命周期结束已完成,那么所以说第二种方法是修改订单。状态从零改为一,能跟上。好,那么此时也是我们的update方法,那么这个时候就要有两个参数,那么para第一个参数是我们的user ID,这一波听不听得懂,那么user ID这没什么神奇的啊,同学们,我们这读没?
02:15
这是不是有个东西叫user idea,那么注意最好这些呢,都是一致啊,没问题吧,那么第二个问题,我们这儿是不是应该有一个订单的状态,那么好也是我们的para,然后这块叫订单的状态,那么它呢,是这个整形的,然后。兄弟们,OK,第一步完成了我们的订单,Dio没问题吧,那好,同学们。哎呀。关了,待会还用得到啊,那订单DAO完了以后,我们是不是应该应该应该有订单DAO的音实现类,由于我们整合的是美T和我们的德鲁伊阿里,阿里的德鲁伊数据库回到我们的配置。Class类路径下面是不是应该建这么一个map,这么一个文件夹,那么这个里面不是应该有个word map XL完成这个的落地实现啊,那么来同学们,那OK,我们的第二步来吧。
03:11
样么配置dio,然后是我们的map,那这个里面是不是要实现我们的。Insert。这个insert叫。我们就简单写了啊,你就不再写后面那些其他的属性,这个不是重点了,那么insert into,那么T,我们的order就是这么一个呃,表,我们数据库的,那好我们数据库的表,那么在这一块的话,这些是不是就是我们这张订单库的订单表的这个表头同学们没有任何问题吧,那么直接拿过来,这个应该是不会有问题是不是那么。在这块我们呢。是诶中音源切换注意一下哈,那么。欧了。那么同学们。
04:01
这个是不是就是我们的idea,兄弟们没问题吧,那么这个我们的user idea,那么这个呢,是我们的product idea,好,那接下来这个呢。我们的数量。好,我们的money。OK,那。王活,Values这一波,那么同学们逐渐我们就烂了,没问题吧,那么这一块基本上是不是就是我们。直接。拷贝的工作啦。OK吗?那好。再来这个这个这个,那么最后一个我们看user ID,这个是我们的产品ID,这是我们的。数量这个是我们的money,然后最后一个我们的没有直接写零,为什么订单的状态是不是永远固定式写零啊,没问题吧,那么同学们这一货呢,就是我们的一条SQ。
05:09
现在。好,那接下来同学们。是不是我们的update?一样。这哥们是不是update没问题吧?这个不用我解释了吧,那么好,同学们。过来。那么就是我们的update,然后哪张表是不是T。Order,这张表没问题吧?这有个空格啊,然后呢,我们呢,Set status。等于多少啊?一。While我们的user。下划线ID等于我们的。User。ID这么说能跟上,那么等于我们的user ID好,并且我们的status的状态,这应该写个end好吧。
06:04
要等于我们的这个status,好,同学们,到这我相信没有任何问题了吧。那么这两条circle我们呢,就直接。给大家呢,写好写完,那更新这张表,怎么更新法设置它的状态到一,那么你的条件是什么?条件是我们的数据库的uz I idea等于你传进来的U哉I idea,并且状态等于这个状态好那么同学们这货我们呢,直接完成啊,这我们要注意一下啊,我们这个值是数据库表头必须不能错,而这个是我们Java传过来的,那么我们Java传过来的话呢,我们要跟我们的这个idea最好保持一致,好那么这我差点手握啊这些细节,那么来同学们,这是product idea,这是count,这是money,这是零,好没有什么问题了,那为了完成我们的插入和新增,那么这一块我们呢,可以呢做一个映射,那么写完这个CQ这个映射我们再来看一下,那么就是我们的result map,那么这个ID的话呢,Base。
07:12
Result map哈,那么这块我们的type是谁呀?是不是就是我们的这个订单啊,那么我们把它完整的拷贝,你要映射哪个,我要映射我们这个订单呢?那你怎么个映射的一个方法,因为到后面啊,我们这说不定还会扩展,我把这样的写的也完善一些,让同学们再复习一下啊,那么idea我们的扩这个时候数据库的是叫这个idea,那么property,我们Java也是叫这个ID,那么我们的GDBC。类型呢,我们这个是叫我们的B格是吧,Int兄弟们这一波没有任何问题吧,那接下来那么是不是就是我们的什么其他的那一样,这是我们的扩,在数据库里面我们是叫user_IDOK吗?那么在我们的Java里面,我们就没有这个下划线,在Java里面我们是叫这个user idea好,那我们的。
08:16
Gd bc temp,那么这个呢,也是我们的。B int兄弟们OK吗?来,那么接下来还有几个字段呢?还有。四个,那么来吧。依旧是这样的,挨个拷贝就行了,那么这是产品的,那么这是我们。产品的,那么产品的也是一个big in,那产品完了以后就是我们的数量count count这事好说,但是数量是这个整形的啊,不是那个大的,那个尽量的吻合,那接下来是我们的money,那么这个也是money,但是money呢是小数。
09:00
好,那么这最后是我们的状态。这个property也是状态,那么这个状态呢,也就是我们的上面这个整形好,那么同学们。一定要很熟悉啊这些基本功,嗯,这儿不是说是这个,呃,我就没有去整合那个美plus啊啊,你放心啊,你能想得到的我都想得到,但我就告诉你,我要求你们基本功给我手枪。我只是证明给你,我是手敲的,我要求你要给我手枪,不要跟我讲什么一键生成啊,杨哥,你个傻逼,你你知不知道什么叫一键生成?不好意思啊。我觉得啊,我敢教你是代表我们基本功要过硬,OK,而且你相信杨哥,你写一遍和你每写一遍这个真的是完全不一样的,OK,好,那么同学们这个呢,就完成了我们的。第七步,DAO的接口的实现,我们的美再次强调这个下面新建文件加号,再添加这个order map.xm好,那么下面兄弟们把这个完成以后,我们呢就不再多啰嗦了,接下来我们呢,完成我们的下一步是不是要写我们的service接口了,好,那么节约时间,我呢也已经写好了service接口,大家请看。
10:20
注意细节,这有几个service啊哈,我们暂停一下,讨论一下为什么这么写,同学们说的不错啊,我们现在是不是order去驱动自己外加库存和账户啊,所以说我们这儿order service啊,那么同学们。在这一块呢。我们呢,干嘛呢?Create,那么来order order,好,那么这个时候写起来,我们首先。现在我们是不是要创建我们的订单啊,这是我们的order service啊,那么严格的来说,有service了以后,弟兄们,我们这儿是不是应该有service的实现类啊,好,我们继续写,那这个实现类就比较痛快了,那么首先实现类service啊,另外lo附件那么。
11:13
OK。这个实现了,完了以后我们的order。Service,那么选中我们的at硅谷,这个时候我们把我们的create先写下来啊,我们创建我们的订单,那么。创建的话呢,跟其他三个就有关系了,Order。DAO,然后拨打DAO,然后resource。哎呀呀。那弟兄们这个。没有问题了吧,好,那么另外三个。我就是没说,你也应该清楚这个是不是应该就是我们的storage。
12:01
那基本上就是store storage server好,那么。这哥们直接。好了,那么另外一个是不是我们的ACC?而看他。设备少一样好。订单库存账户service,那么接下来这个就是我们的业务逻辑,明说了,待会儿就要加我们的。阿里巴巴的global transactional,那么现在我们先不加,我们先把我们的业务逻辑写完,那么第一步是不是落个点?应付。然后呢,告诉同学们现在是不是开始新建订单没问题吧?好了,那么接下来有service,是不是应该有order DAO,那么由它是不是来。
13:00
Create创建我们的订单,这一波没问题吧?好,那么这个是我们创建我们的order订单,只要order订单一创建。调用,那么我们的这一波需要什么调用库存开始,那么这一波是不是我们干什么呢?订单微服务开始调用。库存,然后做什么操作。扣减来,那么同学们这块是不是就要写我们的库存service的一个减法的操作,这么说能跟上好,那么接下来自然而然又要又要写我们。修改订单状态的一个其他的操作,这么说能跟上好,所以说此时下面暂时。意思懂了以后。
14:02
没办法做了,因为这两个接口里面是不是还是空的,那么说穿了就是下订单开始create完了以后就要做,这service要提供个减法,这账户要提供个减法,最后是不是调我们DAO里面的update,改订单状态呀,这么说能跟上,所以说现在写不下去了,我们待会反回来写,我们现在呢,找到我们的库存的这个story,那么注意啊,由于我们是分布式为服务,那想都不用想,现在是订单2001,待会儿肯定是去调库存2002或者是。这个其他的这个账户2003为服务,所以说同学们这一块我们呢,直接就要写。K,那么。告诉。我们未来要调的这个库存为负的名字叫什么?那么这我们叫西塔。然后呢?
15:02
然后呢,叫service,我们讲过了,一次性成型了,现在我们的工作要求就是订单为服务,去调我们的库存为服务。那么。2001去调,2002怎么调的,是不是通过我们的F接口,那么F接口这是不是接口加注解,接口要加这个注解,这个注解就叫未来我们库存微服务的名字,那么叫这么一个先写好,那么这个里面干什么呢?那么是不是叫做减法,库存就要做减嘛,那么好吗?这一波能跟上。那么这块呢,就叫de。Decrease,那么相当于说我们这儿调用它,库存就会减少。好,那么接下来这块怎么写呢?Request paramo,那我们减库存,你要告诉我你减哪个库存呢?那么现在我们这个库存,现在我们是不是就减的是product ID这一波能跟上那么浪形。
16:08
告诉我产品ID是哪一个,然后我。减完以后,我这做减法要重点是干什么,是不是减了以后我的库存数量会发生变更啊,那么在这块OK。OK,那么在这弟兄们这一波能不能跟上那么好。这个service啊,那么由于是对数据库的操作,那么post mapping来吧。Value,那么就等于我们后面我们会写啊,Story。库存,那么把这个方法给我。写上去相当于待会儿我们订单就要去找我们的这个微服务下面的这个方法去完成我们的对某种商品的数量上的扣减,比方说我买了五个,那比如说一号商品我买了五个,那么这个时候传的参数啊,这个就是一,这个数量count是不是就是五啊,这波兄弟们没有任何问题吧,那么story。
17:13
下面。做减法,OK,那么有它了以后同学们回到我们的订单service啊,能理解杨哥现在说的意思了吗?那么现在是不是又可以把我们的工作继续下去了?那么开始做扣减,那哪个扣减?那么现在我们是不是有这么一个,那么传过来是不是订单点get,你买的是哪个产品能跟上,然后呢,数量是你下单单单据上的数量是多少,那么get can,那么。OK。这波就是完成了我们的库存做扣减,好,那么。接下来做扣减,那么这N就结束,以此类推。那么同学们,我们这儿是不是也要有。账户余额也要做扣减啊,这么说能跟上这个是我们的,相当于第一步,这是我们的第二步,第三步是不是要做我们的订单。
18:10
微付啊,开始调用这是库存,这是我们的另外一个系统叫账户,那么做扣减是不是要扣钱了,库存减了就得扣钱嘛,那么一样暂时也写不下去了,为什么呀,我们是不是也有,也要也要回到这个账户这个service完成这个里面的方法,你看现在是不是还是空的呢?那么好同学们这个又怎么写呢,几乎跟前面那个一样。你看啊,第一。
我来说两句