00:00
下面呢,我们开始实现生成付费课程订单的接口。咱们写下。因为是订单相关,所以咱们来到service o模块,在里边呢,首先我先建个包,包的名字,我们叫API,在API里创建一个controller controller,我给它起个名字,我叫这个API controller。这是第一部分创建CTRL,然后创建之后在CTRL里边加上接口的路径。所以这个结构我们做出来了,然后在里边呢,实现它的具体功能,首先第一个在CTRL里边把service先完成注入。Older in。Service注入之后在下面加上生成订单的方法,那我来写一下。这个方法我们用post提交。
01:01
我写到这里。POS提交,然后在里边呢加上接口路径,为了前端方便,我让路径跟课件中保持一致。下面加上方法public。然后在里边呢,肯定要传入生成订单需要的相关的参数,这个参数呢,我们还是用这个request包底进行传递啊,当然肯定有别的方式,然后在里边有个对象,这个对象我提前写好了一个VO对象,叫o form VO。然后大家看啊,在里边有咱们订单的一些相关内容,包括课程ID,优惠券ID,包括这些值,咱们后面通过它进行查询,所以以上是写了一个结构,然后写完之后咱们调用service里边的方法进行订单的生成,这个方法我们就叫submit order里边传入order form view。
02:05
订单生成之后呢,咱们最终返回一下这个订单的ID,或者说订单号,把这个做个退,为了后面我们支付的时候做准备。现在吞一下,点OK,传入这个O的ID。所以咱们现在把C中的方法就完成了,完成之后呢,下面我在里边把这方法我们进行创建。创建之后来到实现类中,我们最终实现下这个方法。我来做个实现,为了写着方便啊,Y的方法复制到最上边,放在咱们进行编写。所以现在CTRLS结构完成完成之后呢,在里边我们写下这个具体功能,首先我们做一个基本的分析,然后再进行进一步的实现,那我们来看一下啊。
03:00
首先我们的第一部分,大家看这里边是不是有个叫o phone,而从里边我们可以得到几个值就是几个ID,然后通过这个ID我们进行这么一些查询,那咱们下面我们来具体写一下这个内容。首先我写第一步。咱们先获取一下生成订单中这些条件值,因为咱要得到这些值,最终加到订单表中,这些值在O的for view中都存在,那咱们啊,一会儿来取到,我先把这结构写出来,然后这个选完之后呢,下面我们来做第二个事情。第二事情做什么呢?我强调啊,因为咱们现在啊要生成订单,这个订单呢,我们生成一次之后,是不是就不需要再生成第二次了,所以咱们第二部分来做个判断,判断就是当前的这个用户是否已经生成了这个课程的订单,如果说已经生成了,那咱就直接返回订单ID,如果没有生成,咱们再往下来做,这是第二部分。
04:11
这个步骤写下啊,然后这个做完之后,我们看第三步,第三步呢,如果现在订单没有生成,那咱就得到订单相关的数据,首先第一个数据我们先根据课程的ID。查询出课程的信息,这个先查出来,然后查出来之后咱们的下一个操作来得到那个用户信息,或者说是根据用户的ID。查询出用户信息,因为订单中需要这些值,然后这个得到之后,我们的下一步操作要得到里边那个就是优惠券的信息,因为这个生成订单的时候需要用到优惠券,那就是根据这个优惠券的ID。查询优惠券的信息,这是第五步,然后这些呢都完成之后,咱们的下一步操作。
05:06
我写一下啊,第六步,那就是封装订单,生成需要的数据到咱们这个对象中去,然后最终完成这个添加订单的这个过程,这是第六步,然后在过程中,比如说我们前面用了优惠券,那优惠券我们要做更新,就是表示用户已经使用了这个优惠券,就是第七个。更新。优惠券的这个数据,或者优惠券的状态,优惠券已经使用了,然后这些都完成之后,咱们的最后一部分,那就是返回订单的ID。所以大家看啊,以上就是咱们要完成一个基本的步骤,那咱们下面按照这个步骤把代码我们最终做实现,那下面咱们就开始具体写一下这个代码。那代码怎么做呢?我们先做一些准备工作,然后最终再做完善,这个过程呢,我就按照课件中的顺序编写了,你实际中呢,可能不是我这个顺序,但是事情可能都是这个事情,那咱们先做第一件事情,因为刚才咱们看到步骤里边第三步要根据课程ID是不是查询课程信息啊,所以咱们下面来做这个事情,我在图里边给大家画一下啊。
06:27
就是咱们一会儿呢,我们在这个模块,也就是service vod模块中,咱们来创建一个接口。这个接口做的事情就是根据程ID返回课程的信息,然后这个咱们一块儿进行实现,这咱们马上做到,做到之后最后在订单模块中,咱们通过远程调用进行实现。就一会儿做这个事情,这是第一个这大们马上来做的啊,然后这个之后呢,我们再做第二部分就是根据你的里边那个优惠券ID得到优惠信息,包括在更新优惠信息,这个咱们写到activity这个。
07:13
优惠活动这个模块中。那我写一下啊,在这个模块中创建接口,两个接口,第一个优惠券ID查询数据。然后第二个更新优惠券的状态,咱们马上进行实现,实现之后在咱们的订单模块中,同样通过这个远程调用进行实现,所以咱们下面先把这两部分进行实现,我这里画一下啊,在咱们这个service。O的模块中,通过远程调用就实现,另外这里边呢,还有一部分是咱这个用户的信息,所以咱们还要在这个service,就是user模块中。
08:03
我们要有一个接口,这个接口做的事情就是根据用户ID得到用户信息。这个接口呢,之前我们应该是写过的,咱们看一下啊,在这个就是service client里边,之前我们有一个client这个模块,然后在里边咱们找一下接口,如果有相同的咱就不需要创建了,大家看这接口,根据用户ID得到用户信息,之前有个cos这个定义,再看这里边啊,应该没有类似的方法,如果有的话,咱就不需要写了啊,这里没有,那咱们一会儿把这个进行创建。所以以上是咱们下面要完成这个基本的结构,这里边也是一个远程调用过程。所以现在啊,各位大家知道咱目前需要写的是里边的这个vod模块中这个查询,包括activity模块中的这个查询,然后user模块中已经写过了一会儿直接调用可以了,所以下面咱就开始写这过程,首先我们写第一个在s viewd模块中写接口,然后进行定义,最终完成远程调用。
09:17
那咱们看一下这部分啊。然后咱们找到我现在来到service vod模块。把这个包我们给它打开,找到cos API CTR了,然后在里边写一下我们里边这个接口,这个接口做的事情就是根据课程ID查询课程的信息。那接口的路径我从课件中复制一下。咱们看一下啊,就这个路径啊,这接口很简单,就是一个查询,然后这里边得到课程ID,得到之后咱们就直接调用service里边的方法。根据ID进行查询。
10:02
返回的是课程这个对象,然后咱们把课程对象做一个理退。直接推一下啊,我这里边因为为了远程调用方便,所以我这位就直接返一个Co对象,那就不用result了,Result返回取值并不方便,所以直接这个对象,现在这个完成完成之后呢,因为一会儿要做远程调用,所以咱们在这个S里边找到之前这个模块,把这接口咱们完成一个定义之前结构都有,下面咱就定义一下就可以了。那我在里边定义一下啊,这个定义过程同样啊,我从里边复制过来。根据课程ID得到课程详情,各位复制的时候就特别注意这个路径不要写错,所以现在啊这部分完成,也就是图里边的这个过程,咱们就做到了。
11:00
然后这个做到之后,咱们再写下一个接口,就是针对优惠券这个接口,那咱们来进行创建,我来写一下啊,优惠券接口咱们来到这个里边,Service activity。这个模块。然后在模块中咱们打开。首先我先建个包,这个包我们起个名字就叫API,然后在API中创建这个CTR。我跟课件中保持一致了,把这个复制过来。这是CTRL创建,然后创建之后在CTRL上面加上它相关的路径,就是优惠券相关的接口。这个啊是我们写到的依赖先引入。然后引入之后,在CTRL里边,咱们把优惠券的注入进来。我写下这个component。
12:00
这个做一个注入,注入之后咱们写第一个接口,第一个接口就是根据优惠券ID查询优惠券的信息,那咱们看一下啊路径我还是跟这个保持一致。推拿过来。然后在里边。咱们看到啊,首先路径里边传入你的优惠券ID,然后这里边根据ID我们做一个查询,查询过程中调用service中的方法进行实现,这个方法就是get BYD转入ID返回优惠券这个对项。然后最终把这个最高水退就可以了。直接下啊,所以现在这个接口完成,完成之后呢,还有下一个接口,下一接口就是进行优惠券更新接口,比如说你现在在你订单中使用了这个优惠券,那把优惠券要进行更新。
13:00
这是下一个接口,这个接口我就不敲了啊,就是一个简单的更新操作,那我现在把这接口我在里边咱们复制一下,给他做个实现啊。我来做个复制,就是这个接口。把这个拿过来,咱们根据这个就是优惠券使用的ID,包括订单ID做个更新,更新之后在service里边把这个更新优惠券使用状态的方法做个创建,最后实现类中我们做最终的一个实现,这个实现中就是new对象往里面设置值,然后调方法进行更新就可以了。也就是里边的。这个流程啊,我把这个拿过来。包括大家看啊,就重点是这么一个值。各位看这个值。Comps是一表示优惠券已经使用,所以咱们通过以上就完成了优惠券两个接口,第一个是获取接口,第二个是更新接口,这咱们做到,做到之后为了后面远程调用,咱们同样在里面进行定义,那这个定义我先建一个新的一个模块。
14:14
然后咱们定义接口。我来创建啊,这个模块我们叫做service activity。下划线这个把这个创建,然后创建之后在里边呢,创建一个interface,咱们把两个接口定义出来就可以了,那我在里边做个创建啊。这个创建呢,我们参考之前那个命名的规则,就是包的命名规范,创建一下之前我叫这个名字,这里边啊,还是这个规则。大麦。写一下啊。Com点。At硅谷硅谷课堂点上client activity。
15:05
这个创建创建之后里边建一个interface,然后把咱们刚才写的两个接口在里边出来。这部分啊,我就从里边拿过来了,因为之前咱们写了很多遍,现在就直接用一下,然后大家看一下啊,首先第一个p client加上你模块的名字,下面有两个接口,咱们把接口的方法,名字,参数和路径都给它写正确,这个过程呢,各位同学自己写的时候,你最好把你那个路径给他这个比较一下,不要写错啊,比如你的路径。这些名字类,上文名字方法,上文名字跟他都要保持一致。所以以上啊是咱们完成的这两部分,也就是第一个VD模块中根据课程ID查询接口,第二个优惠券模块中根据他查询,根据这个更新的接口,包括用户模块中得到用户信息接口,目前这些我们就都完成了,所以各位把这部分能快速做到。
我来说两句