00:01
下面呢,我们来开发就诊人管理接口,就诊人管理接口就是对它实现一个增删改查操作,而我们操作的就是里边这个patient这张表,在表里边实现一个增删改查的这个内容,那下面呢,我们就来开发这个接口。首先里边的第一部分呢,我们现在项目中引入这个依赖,依赖就是我们这个c mn service可耐这个依赖,因为咱们后面应用到远程调用得到我们数据字典中的内容,所以我现在把这依赖先给它引入到我们这个user的破文件中,为了后面我们操作方便,现在给他最后引入这是我们里边的。第一步把这个我先给他写完整。包括里边这个内容我给他啊,直接这么写一下啊。这个我先给它去掉啊,再重新加一下,我们加一个dependence。
01:02
然后加上一个。底盘的里边加上这个叫。C mn client,把这个我们给它加上,这样的话这个依赖就引入了,为了后面实现这个远程调用做准备,然后这个做到之后,咱们下面把里边的service controller,还有它的map快速创建一下,那下面我来创建,首先第一个我先创建这个CTRL,然后CTRL我就写到这个API里边,在API中把CTRL类我们创建一下。然后CTRL起名,我们就要这个patient A片CTR了,我把这个类的名字给它复制过来。然后复制之后在那上边加上它相关的注解,首先第一个注解就是各位都熟悉的这个risk的controller,然后包括里边那个request。买瓶。
02:02
在request mapping中加上它相关这个路径路径,比如我们叫API user的。这样的话把这个我们就加上了,这是关于CTR部分,然后除了CTR之外,下面我们再来创建里边这个service service里边的先把它的接口先创建出来,我们叫这个patient service。然后在里边写一个interface接口。Patient。Service,然后咱们让service来继承一个叫I service。把这个给它复制改一下,因为跟之前都一样。然后复制之后里边加上那个叫patient。就是我们这个model里边这个这一类,这个加上,加上之后我们再来创建里边这个实现类,我在这位置写下。实现类patient service m PL,让它实现我们这个接口patient service。
03:10
然后让实现类它来继承这个叫做service l PL,然后里边写上相应的这个内容,这个咱给它快速补充完整,应该都是之前我们写过的内容,然后在里边把这改一下啊,比如现在我们这个叫培的。这个我们叫patient map。这map马上给它创建,然后在上面我们加上这个注解,就是这个service,这样的话把这个就创建出来了,创建之后呢,最后我们来写这个map map里边我来创建这个。Interface,咱们叫patient map,然后让他继承一个叫face map里边加上他的。
04:02
尸体类。所以这样的话呢,咱们现在把这个结构应该就完成创建,各位应该也能快速做到跟我们之前都一样,包括这里边有一个对应的插入文件,我们暂时应该不需要,那咱给他也写出来,为了咱这个结构更加完整。然后写一下啊,它叫做patient。点拆完了。然后在里边呢,加上它那个名字。Patient。这样的话,这个环境包括相关的类和接口就完成了,然后完成之后下面呢,咱们先来编写CTRL部分,在CTRL中将来写它的增删改查接口,在里边一共有这么几个接口,我先列出来,首先第一个接口我们就是获取这个就诊人的。列表接口,这是第一个,然后第二个接口就是,然后做一个就是添加就诊人。
05:07
我写一下添加就诊人。然后里边的第三个在是要做一个修改呀,而修改的时候呢,应该有两操作,第一个就是根据ID获取就诊人的信息,然后第二个那就是修改就诊人。和小的位置修改。就诊人。包括还有最后一个,那就是删除就诊人的信息,所以咱们在里边一共就完成里边的这几个接口,第一个获取列表,第二个添加,第三个ID查询,第四个修改,最后一个删除,各位把这知道,咱就做一个完整的增删改操作,那咱下面呢,先来写第一个获取它的列表功能,那我在CTRL中先把service给他先注进来。
06:02
我们加上一个凹凸曼。Private。Patient。Service这个先注入,注入之后在里边写上第一个接口,第一个接口呢,我们给它起一个名字,比如说第一个我们来一个get mapping,然后里边第二它的名字,这个名字比如说我们就叫这个,呃,就叫做就诊人吧,我们叫这个patient,范欧,或者我就叫这个。Find欧了啊,叫这个名字,或者说我们看一下我这个文档中的名字,文档中我都以这个author开头,那我们跟他就保持一致了啊,咱调这个author find o。这个给他拿过来啊,这是我们写的一个名字,然后下面讲的接口,咱来一个public。Result。加上这个角。Find。
07:00
然后在这里边呢,我们给他传过参数,因为咱后面得到这个救人列表的时候,我们要根据ID要做一些查询,就是当前你这个用户那个ID查出里边的内容,然后做封装,所以咱里边传一个参数,那就是htp request。写一下啊,At。Request,我们叫request,把这个串进去,然后写完之后,下面呢,咱来调用service里边的方法,Patient里面这个方法,比如我教这个。范的这个。哦。根据我们那个。用户的ID。然后在里边呢,我们就可以取到当前这个就是登录用ID,也就是我当前这是那个张小宝啊,他这个ID址,把这ID址取到,然后根据这个ID址得到里边那个救人信息,也就是到这个表中查他信息,包括大家看这表里边啊有一个字段叫UCIID是不是你当前用户ID,而这个用户的ID中可能会有多个就助人,所以大家跟你说用户ID把他丢人信息最终得到就可以了,然后最终返回它的相关内容,所以现在我们在里边就写上这个内容,那这个过程中呢,比如咱们现在在这个方法中,我们得到那个就是相关这个登录者的ID,这个ID呢,之前我们应该写过一个工具类。
08:30
我说各位是否记得啊,咱应该是刚写过,就是里边的这个工具类,我们来找一下。就是他。Author contest polo,然后里边有这个get u ID,得到你的UID,根据它我们可以做这个操作,那我现在把这工具类我们就给它来用一下啊。在里边我写一下,加个注释。先获取到当前登录用户的ID值,调用工具类里边这个get UC ID传入request对象,然后把ID得到,ID得到之后传到方法中去,我们就是user。
09:12
ID。然后最终反应数据,咱们把最终反应数据给它最终返回就可以了,就最终给它做一个捋顺,然后这个反应数据咱让他返一个list集合,因为一个登录用户中可能会有就是多个诱人的信息,所以咱返一个list子集合,List子集合中加这个patient。这样的话,这个结构就完成了,最终我们加一个并吞。就是result。点上OK,然后传告list,这样的话我们把CTRL中力部分就完成了,获取就诊人的列表,然后完成之后呢,咱们下面在service里边把这个方法我们先分解出来。
10:03
那我来做个创建。这个方法,然后创建之后再来到它的实现类中,在实现类中把这方法最终做一个实现。咱们来实现一下啊这个方法。然后这个方法我们需要怎么实现呢?给各位说明啊,这个里边呢,大家看,因为我现在要根据你的用户ID查出里边的就诊人的那个信息的列表,包括咱们通过他可以做查询,但是查出之后呢,返回的这个对象,这一个叫patient的对象,里边有咱的内容,但是内容呢,如果咱只用它返回,应该说并不完整,所以咱要把这个内容呢,进一步的碰中,也就是里边那个数据字典的信息,什么意思呢?大家看啊,比如现在我这个值是不是实啊,就是你那个证件类型,也就身份证号还是什么户口本等等,包括里边其他纸,比如这个什么。
11:03
省的这个编号,什么城市的编号,根据它我要把据值得到,所以这些值呢,我们就需要去查询那个数据字典表,然后把它得到,所以咱把那种要做进一步的封装,而进一步封装中呢,咱就需要用到里边的就是这个属性贝斯NP中这个拍着母。各位应该知道啊,咱之前有的功能中应该用到过这个属性,然后往里面分装一些其他的纸,为了咱后面显示更加方便,就咱们一会儿肯定也是这么来做,这是咱一过程,那下面在里边把这代码我们就来写一下,看它怎么来做,那我来实现一下啊。首先第一个咱是在service中,那我先做第一个查询,根据UCIID查询出这个UCID中的所有的就诊人的信息的这个列表比是它的历集合,那我们来查一下啊,我调这个base map里面这个方法叫做select。
12:08
List里边传你那个条件部分,这个条件叫做curry rapper加上一个patient,我们叫做rapper,等于new上一个query rapper。然后咱们在rapper里边来设置它的值,我们加上一个EQEQ中加上这个叫UCID,这个我复制一下。然后它的值就是我们这个UID,最终把这个rapper给它传进去可以了,它会返回,那就是一个be集合来给它返回一下啊,比如我们叫这个patient。这样的话,咱就把这个结果得到了,但是得到之后呢,其实我直接捋顺这结合是可以的,只是里边的信息并不完整,主要是里边的这些编号只有编号,没有具体内容,比如说这个十,这是1100,这是什么1000等等,而咱要把这些编号给它改成咱们的具体内容,所以咱要进一步查询,而查的话,那就是通过咱们的数据字典表做一个远程调用,把这个我们要做到。
13:23
所以咱下面要进一步处理,我来写一下啊,就是下面的操作中,咱要通过这个。远程调用得到你这些编号,或者说编码对应的具体的内容,而这过程中我们要先这个查询数据字典表中的这种,就要做这个远程调用,也就是刚才啊,为什么我在里边引入这个依赖。Service client,咱的目的就在于此啊,所以现在把这个我们就说明出来了,那下面呢,我们来做这操作怎么做呢?我觉得咱之前写过类代码,而现在我们还是用相同的方式,那我写一下啊,比如现在我用patient list,咱用这个JAVA8中的死人流的方式做到,因为这么做更加方便,我们加上一个叫for each。
14:18
For each中,比如起个名字叫item,加上一个写此U键头就是拉姆的表达式的方式,然后在里边我们来调一个方法做它的封装,比如这个方法咱一会儿写一下,我就叫这个呃,Package,比如叫这个package。然后里边传这个item,咱一会儿通过这个方法咱来完成这个封装,封装之后把这个patient list最终蕊吞就可以了,所以咱一会儿就这么来做啊,这时我们写一个结构,通过次数流的方式把里边这个集合便利得到每个patient对象,然后向每个patient的对象中通过里面那个叫time的属性设立一些其他值,为了咱后面在页面中能显示,而我把封装过程都写这个叫pay package patient的这里边做这个就是。
15:16
其他参数的一个封装。所以现在结构就写出来了,那下面呢,我把这个方法做创建。我来写一下啊,在里边就来写这个方法,做其他参数的封装,默写的完整点啊,就是patient。对象里边。其他三种封装,那怎么封装呢?人就需要用到这个远程调用的那种,那远程调用呢,因为咱们刚才把那依赖已经给它引入进来了,所以我们现在在里边需要把它就是凹注入进来。那来注意一下啊,我们加一个叫奥,然后加一个叫private,我们看一下那个名字叫什么啊,应该是这个。
16:03
我们叫这个D。T client,我叫d client,把它做注入,然后注入之后下面再来远程调用,得到它的具体内容啊,那我就写一个,后面我们就复制了,因为过程都是一样的。那咱写一下啊,首先第一个我们用这个叫did client,里边这个方法叫get name,那我们查的话呢,比如现在啊,我们先查第一个根据data code,还有里边这个Y6值查,那第一个呢,比如现在我们来查里边的就是。这个值就这个证件的这个类型的编号,比如咱是十或者其他值,然后十或者其他值会对应我们的具体内容。那我们看一下啊,你看这里边十对应的是身份证号,身份证二是对应的是户口本,所以咱们把它做查询,根据你这个就是。
17:02
扣,还有这个Y6值,我们做个查询,那下面我们来写一下看怎么做啊,第一个呢,咱之前在这个model中应该引入了一些相关的类,在类中有一个枚举类,就是这个叫d in um,然后里边有这个就是证件的类型,所以咱需要把这支取道,然后操作我就直接写下啊,我们用这个叫。地头。就是枚举这个类,然后里边得到这个叫证件类型,咱们取到它那个具体的值date扣,这是第一个,然后第二个从这个patient里边。Patient啊,这叫item了啊,我们改一个叫patient。这个,然后从patient中的取到里面那个Y6值,就是我们那个十的那个值,咱们就get。这个T这个值啊,因为这个值也就是咱们看到的。
18:02
里边的这个十,根据它我们做个查询,然后查询之后返回它的具体内容啊,这个内容呢,比如说我们给它起个名字,咱就叫这个。证件类型这个名称。我想这里啊。我们叫这个证件类型的这个加个string吧。这样的话,我们就把第一个值取到了,然后其他支取的方式跟这个调用应该说是一模一样的,那加上注释啊,第一个就是根据你那个证件的编号或者编码,或许那个证件类型的具体值,比如它是你的那个身份证还是你的户口本啊,这样的话得到了,然后其他的过程呢,我就从课件中复制了,因为跟他是一模一样的。也就是里边的这几个值,我把它都拿过来。然后放到我们这里边,咱们来看一下啊,第一个刚才写到就是这个证件类型,然后第二个就是你这个,你看这个啊,它是那个联系人的证件类型。
19:11
然后写一下。就是。联系人的。证件类型,比如说我现在我这个人是张三,是我的认证用户,然后我张三呢,喜欢他的亲人,比如他亲人叫张二,为他加一个这个就助人,所以就是他那个典型人的这个类型,就是类似于这种形式。写下啊。联系人的证件类型,然后下面有一个那种叫province string是一个省,就是它所在是哪个省。然后下一个叫city,就是它所在市哪个市,比如他是河北省石家庄市啊,哪个市,然后下面有它的区,比如他在河北省石家庄市,然后某个区域的这个内容。这个啊是里边的通过数据字典查出来,然后这些值呢,都查出来之后,下面给它就放到我们这个patient的这个P里边,通过put往里面放值,包括大家看就是刚才这几个值,最后放了一个叫for address,就是它的完整的地址。
20:16
最终把这个patient的给他返回就可以了,然后这里边我们就让它直接啊存这个patient。做一个。水退。这个就是关于我们写的。就诊人列表方法,咱们现在把它就最终完成了,所以大家就是这个过程啊,咱们把过程再看一遍。在这个过程中,我们的做法就是CTR中得到你当前认证或者说登录的用户ID,然后根据用户ID查出用户下边的所有就诊人,查出来之后访问list色集合。当然这个list色集合中的数据并不完整,主要是连这些编号没有具体值,所以咱们需要通过比程调用,调用那个初据字典表中查询出这些编号对应的具体值。主要有这么几个编号,包含证件类型。
21:13
联系人的证件类型,省市和区,最终把值取到放到这个patient里边的P属性中,把它做返回,返回之后在patient的对象中就有完整的数据,然后咱们方便在前端页面中进行显示,所这就是关于就诊人列表接口的这么一个事件,咱们现在就开发完成了。
我来说两句