00:01
下面呢,咱们继续来整合rabbit MQ之前呢,我们在。com里边创建了一个模块叫rabbit u,然后里边封装了MQ的相关内容,那下面呢,我们进一步操作,因为咱们在下单之后呢,我们要通过MQ进行短信的发送,包括排班数量的更新。所以咱们下面呢,就把短信接口通过MQ做封装,那下面给各位来写一下,首先第一部分咱们先找到我们的短信模块,这些我先都关掉,我们的短信模块呢,在service msm里边,那咱们把这个模块打开,然后打开之后呢,在里边引入咱们之前创建的rabbit u这么一个依赖,那我们做一个引入。咱们加一个dependence。然后在里边加上这个叫rabbit。
01:03
把这个给它加上。把这个给他写一下啊。然后加上之后呢,我们在这个MS模块中来封装短信的切换内容,因为它要用到rabbit MQ,所以咱们首先在它的配置文件中把MQ的器分配置给它写一下,包括它的IP地址,包括灯火号,还有它的用户名和密码,这是里边的第二部分。那咱们找到msm的配置文件中,在里边加上MQ的配置,也就是里边的这个配置,包括IP地址,包括端口号,咱们之前访问过rub比MQ,它的IP地址是我们的虚拟机,然后端口号是这个5672,包括用户密码,对,是这个D。然后这个做到之后呢,咱们下面啊,在这个rabbit工具类中呢,我们创建一个常量类,常量类中呢,配备一些相关的内容,比如说它的交换机,它的队列,它的路由等等内容,那咱们在里边我们建一个常量类,咱们来到rabbit u中做创建,咱们现在做的事情呢,就是完成这个MQ的一个封装,所以咱们现在做的都是准备工作,然后最终我们再来修改我们的代码,那我现在在rap u中我们创一个包,叫这个constant,然后里边呢创建一个常量类,我就把这个类给各位直接复制过来,然后里面设置它一些相关这些值。
02:42
这个咱们给他拿过来一个常量类。里边有这些内容,包含我们的预约下单的,包含短信的,然后后面缺少我们在里面再加上一些加内容,在这个我们完成了定义,然后这个完成之后呢,我们继续往下走,下面呢,咱就可以封装我们相关这个接口,包括MQ的监听器等内容,那咱们来按照我这个课件中的流程我们做一下啊,因为咱们现在呢要封装短信的发送,那我们找到在我们的model里边呢,这里边我起了一个VOVO里边呢,就是封装短信发送的一些相关内容,那咱们来找一下啊。
03:25
现在我们找到我们这个model里边有一个VO。那我们找一下,然后VO里边呢,有一个短信的内容,就这个叫MSMVO,然后大家看里边包含短信的实体,包含你的手机号,包含短信的模板code,还有模板的参数,也是我们的验证码等信息,咱用它来进行我的封装,这各位给他知道,咱之前都统一引入过了,然后这个写完之后呢,咱们下面就在我们的S里边和实验类中来写下这个发送的这个方法,咱们把这个方法给它封装一下。
04:04
那大来找到啊,在msm里边我们先找到它的。Service,然后在service里边呢,我们来写一个方法,方法里边就封装我们这个Ms VO的这么一个对象啊,当然你用之前这个其实也可以,咱为了我们专门MQ中封装方便,所以咱就单独写一个接口,用于它的这么一个封装,我写一下就是MQ。使用的发送短信的这么一个接口,那我写一下,比如说给他返回一个布尔类型,然后给方法起个名字,我们就叫这个send send里边呢,传入刚才这个VO的这么一个对象,MSMVO,这是我们写的这么一个interface,然后咱们来到它的实现类中,在实现类中继续来实现一下这个方法。我们写到这位置,这个方法中做的就是关于MQ发送短信的一个工作,那我们在里边把这个写一下啊,当然这个发送过程中,咱要调用我们之前写的这么一个结构,把这个做到,那在里边快速给它实现一下啊,首先在里边呢,比如说咱为了明显,我先做个判断,如果说你的手机号不等于空,咱们才发送,如果等于空,那我们就不进发送。
05:29
咱们做一个判断。那我判断一下啊,在我们这个MSMV里边有一个方法叫get for,如果说这个值呢,不等于空,我们再发送,那咱们用string us里边这个叫it emptyity,把这个手机号给它就传进去。咱们给他写一下,如果这个不等于空,那我们再进行发送,那发送的话呢,咱就调用我们这个散的方法进行发送。
06:03
三的方法,也就是上面这个方法,第一个方法中大家注意啊,我们传了两个参数,第一个参数就是手机号,第二个参数是在那个验证码单传了两个,其实我们这个view里边呢,还有一个是那个模板扣的,但是模板扣的我们在这里边应该已经做了这个封装,就这个值,所以咱们这里边只需要传两个值,一个是手机号,一个是你的验证码,验证码呢,它是在我们这个。P里边,所以咱从这里边给它就是取一下啊,我们给它取一下啊,当然你可以写的更简单点,这个我这么写可能稍微麻烦点啊,但是它的值肯定可以得到,我们来一个get p点上get里边这个值我们就扣就是它那个验证码。然后这里边我们给它强转成这个string。这个强转成。词缀。然后转成损之后,里边传入两个值,第一个就是它的手机号,也就是get phone这个方法调用得的值,然后第二个是他这个验证码。
07:11
得到之后,这里边我们就完成一个发送,然后它返回的是一个布尔类型,比如我们叫意。散的,咱把这个布尔类型最终做一个水推,这样的话把这个我们就完成封装,为了一会儿MQ进行使用啊,各位把这个能给他快速做到,这些难都做过,然后这个做到之后呢,下面咱就来封装一个MQ的监听,当监听到里边有这个内种,那它就完成这个发送这个过程,那我们来写一下啊,监听监听,比如咱给这包起个名字,我就叫这个receive。我在里边建个包。就是在我们的这个MS模块中,咱们建个receive的这么一个包。一个包。然后在这里边呢,我们写一个MQ的监听,用于短信的这么一个发送,那这个监听我起个名字,比如叫msm,这个receive。
08:11
这个名字啊,我给他写一下,就是msm receive在里边写上的内容,那我来写一下啊,首先第一个把它交给词进行管理,咱们加一个confident,然后在里边呢,我们给它注入进来,我们刚才写那个service,因为咱们要进行调用嘛,Msm。Service把它注进来入之后呢,下面加上它的监听部分,也就是里边的。这个结构。我把这个给各位拿过来啊,也就是里边这个监听啊,这部分我都会过来了,然后咱看一下啊,他的监听中用这个叫IC listener,然后监听队列里边是不是有我们这个内容,如果有内容的话,那它就进行这个方法调用,进行短信的发送,就是咱们将里边订阅到这个内容,然后往里边队列中放入咱们的发送这个请求,最终它就完成这么一个发送。
09:12
包括里边传入它的这些值。然后把这个依赖给他引用进来啊。就是里边这个相关的这么一个依赖。就是这些内容,所以现在呢,咱就把这个MQ监听发送短信这个监听器,我们就完成了,用它实现一个短信的这么一个发送,这是我们写到的这个内容。所以大家把这过程能实现,咱们现在就把这个短信接口通过MQ完成了封装,然后封装之后呢,我们再进行下一个封装过程,跟刚才是一致的,因为咱们在生成订单之后,我们要发短信,另外还要更新你的排班的数量,所以咱们下面在这个service hospital里边来进行更新排班数量的一个这么一个分割,通过MQ进行实现。
10:09
那下面用同样的方式把这个咱快速写一下啊,而咱们更新数量我们是写到这个service好披里边,它里边的第一部分,咱们同样先引入这个rabbit u这个依赖,那我们来引入一下。Rabbit u把这引入,然后引入之后呢,在它的配置文件中,咱们加上那个rabbit MQ的这个配置,我把配置给各位复制过来,就是里边这个IP地址端口号,包括它的用户名以及他的密码。这是我们的第二部分,然后这个做到之后,我们的第三部分还是加这个常量啊,就是预约下单的,刚才咱应该已经加过了,用这个我们做到,做到之后呢,在咱model中同样有一个用于封装这么一个,就是实体类,这个封装是咱们这个更新。
11:03
排班的这么一个实体,那这实体我们叫O的MQVO,咱们到model中我们来找一下啊,OMQVO。我们到里边看一下,就是在这个O里边应该有这么一个VO类,用它做到MQ的封装,包括大家看里边这个值啊,有这个可约束剩余约束排班ID,还有这个短信实体啊,里边有这些内容,所以咱们现在这些都有了,这些都有之后呢,下面咱们同样的方式创建service接口,包括实现,然后最终写这个M的监听,把这个最终实现啊,跟刚才过程一模一样,那这个接口呢,我们就在这个筛掉service里边,因为咱要做更新嘛,修改排班的这个数据,那这接口我在里边快速写一下啊,咱们找到这个service hospital里边那个schedule service。
12:01
我们来找一下。它是在这里边,然后在schedulewi里边,我们来创建一个方法,这个方法就是更新我们的排班的数据,那这个方法我来写一下啊,比如说我来一个word了,咱们叫。阿尔法的方法,然后在阿尔的方法中呢,我们可以传入就是那个筛掉的这个对象。我写一下筛掉对象,这是咱们写的方法,写完之后我们来到它的实现类,在实现中把这方法做一个实验。就是这个位置,我们叫做。更新排班信息就是用于MQ的这么一个操作,咱们把注释写的完整点啊,这里边写上就是它是用于MQ的这个操作,然后写完之后咱们在这个实验内中把这方法最终做一个实现,这个方法应该说很简单啊,我们就快速写一下啊,咱们看一下筛掉里边我们先设置里边一个值,里边应该有一个值是它那个修改时间,咱把修改时间呢,换成咱们当前的这个时间,就是new data,然后换完之后咱们调用这个就是筛掉。
13:19
Reperry里边这个方法我们叫SE方法,里边传这个对象,这样的话就能完成一个修改操作,所以咱们现在把这个我们就快速完成了这个修改,然后修改完成之后呢,下面咱们同样来创建一个MQ,用于更新这个就是排班数量的一个监听器,和刚才那个短信是一样的,那我现在把这个创建一下啊。首先我在这个hospital里边呢,咱们还是先建个包,这个包我们叫这个receive。Receive,然后在receive里边,我们来创建一个类,这个类比如起名我就叫做这个hospital receive啊,咱就叫这个名字了。
14:08
我把它分解出来。然后创建之后里边写内容,首先第一部分还是交给我们的spring进行管理,然后教育管理之后,里边要注入咱们的相关内容,那我来注一下啊,首先第一个我们注入里边这个private,咱们是这个筛掉。Service。这个注入,然后注入之后呢,里边我们再注一个,因为后面要用到就是rabbit service啊,把这个也给它注进来,然后写一个private rabbit service,咱们在common里边创建的这个service,也就是在。这里边我们创建这个service,那我们看一下啊,这service里边有咱们相关的一些。内容啊,比如说我们的交换机路由件,包括消息等等啊,咱要进行一个消息的发送,所以这个我们两个注入,然后注入之后呢,下面我们来写这个监听,包括里边调方法,做这个更新操作,这个代码给各位拿过来。
15:11
我们来看一下这个写法啊,我先把依赖给它先都引入进来。咱们引入。相关的这些依赖。这些都给它先引入进来啊。O的MQV包括。包括里面那个China。应该是。这里边啊,以及里边其他的这个内容。然后这个我们把它引入之后呢,咱们把这个代码我们详细看一下啊,因为是一个比较固定的结构,首先我们写这个监听,就监听里边有没有这个内容,然后进行这个相关的发送,在发送中首先我们就是先通过这个。OMQVO中那个筛掉ID得到内容,然后向里边更新我们的内容,调用里边刚才写的RV的方法做到。
16:10
这是我们刚才做的一个过程,然后做到之后呢,这里边比如咱们把这个就是数量进行更新,然后最后我们调用刚才咱们写的一个方法,把它也做一个发送,就刚才写这个O的MQVO里边这个方法啊,咱们实验一个发送,就是给他发送一个消息,告诉他你这个数量已经进行了这么一个更新。所以这样的话呢,咱们就是完成了。排班数量更新MQ的这么一个分装,各位把这个能给他做到跟刚才短信一模一样的,所以咱们现在呢,MQ呢,在里边我们通过两个过程都做了封装,如果说再有新的过程,各位按照同样的方式应该能把它封装到你的项目中去,因为它的写法都是一致的,我们这里边以两为例,然后这些呢都写完之后呢,咱们最后就来调整一下,咱们下单就是生成订单接口,因为刚才只做了封装,而咱们在生成订单之后,咱是不是既要发送短信也要更新咱的快文数量,所以最后咱就把这个下单接口做个完善,那最后我来写一下哈,下单接口呢,我们在这个service。
17:23
Order里面。那咱们找到service order这个位置,然后service order中同样的方式先引入咱们那个rabbit MQ啊,把它先引进来。这肯定都需要,然后有了之后在里边咱们也是加上rub MQ,它相关那个路径,就是它的IP地址,端口号,用户名和密码,我们加到service order这个配置文件中,我给他加一下啊。就是里边的地址。啊,我把其他的先关掉啊,省的对我们有干扰,咱就打开我们当时当前写的这个模块,所以现在我们这个给它加进来了,然后加进来之后,下面咱就改一下我们下单的接口,咱们下单接口看一下啊,之前刚写过,我们就直接看这个service时间类中,在service时间类中各位看到咱们这里边就是首先我们做了一个。
18:20
获取你的就诊人信息,获取排班信息,然后把信息加到数据库中,加完数据库中去调用医院那边接口,实现我们的预约挂号,然后医院那边调用之后会返回内容,咱们把反应内容中的值得到,再去更新我们的表中内容,然后更新之后,这里边有这个可约束,还有这个排班剩余数,咱们把这些过程通过发送MQ消息,把它的数量更新,并且进行短信通知,所以咱们当时做到是到这地方,下面就在这里边来实现里边这个MQ的这个操作,那这操作中呢,首先咱们可以先发送MQ信息,先更新我们的这个号源信息,然后再进行短信的这么一个提示,那下面我把这个代码给各位,我就来写一下啊,咱们看一下这个代码,我们该怎么进行实现。
19:19
那我来写一下啊,我这里写个注释,咱们先发送MQ。然后进行这个呃,号源的。这么一个就是更新。那我们写一下啊,首先在里边我们来一个这个o MQ view啊,咱先用这对象,因为这里边需要一些值嘛,啊,咱先给它溜出来。O的MQVO,然后咱们向里边设置我们需要的那些数据,那我们来设置一下啊,首先第一个数据是里边那个筛ID,咱们上面有这个ID,把它这进去,然后设置之后我们再设置第二个值,就是里边这个数量,这个值那数量中呢,比如咱先设这个可预约的数量,就这个receive number上面这个receive number这个值,然后下面还有一个排班的剩余数量,咱们也是做个设置。
20:20
Set这个,呃,Wave number把这个设进去。然后这里边现在我们就完成设置,然后完成设置之后呢,下面咱进行这个短信发送的这么一个就是提示啊,进行短信提示。我写一下。那短信提示中等,咱需要调里边那个就是VO类,叫做msm view,那咱们同样方式往这里边来设置它的值,然后最终进行统一的一个发送。MSMV。等于new上一个MSMV啊,就是new这个对象。
21:01
把这个给它就是引进来,然后这个用完之后呢,我们向里边来设置它相关的这些值,最终我们来进行这么一个发送,那咱来设置一下啊,首先在这里边呢,我们先设置它的第一个值,就是里边这个手机号phone,而这个phone呢,就是咱们可以得到它的值,那我们来得到一下啊,咱们看啊,上面就是有很多这个对象,就是咱们看一个O的info对象,这里边应该有他的手机号,其实就是这个,或者用patient也可以啊,那我们就用这个。Order info。来得到他这个手机号就是patient phone啊这个手机号信息。下面呢,还有一些其他值,那其他值呢,我们看一下我的课件里边,里边就来设置了,就是里边的这问值,然后把它复制过来,我们来看一下啊,就是一些基本的设置的部分,然后把它先拿过来,然后各位跟我一起来看一下啊,就是在里边我们有就是一个模板扣的,呃,但是我们刚才应该没需要啊,所以咱们检查一下我们这个方法啊,咱们把方法给它写的更完整点。
22:13
我们来看一下啊,就是找到我们刚才写那个msm。咱们来找一下,刚才咱们封装的就是这个service实现类中的这么一个方法,然后里边传入对象,在对象中呢,我们里边传入的是这些相关的这些值啊,包括里边就是这些内容。然后内容里边大家看啊,就是我们之前的这个方法中的,咱是传了一个code的验证码,但是咱现在发送应该不是发送验证码,我们这个位置呢,应该是变成一个麦克集合啊,所以咱们为了方便啊,我之前发就不改了,我就重新再写一个专用于咱们这个就是相关这个发送啊,把这个我们再给他重新写个啊。这个我就不改了,就是改也可以,改的话,那要改很多地方。
23:03
所以咱们现在把这方法我重新写个啊。然后在方法中呢,比如现在这个方法里边,我们就传入这么两个参数,第一个我传个字符串,然后第二部分呢,我让他传入这么一个外即可。啊,传一个map,然后面往里边就是设置它那个map集合,应该是更加的方便,那我们给它设置一下啊里面这个值。这里边放入一个map集合,然后放完外集合之后,下面我们来写上它这个方法啊,比如这个方法我就叫这个private啊,因为为了我们目前做的这么一个使用,然后里边这些结构不需要变,那就看这个time部分,就是这个地方。然后拍里边呢,我把它就直接给它设置到我们的这个位置啊,用这个我们做这么一个这层转换,然后最终传递,我们进行这么一个发送,里边是这么一个结构,然后结构写完之后,咱们把刚才MQ这个方法给它改造一下啊,这里边我们就是这么来传,第一个传入他的手机号,然后第二个通过MSV里边。
24:15
我们得到它的P是不是就是一个迈部即合啊,所以咱对它做了一个改造,为了咱一会儿更加方便,现在这个改完了,然后改完之后咱再回来,就是现在这里边的这个纸应该不需要,因为咱们应该有这个纸,然后下面就是你看啊下面做法之后,我们得到它相关的数据,比如里边这个日期,包括里边的等等信息,把这些信息都放到P这个map里边,然后把这map放到Ms view中,所以咱后面进行传递,然后把这个最终再放到O的MQ view里边,这样的话咱现在就完成了数据的部分,就是里边这些值。然后这些数据完成之后呢,下面我们就可以进行这么一个MQ消息的这么一个发送,那我写一下啊,就是发送。
25:04
发送的话呢,咱们调这个,就是我们刚才写这个service,我们看它这个名字啊,咱们叫这个service的名字,那我们来找一下啊。然后这个名字呢,我们叫这个service里边调那个send message方法是不是最终进行实现,那咱们在里边我们就来调一下这个方法,做一个最终的发送。首先咱们把那个rabbit service给它先注进来,然后咱们进行调用,那我来注一下啊,Private rabbit。Service这个我们定行了,注入入之后,咱们在这里边就来调它的这个方法,然后写一下啊rub service里边这个方法叫send message,然后里边还有它的切换那种,第一个那种就是它里面那个路由啊,包括交换机,包括它的路由键,包括它的具体消息等等内容,那这里边也就是三部分参数。
26:06
我把这参数到里边给各位复制过来啊,也就是里边的。这么。三参数。那咱看一下这个参数啊,第一个就是它这个交换机,包括路由键,包括里边这个消息,消息呢,包括信息咱都封装到了O的MQV里边,里边有咱所有内容,所以最终我们调方法就完成这么一个发送,这样的话,咱们现在在这个下单的这个模块中就整合进去我们的MQ,当下单成功之后,咱通过MQ来更新我们这个数量和发送短信,现在这个模块我们就最终完成了。然后完成之后呢,下面给大家把这过程我再来总结一遍,因为这个过程里边啊,虽然说每一步骤并不麻烦,但是他做的步骤很多,所以咱做起来感觉就东西多一点了,那我们看一下我这过程是怎么做的啊,咱们一步来看一下啊,首先第一步呢,我们先在common里边建了一个工具类,用于封装我们的ICMQ,然后在工具类中呢,我们写了首先有一个IC service里边做了一些基本消息方法封装,然后写了一个config,就是它的转换器,包括这个contentent,是它一些相关的常量,为了咱一块使用,就是里边这些值,这是我们的第一部分。
27:29
然后第二部分呢,我们在这个service MSN里边来封装了这么一个发送短信的这么一个监听器,在这里边首先我们写了service接口时间内用于发短信,就是刚才我们改造这个内容,包括他的手机号,包括他的其他内容,然后咱们调这个方法,这个发送啊,当然这个方法其实可以完善,你可以把两个写成一个,我为了区分专门写一个MQ发送这个方法。这各位可以给他去完善一下啊,应该也不复杂,然后这个写完之后,在里边我们加了一个receive,就是它的监听器,监听器中呢监听内容,然后调方法,最终我们做这么一个发送。
28:10
也就是里边的这么一个结构,各位把这知道啊,然后这个写完之后,我们在hospital里边定义了那个更新数量的一个电流器,那咱看一下啊,首先service里边我们创建了接口,包括实现类进行了这么一个相关的代码编写,就是刚才写的里边的就是我们找到啊。这个位置做了一个更新,然后更新之后咱们同样创建了一个监听器,监听器里边做了里边的监关操作啊,包括在里边我们整合了发送短信,整合了这个更新等等内容,最后调方法的一个发送,然后这些呢都选完之后,最后咱们在那个下单模块中完成了我们的最终内容,那下单模块就是咱们写这个orders。这里边的模块,那咱们找到它的实验类。
29:02
我来找一下啊。在他的实验内中,我们刚才写到。就是里边的这个部分。然后咱看一下啊,首先第一个咱们就是浩源更新的这个部分,然后这是短信的一些封装,最后调用service里边的send message进行这么一个发送,所以现在我们就把这个内容就完成了,关于生成订单部分。
我来说两句