00:01
各位大家好,我们继续来开发医院接口。刚才咱们把医院列表接口初步做了实现,但是因为我们医院列表的数据中有一个医院等级,而医院等级呢,咱需要去查询我们的数据字典表才可以实现出来,所以说我们现在我们就在这个CMN模块中来创建接口,实现查询医院等级的接口。那下面我们来做一个实现,而在这过程中呢,医院等级需要查询,另外在数据字典中还有省市区是不是地址,所以这两个我们就写两个接口来做查询,那咱们怎么查询给各位来做分析,首先大家看一下里边的数据。我们来分析一下。咱们先看这个省市区的这个数据,那咱们往下来找。各位看,这里边是不是有省市区域啊,而省市区这位置有一个值叫做Y6值,大家看,因为我们这个数据是写的比较正规的数据,所以它的Y6值,每个省市区的Y6值是不是一个唯一的值,所以我们现在如果说你想查询省市区的地址,那我们根据Y6值是不是就可以进行查询,不需要其他数据,所以这是一会咱们写的第一个接口,根据Y6值去查它对应的名称。
01:27
然后除了这个之外,比如咱们一会儿要查询医院的等级,但是医院等级中有同学想我根据外值是不是可以直接查询,但是大家注意啊。这个等级的Y6值是不是可能不是唯一的,比如说你看我这个值是一,而我这个值是不是也是一啊,所以它不是唯一的,所以咱们查这个就是医院等级的时候,或者说你查这个正电类型的时候,咱直接通过Y6值是不是查出的数据可能会有问题,那我们怎么做,咱是不是能加一个数据啊,比如说我们现在。
02:01
加这个是不是可以的。就是我们这个第一个code,比如说我们查医院等级,那我们加一个host type,比如说我们查省,那我们加这个值,所以我们现在就根据这个第一个code和Y6值去查这个医院等级,所以下面咱就写两个接口,第一个接口根据第一个code的和Y6值进行查询,第二个接口根据Y6值直接进行查询。那咱们下面就写这两个接口,为了一会儿查询医院等级做准备,然后最终咱通过远程调用做一个实践,下面我们就来写下。然后写的过程中,咱们就来到这个CMN这个模块中,在这个模块中,咱们现在把这里边的那种打开,咱们就找到这个D口CTRL中,在D考CTRL中,现在我们就写上这么两个相关的接口,咱们来实现我们的。操作,首先我们写第一个接口,就是根据我们这个。
03:05
D口扣的。和这个Y6值进行这么一个。查询,然后第二个接口根据我们的Y6值进行查询,最终都返回我们那个名称,就是返回内这个值,那咱们先写第一个接口,我在里边写一下。首先我写一个get提交方式,然后在里边给它起个名字,比如说这个名字我就叫。Get name,然后get name,后面咱们传两个参数,第一个参数就是这个第1CODE,然后起个名字就叫D。扣的。然后第二个参数是这个。这样的话,咱们现在就把这个。头写出来了,然后写完之后,下面我们写方法,Public。
04:00
我们起个名字,就叫这个get name。然后这里边因为咱们现在要直接反映它的名称,所以咱为了方便,我就直接写个string了,你写个result也就可以了,我就直接来一个string,为了咱后面取值方便。然后写完之后在方法中把两个是不是要取到,因为我们这么写是通过路径传值,所以在里边加上一个past这个注解,然后它的第一个值就是这个。是一个code,然后里边的第二个值我们加上pass,注解结一个string value就是它的Y值,所以现在这个我们就取到了,然后取到之后最终咱就可以调用这个D。Service里面的方法做查询,那这个方法,比如给它起个名字,我就叫get这个呃,D和name。就是得到你这个数据字典的名称,然后在里边把两个参数传进去,一个一个code,一个value,然后最终让他反一个string,就是我们那个名称。
05:12
必考。所以这样的话,把CTRL中这个调用结构就写出来了,然后它反应值之后,最终咱通过蕊顿给它做一个返回,就把这个第一个name给它返回就可以了,因为咱们返回是一个string的这么一类型,所以这时候我们写的第一个接口根据一个code和Y表进行查询,然后咱们在里边啊,我们再写第二个,第二个呢,就是直接根据Y6进行查询,所以里边就传一个。Y6参数这个位置,我们就写上这么一个Y6。然后写完之后,这里边呢,比如说我们现在啊,咱让它就调同一个方法,那这个值呢,我就给它直接来一个空,然后最终让它也是反映我们这个na,所以这样的话,咱们把CTRL就完成了,然后CTRL完成之后,下面咱们在中把这方法做创业。
06:11
那我来创建一下,这是interface中的定义。然后来到实现类中。咱们把方法最终做个实现。所以现在这个我们就写出来了,然后写完之后在里边我们写一下它的具体方法,因为咱们现在我们这两个参数,第一个参数可能为空,所以咱们一会儿做个判断,做个查询就可以了,那下面咱给他就快速写下。首先我先写第一个逻辑,我们来加个注释啊,就是如果说这个第一颗扣的这个值它本身为空,那我们就直接。怎么样根据这个Y6是不是进行查询啊,是不是做这个,如果它不等于空,那咱们再根据这个一个扣的Y6再进行查询,那咱们现在先做第一个就做一个判断。
07:07
那这里边呢,我加上一个。If。然后if里边呢,我加上一个工具类,就这个string u的点EM体叫一个扣,如果说这里边这个值它等于空,这一行代码判断是不等于空了,那等于空的话,咱就直接根据Y6进行这么一个查询。那咱们来调方法给他查一下。在这里边呢,我们就调这个base map中这个方法,这个方法应该是select,这个是不是在Y啊,因为它里边Y轴值是唯一的嘛,就是这么一个值,然后在这里边加上咱的条件,条件我在外边new一个叫query。Rapper里边加上这个。然后这个名字我们叫rapper,等于上一个query rapper。
08:08
咱们向rapper中来设置它那个条件,我们加上一个EQ,它的字段是Y,然后值这是Y,也就是咱们根据这个值做查询。然后写完之后,咱把这抓混进去,最终它就返回我们这个第对象,然后返回第个对象之后,最终咱们可以把它做这么一个比退。那我们给他就直接返回一下。瑞屯。B口点get这个。就是M,这样的话,咱们现在把这个就完成了,如果它等于空,咱直接根据Y表做查询,然后我们再加个else else逻辑应该很简单了,如果说这个值不等于空。就是它不为空。那我们怎么做,是不是要根据我们这个。
09:01
第一个扣的和Y6是不是应查询,就根据两个条件我们做查询,那下面咱们给他就来写一下,根据两个条件我们来。做一个查询。那咱们看这个应该怎么去做,那我们来写一下啊。首先各位看啊,第一个扣的呢,因为咱们现在查的这个值是不是查我们的医院等级啊,也就是说根据这个值做查询,而这个值呢,它没法查询下边的真正等级,所以咱怎么做的,给大家说这过程,首先第一步咱根据这个一个扣的是不是可以把这个院等级这一条记录查出来了。然后它是不是有ID啊,我们根据ID再查询ID下边的这个值,因为你看这个关系啊,这个ID和它PD是不是一样的,所以我们现在根据这个我可以做查询,就是加上per ID和Y值,做到这过程我再说一遍啊,首先根据第一个code查出这一行数据的ID值,再根据下面的per ID,看哪个per ID跟它一样,所以把这个值和Y表一起做查询,那下面我们就来写下这个代码。
10:15
那我们写一下,首先第一个根据这个D扣的查询我们这个对象,目的是为了得到里边这个D的这个。ID纸,那我们来查一下,那查的话呢,我们就直接用这个,还是跟这个方法基本上是一样的,那咱用它就快速写下。那我们来看一下啊,首先我们用一个query rapper,然后这里边根据这个字段,它叫做第1CODE,我把这第一个code给它叫。复制过来,省得我们自己写,写错就这个第一扣。拿过来,然后这里边呢,传入咱们这个。
11:00
D口扣的。把这个rap传进去,最终就返回我们这个D这个对象,那这第一个对象为了区分,比如叫这个就叫。扣的。为了区分一下啊,就是现在这个对象就得到了,然后得到之后呢,咱从里边把它的ID得到,就是里边这个code d.get。ID。把这个值我们先给他得到,就是里边的这个值。比如说给它起个名字,我就叫这个,呃,Current。然后这个得到之后,咱们再继续往下做,往下怎么做,根据这个parent ID和它的Y值。进行这么一个查询,也就是说我们现在啊,你看啊,把这个值得到了,然后呢,根据看哪个PID跟它一样,包括哪个Y轴值跟我们这个值一样,用这两个。
12:01
字段的值,我们最终做查询,比如说现在我们要加上两个条件,把这个做到,那咱来查一下啊,而查的方式跟上面应该说类似,那这个结构呢,为了更加明显,比如我这么做啊,我把这个部分给它抽取出一个方法来。各位说是不是也可以,就是为了咱们看起来更清晰,那我写一下啊。D口,我们叫做get这个D口。根据这个。D口扣等。然后里边呢,传入你那个第一个扣的这么一个值。给它就是加一个方法,你这么看更加清晰,然后里边这么一个结构,最终咱们把它做一个比混。扣D口,然后写完之后在这个位置,咱们把这方法我们来做一个调用,这次点get这个D口,摆一个code里边传入这么一个参数。
13:04
然后最终就返回我这个对象,然后咱们从对象中把ID值得到。是不是可以这样这么写更加轻一点,然后写完之后下面我们再做查询,那这个查询我就直接写一下base map,点上that y,然后里边我就直接给它上一个query rapper。加上咱们那个D这么一个泛型。这里边加一个闭口。然后在这里边呢,我们在就是。点上一个EQ,因为它里边就是有这么。两个条件,首先第一个根据这个parent。ID。它的值就是里面这个parent ID。然后除了他之外,还有下一个,我们继续就是。写下啊,点上一个EQ,然后第二个字段叫Y表,它的值也是这个Y表。
14:03
然后最终我们这么做,就查询出返回这么一个一个对象,比如这个我们起个名字,咱就叫那个。Final或者区分一下,然后反应之后,最终我们通过里边把它名字得到做个返回可以了,那咱就加一个铝。叫做final final。D口。点上get这个内。所以这样的话呢,我们现在把这个部分我们就最终完成了,记住我们写的一个基本结构,然后这个过程给各位再来说一遍,咱看我们的写法啊,首先第一个在CTRL中我们写了两个接口。两个接口中,第一个根据code和value查出你那个数据字典名称,第二个根据value查名称,然后这里边都是调这个get内方法,然后在方法中我们做了一个if加L判断,第一个判断如果说D个code等于空,那咱就直接根据Y做查询,返回你的名字,如果它不等于空,那我们根据里边这个两只做查询,但是查询过程中,首先咱根据这个第一个扣的先把这个ID查出来。
15:20
再查询ID下边的。D和Y6值。跟它是否一样,比如这个查询出你这个code的D,然后得到里面的ID,再根据PID和Y6值做查询,最终也是返回它的名称,这个过程归给他要能写出来。所以这样的话呢,咱们就在CMN中完成了回数据字典名称的方法,也就是咱们一会儿要调的这个返回医院等级名称的方法,这样的话,我们的这部分咱们就写完了。然后这些呢,都写完之后,可以说目前呢,已经是万事俱备了,咱最终做的,大家说最终的要做什么。
16:07
是不是就做这个就实现一个远程调用吧,通过这个service hospital去调用service c mn,得到咱们这个医院等级的这个名称,然后最终在页面中我们可以做一个显示,然后一会儿咱们把这个远程调用,最终做个实现。
我来说两句