00:00
各位同学大家好,咱们继续往下完成其他的模块,前面呢,我们完成了订单管理模块,管理员能看到所有的订单,咱们实现了订单到条件查询带分页功能,那下面呢,我们来实现下一个模块,下一个模块是什么呢?它叫做营销管理模块,那这个模块首先我把模块的需求给各位同学先做个介绍。说一下这个模块主要咱们要做什么事情,那我来介绍一下啊,这里边营销管理,其实这里边有一个典型的场景,这个场景呢,我觉得各位同学应该都见过,给大家举个例子啊,咱们在日常生活中,我们在网上购物的时候,应该都见过一个东西,这东西叫什么呢?叫做优惠券。这个我应该都听过啊,优惠券很多地方我们都用过,那给大家举几个场景,比如说啊第一个场景。因为我记得啊,因为我最近呢,总是在买药,就嗓子疼嘛,总买药,买药的话呢,我比较喜欢用一个平台,这平台呢,叫某某快要我就不给他做广告了啊,某某快要用这个平台。
01:13
然后这个平台呢,它里边比如我买药,他会帮我们把药啊,就是在网上下单,然后给我送过来,可以很方便,而这快要中啊,有这么一个规则,什么规则呢?因为它约定是28分钟。可以送到超之后呢,他会做一件事情,什么事情呢,我写一下啊,就是超时之后,他会送你一张优惠券。然后这个优惠券有一个用的规则,就是超过多少钱可以抵扣这个钱,这叫优惠券,所以这是一种典型的营销模式,就是在日常生活中,我们的很多这种网上平台那都有这种规则,比如说你现在啊,某个超时了,送你优惠券,或者说你连续去下单,可能送你优惠券,让你下次再买东西可以抵扣,可以更加便宜,这个就叫营销管理。所以咱们在这项目中这个拈块里边主要做的就是优惠券的消费管理,根据它来完成咱们的项目模块,大家可以想一下,日常生活中很多这种场景,就是优惠券的一个使用,咱们项目中就来做这个功能,这个功能啊,其实做的很简单,就来实现什么功能写一下啊,针对这个优惠券的一个c rud的这个操作就来把这个进行实现。
02:32
所以以上是咱们需求的一个分析,这各位知道啊,营销管理模块就来实现优惠券的交换操作,而这个操作咱们看怎么来做,看一下我的课件中啊,首先第一步我们需要建个库,建个表,这个建表语句之前给大家都共享过了,我这里边已经创建过了,叫这个activity,就是活动营销活动,然后里边两个表,Comp info comp use,一个是优惠券的基本信息表,一个是使用记录表,比如优惠券使用了,那在表中存记录。
03:08
所以现在啊,各位按照之前共享的语句,把表和库创建出来。然后创建之后下面呢,因为我们是一个新的模块,营销模块,我们建一个新的模块进行我们的开发,下面咱们把环境做搭建,那我来搭建一下啊,我在这里边写一下。这些我先关掉。首先我们的在项目中的第一部分在service下边,我们现在再来建个新的模块,那里模块我来做个创建。建一个maven工程,下一步写上名字,名字我们叫做service activity就是活动,然后下一步把模块进行创建,这是咱们里边的第一部分,然后创建之后,下面呢,咱们还是根据代码生成器,包括根据它的表把相关代码咱们生成出来,那我在里边写一下啊。
04:06
咱们现在来到代码生成器中,代码生成器在vod里边把它找到。就是咱们的这个类在里边把它的路径和名字,包括表明的这些都改一下,第一个改一下路径,路径咱们的项目名称service activity。然后再往下看,这里边我们的数据库,数据库应该变成了这个下划线,Activity,这个我们也改一下。改成咱们目前的库,然后这里边是我们的包,这个包的模块名字我们也改成activity,就是com at,硅谷,硅谷课堂activity活动,最后加上表的名字,咱目前两个表,一个是comp info,就是优惠的基本信息表。我把表的名字。复制过来,第二个是comp,就是优惠券的使用记录表。
05:04
这样复制过来,然后咱们现在把这改完了,改完之后把代码执行,把这个相关的ler service map生成出来。我们等他执行,然后咱看一下最终生成的代码。我们看啊,现在一执行他报错了啊,咱看是哪里写的不对啊,提出我们说里边的这个data不存在啊,我这库应该写错了啊,大家看啊,刚才复制复制错了。数据库没有这个service,就是这个下划线activity啊,这里写错了啊,然后给它改过来,咱们再重新执行把代码生成啊,刚才报错是这个数据库的名字写错了。咱们再来看啊。现在应该就完成了,完成之后咱们看一下activity模块中相关的代码,我们打开。大家看到啊,Control my这些都存在,存在之后咱们改一下,第一个呢,在里边,我们这里边应该不需要这个use,这些代码都写info里边,所以咱们把这use就删掉了啊,当然不删也可以,咱们不需要它直接删掉,然后第二个实体类都改成咱们那个model中统一的实体类,咱就不用它生成这个了,我把这个也改一下。
06:27
这个先删掉,咱们先改service。在这里边把它改成咱们model中统一的那个实体类,我把依赖引入。然后这些啊,我就都复制一下,有service,包括这个我们也改成model中的这一类,然后另外它的实现类和map我们快速改下。这个改一下,然后这个use也改一下。最后是map里边实体类的包的部分。
07:04
还有这个use。所以大家看啊,现在咱把这个代码就生出来了,这各位通过代码生成器,你给它改正去,最终生成,生成之后下一步呢,我们把它的启动类最后创建,然后再创建配置文件,包括配置类等内容,那咱们快速写一下啊,下面创启动类。我们起个名字,启动类里的代码,咱们给它复制过来。拿到这里边。这个啊,拿过来。这些之前我们都说过,这里不再重复了。把这个直接拿过来,然后拿回来之后,下面呢,我们来创建它的配置文件,我在里边创建。Application。
08:01
配置文件中加上它相关的内容,这些我们复制过来。然后咱们检查遍啊,大家看第一个端口号8303,因为咱之前有83018302,这里是8303,这是服务名字,然后这是数据库,包括里边的其他部分。然后另外就是那个那部分这些都给它改一下啊,所以现在这部分就完成了,完成之后呢,下面咱们建个配置类,我在里边创建,在配置类中呢,我们配置它那个map扫描部分,包括分页的插件部分,咱们给它拿过来。那我们现在啊,把这个加过来。我们给它起个名字activity conig,然后再上面加上注解configuration,再加上这个叫SKY,这个我就直接复制了。就是map扫描,找到map,自动生成那个实验类对象,然后最后有分页插件的部分,这一部分我也给他拿过来。
09:07
所以大家看啊,现在这个准备工作我们就最终完成了,就是里边的这些内容啊,这些我们都做到了,然后这些做到之后呢,下面咱们就在里边开始编写我们的接口,这个接口做的就是针对这个优惠券的增删改善操作,咱们先看一下啊,首先里边你看啊,有这个优惠券的分页查询,包括修改,添加,删除。另外里边还有一个叫批量删除,然后除了这个之外,最后还有一个,最后这个是什么呢?就是获取我们现在所有已经使用的优惠券,就拿优惠券已经使用过了,然后把这个也给他查出来,以上是咱们要写这些接口,那咱们下面快速写一下啊。首先第一个在CTRL上边,咱们把它那个路径先改一下。
10:03
啊,这个路径啊,然后改完之后在里边中就是CTRL里边啊,把service给它进来。Private comp。For。把这个最后注入。In for。Service,然后注入之后里边写上它的方法,方法我们就按照这个结构咱们做个编写。啊,那咱们写一下啊,这个代码应该很简单,咱就快速写一下,其实里边啊,要说复杂的就是有两个部分,第一个就是分页查询,然后第二个就是最后这个。获取已经使用的优惠券的这个分页列表啊,主要是这两个,其他部分应该都比较简单,那我现在啊,我先把这个简单的代码部分咱们先复制过来,然后那两个复杂点的咱们从里写一遍,因为这些代码之前咱们写过很多遍,这我就不再敲遍了,我把这几个最简单的增加,修改,删除,批量删除,ID查询,咱们先复制过来。
11:10
然后咱们看一下啊,首先第一个根据ID获取优惠券的这个信息,大家看方法啊,得到ID值,然后咱们调用get by ID得到你最终这个结果,最终返回comp info就是优惠券的对象,这是第一个方法,然后第二个做的是一个添加。添加里边呢,我们用快的包底直接调方法得到参数,最终添加,然后咱们。Result OK,然后下面是修改跟他一样request的body,得到数据调方法修改反OK,下一个是ID删除,然后还一个是批量删除。大家看啊。这个代码之前也写过,传过来一个历次集合,最终调方法,做一个批量删除。以上是里边最基础的几个方法,那这个写完之后,下面我们再重点写两方法,第一个方法就是优惠券的分页的列表方法。
12:15
然后下一个就是获取已经使用的优惠券的这个列表。做的是一个条件查询。分页的方法,咱们重点写最后这两方法,因为前面的比较简单,那咱们下面写一下啊,首先写一个优惠券的列表方法,那这里边前面结构我就复制一下啊,因为这个之前咱们同样写了太多遍了,我们就直接拿过来,把它的结构拿过来。下面写方法咱们看一下啊,这里边我们得到了两个参数,一个是当前页,一个是每页记录数,这个只做分页,咱们不加条件,然后下面我们就来实验它那个具体编写,我们写下代码啊,首先第一个。
13:04
各位应该记得啊,怎么写啊,咱是不是要new上一个配置对象啊,里边加上泛型就是po info。写下啊。Compound info。这个然后加上一个参数,我就要配置。Mo。U上一个配置传入当前页,还有每页技入数,然后这个传之后,下面咱们调用Siri中的方法做一个分查询,里边直接传入配置P,最终让它可以返一个值啊,当然也可以不返回,就把这个配置P直接返回也可以,咱给它也返回一下啊,然后反应值里边我就用这个叫I配置,就是它那个interface。之前咱也提到过啊,然后最终这个名字改一下。我叫这个配置。
14:00
Model最终做一个旅退。写一下啊。Return result.ok传入配置model,所以现在分页查询完成了,这个写的时候呢,应该并不难,但是很多同学总容易写错,写错什么地方,就这里总容易写错它,最终啊把配置返回了,这肯定不对,你要把配置model返回,这些小细节不要犯错,所以现在啊,这个方法快速完成,完成之后呢,咱们下面写这方法,获取已经使用的优惠券列表方法,把这个我们最终就完成,这个方法啊,要稍微麻烦那么一点点,那咱把这结构先写一下,然后咱们一会儿最终进一步来实现。那我写一下啊,这个方法。首先啊,同样方法的结构就是上面的参数部分,咱们也是复制一下,里边内容详细写一下。
15:03
那我把这部分复制。大家看一下啊,首先你看里边是一个获取已使用的优惠券列表,条件查询带分页得到当前页每技数,另外有一个条件对象,咱们用一个VO对象叫component use,里边有它的数据,比如这个优ID啊,状态获取时间,使用时间,然后这个之后下面呢,我们调方法进行时间第一步,同样是上一个配置里面加一个叫。Comp。把这个对象加进去。这是咱们啊之前中那个实体类,然后起个名字,我们叫这个配置。PMO。New上一个配置传入当前页,还有美元技术数,然后得到之后,下面呢,我们调用service中的方法做这么一个查询,里边我来写下这个方法,一会咱们做个实践,我起个名字叫comp use这个。
16:11
传入它的参数就是配置P对象,还有这个条件,对象都给它传进去,然后最终让他返回到也是咱们那个分页那个I配置这个对象。跟之前一样啊,咱们也叫配置model里边加上它的。泛行这方法咱一会儿实现,然后最后把这个数据做一个。result.ok传入配置model。所以大家看啊,现在CTRL的部分我们就完成了,完成之后呢,下面咱们在里边把这方法最终做个实验,我先把方法先创建出来,然后最后我们来最终实现下这个方法。敢问啊,做个创建。
17:01
所以现在啊,这一部分就完成了,咱目前呢,把大部分接口都做到了,就缺少最后一个。获取已经使用的优惠券列表,那咱们马上把这个最终进入实现。
我来说两句