00:01
各位大家好,欢迎继续收看上硅谷视频课程,我们继续来开发相关的接口。刚才咱们开发了医院的接口,包括科室接口,然后咱们最后还剩下的就是排班的接口,那咱最后把排班的接口做开发,首先我先解释一下什么叫排班,就是这个很好理解,比如我现在我去这个某一个医院,医院里边是不是有很多的科室啊,而科室里边是不是有很多的医生啊,比如说这个医生是一个主治医师,他叫张医生,而张医生比如说在9月1号上午要出诊,是不是他一个排班,而比如说现在我去9月2号去出诊,这里边肯定不是张医生,可能是李医生或者王医生,所以这样的话,我们要设置他的相关的排班,就是某个医院某个科室在某一天有哪个医生要出诊。然后他挂号有多少个挂号,比如他有20个号,这里边挂了多少,还剩下多少,在咱下面就来做这个排班的接换接口。
01:09
而排班接口中跟刚才的科室基本上是一样的,也是包含三个接口,第一个就是上传排班,第二个是查询,第三个是删除,所以咱们下面快速把这三个接口做到,我们就仿照刚才科室快速做一个开发,那咱们下面就来写一下。首先第一部分我们在里边先添加一些相关的基础类,第一个咱看一下啊,在model豆里边的好的批斗中有一个基础类叫筛掉,就是咱的排班里边是不是有相关内容,这个已经导入过了,然后咱们下面在我们这个服务里边,第一个我先创建一个repy,把这个咱做创建。那咱们来一个interface这么一个接口,我们起名叫这个schedule repy。
02:07
然后咱们让这个repy来继承这么一个接口,那我们继承一下这个mango。P里边加上咱的这一类,就这个筛掉,然后加上一个string。这样的话,咱们把这个repy做个创建。然后创建之后,第二部分我们再来创建它的service。在service中,首先第一步先创建一个interface接口,比如我们起名叫这个schedule service。创建之后再来创建它,相关的时间内我们来创建schedule service。MTL让它实现咱们这个接口。筛掉。
03:03
然后在上面加上咱们的注解,我们加一个,加上之后,因为service里边要去调用Rep中的方法,所以咱们把它快速注入进来。Private筛掉。Repttery,然后叫schedule re pottery,这样的话咱把这个就完成了,所以现在基础类做创建,然后创建之后下面咱开始写这个ctrler,在CTRL里边,首先我们先来完成里边的就是第一个接口,就是关于上传排班的接口。我们来写一下。那这个接口跟之前上传科室应该说基本上是一样的,那咱就快速写一下,首先我写一个POS的提交,然后在里边加上我们的路径,这个路径咱们到技术文件中找一下上传排班。
04:01
然后路径就是这个。筛掉,我把这个名字给它复制过来,然后下面加上方法public。Result,比如起名就叫save schedule在里边咱们同样还是用这个http request,然后里边得到数据转成这个map集合,跟之前应该说一模一样,然后转成map集合之后,咱们下面肯定要做一个那个签名的一个校验,这校验我就不在这里写了,因为之前咱都写过,给各位加一个注释,各位按照之前方式给他自己完善出来。签名的一个校验,然后校验通过之后,咱们再调用我们的service中的方法,最终完成这个操作,那我们来调一下这个筛掉。Service,咱把那个筛掉,Service给它快速注入进来,来做个注入,我写一下。
05:00
Schedule。就是。然后把它做一个注入。注入之后,咱们就可以调用里边这个方法,比如单位方法起名我们还叫这个C,里边就传入咱们这个。外部集合,然后最终给它来一个返回值。result.ok这样的话,咱们现在把这个CTR了,就快速完成了,就是我们的第一部分,然后完成之后,下面咱们开始写这个service,那我们来写一下。关于这个service,在service中,首先咱们把这个方法先做一个创建。放建之后来到它的实现类中,实现这个具体方法,而这方法写法跟之前一样,咱们首先是不是查一下,看数据库中是否存在,如果说里边存在的话,咱们是不是做更新,不存在的话,我们是不是做这个就是添加,所以咱们来写一下,因为这个方法跟咱之前做那个上传科室应该说基本上是一样的,那我就仿照之前的,咱给他就快速改出来可以了,因为没有本质上的区别。
06:21
那能给他改一下。我把这个给各位就复制过来,然后咱们到里边给它修改一下。那我们来记录,咱给他改一下啊。上环。排班等接口,然后在里边首先第一部分得到咱的数据,变成字符串,然后把字符串转成咱的对象,我们的对象是这个叫schedule。然后写一下这个筛掉。然后后面我们起名叫这个。筛掉给他。调整一下格式啊,然后这里边变成这个筛掉点class,这样的话咱们就转成对象,然后转成对象之后,下面咱们先做个查询,因为咱的排班肯定要根据医院编号还有科室编号做查询,所以在里边咱就调用这个叫筛掉re中的方法做查询,然后查的过程中咱还是用这个data规范查它的排班,那把这方下名字改一下,我们改成叫get这个。
07:31
筛掉。拜。这个hospital code and这个department code,然后这个给他做了一个修改。然后这个修改之后,下面在里边咱可以传入它的相关的参数,根据这个我们可以做一个查询,那这查询咱为了不写错,咱可以看一下啊,咱那个医院里边传的数据是什么,看咱们写到是否正确,因为咱要查询这里边相应的这个排班。
08:04
那我们来给他看一下啊。咱们找到那个上传排班应该是这个。然后在里边大家看它里边要传入这么几个相关的参数,咱们来看一下这参数有什么参数。啊,各位看啊,里边的参数中呢,包含医院的编号。部门就是你那个科室编号,另外还是不是还有这个排班的编号,所以咱们要查的话,我们应该是根据这个医院编号是不是排班编号进行查询,所以根据这个更加合适来了,给他稍微改一下啊,在里边第一个我把方法名字改一下,就是前面不需要变,根据医院编号查这个筛掉,然后按的后面加上咱那个排班的那个编号。排班的编号我到这里边给它就复制一下这个叫hos,筛掉ID,把它直接拿过来,然后把这H再给它换成这个大写,这样的话就可以了,然后可以之后咱通过这个就是转成这个对象中,把它值取到第一个值这个医院编号第二个值是这个。
09:12
排班的编号我们给他取一下。点get这个筛掉ID,然后最终得到咱这个对象,这一对象应该不是department,是这个筛掉这个对象,我们给他拿过来,所以这样的话,咱们现在就做这个插曲,把这个注释改一下啊。排班,然后这个选完之后,咱们下面在re reportary中把这方法做个创建,因为咱们之前提到w date,它就直接可以整合猫DB,而里边用的规范在monggo Rep中就会帮咱把这个方法做个实现,不需要咱们单独实现,咱只要把名字写对就可以了,然后写对之后下面咱做判断。
10:00
首先咱先判断。我这个对象不等于空,咱们这里边就是做这个修改,如果说等于空,那我们就做这个添加,那咱给他来做一下啊,首先第一个咱们看一下,在这个筛掉里边,咱也做它这个更新时间,包括它这个删除标志,咱们到它的对象中可以看一下,就是里边这些相应的数据。另外里边应该还有一个这么一个状态,比如状态咱就给它写上这个。啊,把状态给他解释设置一下,然后写一下啊,这个筛掉。一个点上set。Thes这个值我们就来个一,然后最终我们调这个筛掉。Reperry里边的方法,把对象传进去就可以了,然后出完之后,下面咱们再做这么一个,就是添加操作,也是调里面的方法,然后咱们向筛旧中传入一些新的参数,包括它的创建时间,修改时间,里边的删除标志,以及它这个就是就诊状态,也是停诊还是可以预约的状态。
11:12
然后最终调方法,把它就加到数据库中,所以咱们到这一步就完成了这个上传排班的接口,把这个我们就做到了,跟之前科室应该说一模一样,所以这个方法给各位快速就完成了。各位把它应该能给到准确的做到。然后这个做到之后,咱们下面再来写第二个接口,咱们有上传排班,是不是就会有这个查询排班,包括有删除的表接口,那下面咱们写一个查询的接口。我来自我实现。咱们也是仿照科室写一下,我们写一个POS提交里边加上接口的路径,这个路径我到文档中找一下,查询排班。
12:04
大家看路径,叫这个筛掉list。把它拿过来,然后下面加上方法。Pale。Result,比如我给它起个名字,我就叫这个find。筛掉。就叫这个名字了。然后这个我们就是写完之后,在这里边呢,我们来得到它的参数,它的参数肯定也是用这个蕊快的方式得到,那我们就写上一个request这么一个参数,然后参数也是转成一个。Map克集合是不是这么一个结构,然后转成麦克集合之后,咱们下面继续往下来做,而做法跟刚才那个科室是一样的,那我们就找到科室用它,咱们给这个快速改出来就可以了,因为跟它基本上是一样的,没有本质的不同,只是说换了一个。
13:00
对象而已啊,那我们看一下,首先这个过程中,我们肯定需要这个。医院的编号肯定需要,另外这里边应该需要什么那个。包括科室编号等等,另外它也需要我们的当前页还优美的技术数,所以这些值跟之前应该都一样,然后一样之后下面咱们把这数据给它解释,放到这个VO里面去,VO在我们这里边也有相关这个类,让我们写一下,这应该叫schedule。Query VO应该就是这个。给这个写下啊,然后后面我们写它的名字,筛掉快VO等于谬上这个对象,然后咱向里边设置这个值,就是咱这个医院的编号啊,当然里边可能有这个科室编号,咱把它也给它来获取一下。我小的位置就是科室的变号。然后科室编号的名字应该叫这个DEP code。
14:05
这是克制编号。我把变量给它改个名字,咱们把科室编号给它也设置到这个V里面去。这样的话我们就完成了,完成之后呢,咱们下面来调用这个就是筛掉。Service里边的方法,最终来做这个创新操作。那我们来调一下啊,然后这个方法起个名字,比如叫这个饭的配置,这个schedule。这方法改个名字。在里边传入当前液,每日肌肉数。还有这个筛。Query view对象最终返回是一个配置,然后里面的泛型是这个。筛掉。所以这样的话呢,咱们现在把这个CTR部分,我们就快速做到了跟科室基本上一样的,然后做到之后咱们下面在里边把这个方法我们做个创建。
15:11
好的来创建一下哈。这是接口中咱们来到实现内中实现这个方法。这个方法中,因为他做的是一个查询的这个操作,那我们给他就最终来查询一下,大家看他最终的写法,然后这个写法应该跟刚才是一样的啊,我也是偷懒一下,把刚才代码直接拿回来,因为咱刚才写过一遍,各位写的时候,你这里边把第一个模块准确写出来,然后后面可以仿照之前的快速改出来就可以了。那这里边我把这些代码咱们拿过来用它快速改一下就可以了,就刚才我们做那个分页应该就是里边的。这段方法。我把它直接顺过来,然后咱们快速改一下啊,首先第一个我们顺着这个配置A步这个对象,然后在这个位置我们传入这个叫筛V,给它复制到我们这个筛对象中去,然后把这个改一下啊,这个筛掉。
16:15
这个是。Schedule。然后下面也是做这么一个复制,向里边传这个值啊,另外它还有一个值,就是那个状态,我们默认是一。然后除了这个之外,这位置设它那个模糊查询,然后这里边拼接它那个条件里边咱传一个叫筛掉,然后最后我们调用这个角筛掉。Re,中的方法做这么一个条件查询,带分页里边传入相关的这个参数,咱把泛型都给它。写正确。所以大家看现在咱就把这个条件查询带分页这个方法就快速写出来了,就是这么一个事件,各位能给它做到,然后这个写完之后,咱们最后再来写这个删除排班的接口,把这个我们来选一下啊,首先我们先来到。
17:14
API导。CTRL中在里边我们写这个。删除。然后删除,咱们也是首先写上一个提交方式,然后里边加上它的接口的名字,这名字我们到API文档中来找一下,就这个名字叫shadow。下面加上它这个方法。比如我们叫就叫remove了啊。然后在圆里边,我们还是。用快的对象得到咱们相应的参数,那这参数也是给它转成一个。部集合,所以这些步骤应该都是一样的,然后转成外部集合之后,下面我们肯定做这么一个,就是它相关的这个校验,然后根据我们相应的参数做一个删除,而它删除中需要这么两个值,一个是医院编号,一个是那个排班编号,所以咱们把两值先得到获取一下。
18:21
医院编号和。排班的编号我们来获取。map.get加上医院编号。就是s code,咱给它变成一个string类型。这个位置给它做这么一个强转。然后这个做到之后,再得到那个排班的这个编号,那排班编号它那个名字我们到这里边来找一下,刚才咱应该是找到过这个编号。那我们来找一下啊。我们就到那个医院系统中找一下那个编号的名称应该是这个。
19:03
筛掉ID。咱给他拿过来。然后得到这么两值,当然下面可能做一个签名的一个校验,这各位给他去自己完善一下。我写个注释啊。鲜明的校验,如果校验通过之后,那能够调用这个筛掉service里面这个方法,比如我们起名叫软木,里边传两参数,一个是院编号,一个是你的排班编号,做一个删除,然后最终我们蕊吞一个。结果。这样的话把ctrler咱就完成了,然后ctrler完成之后呢,下面呢,咱们来在中创建一下这个方法。那我们来做个创建。这是service的接口。然后咱们进入到他的。
20:00
实现类中,在实现类中把这方法做实现,然后这个方法怎么实现呢?大家注意啊,因为咱们现在要删除这个排班,所以咱们首先是不是查一下数据库,看数据库中有没有这个排班信息,如果没有的话,咱就不需要删,有的话咱们得到ID是不是做过删除,那下面咱就来查一下。我写一下啊,先根据我们的。医院编号和。排班的。这个编号查询出你相关的信息,那咱调这个筛掉,Re,这中的方法,咱根据省略的规范把这方法起个名字应该就是。这个方法刚才咱们用过,Get,筛掉把。HYS扣的还有这个台边ID里边传这两个参数。Hospital code,还有这个schedule ID。
21:04
然后出完之后,它会返回这么一个对象,这个筛掉。然后下面呢,咱们就做一个判断了啊,我们来最终写一下。判断一下。首先如果说它返回到筛掉对象。不等于空表示数据库中存在,那咱就调用它的这个方法。来做一个删除,我们调这个叫delete白地,然后根据这个对象得到里边这个。ID,最终我们完成一个删除。所以各位注意啊,到这里为止呢,咱们就快速把这个排班的三个接口就完成了,它们包含上传。开外接口。查询排班接口以及删除排接口,所以各位能把这三个接口仿照刚才的科室能快速写出来就可以了,然后写完之后,咱们最后把三个接口做一个统一的测试,看一下咱们最终效果能不能现出来。
22:14
那咱最后给他救试一下。首先咱们把服务先给他启动起来,那我现在启动下,启动之后咱们在医院的模拟系统中把排班的三个接口做个测试。我们先等它启动。各位看,现在已经请起来了,然后咱们来到排班的这个里边,我们点击排班列表,在里边点击添加,我们先添加数据,而添加数据在我这里边已经提供好了这个相关的数据,咱们看医院接口模拟系统中视例数据,找这个筛掉点把它打开。然后里边有我们相关数据,咱把它复制直接放到这里面来。
23:02
然后咱们点保存,大家看最终的结果是怎么样的呢,我们来看到。提示咱们是不是成功了,所以现在数据我们就加进来了,包括咱看列表是不是做了显示,显示之后,比如现在我们试一下这个删除。比如说我现在我把第一行记入删掉。然后咱们点删除确定。各位看数据是不是就删掉了,所以这样的话呢,咱就把这个排班接口就测试完成了,也就是说到这里为止了,咱这个数据新闻接口就都完成了,通过这里边的医院管理科室列表,排班列表,咱完成了我们这个平台中相应数据的操作,所以各位把这三个接口都能给他做到。
我来说两句