00:00
各位同学大家好,刚才呢咱们完成了用户分配角色功能的分析,下面呢咱们开始开发接口,因为接口中呢涉及到用户角色关系表操作,所以咱们把这个表对应到service和map进行创建,那我首先先创建这个map,我在里边写一下。Service user肉。然后继承这个。Base加上实体类。USA。这个肉。所以现在把map我们进行创建,然后在上面加上注解,这个re,现在完成完成之后呢,我们再创建service啊,其实也可以没有service,只有map也可以,那咱们就单独建个map。
01:01
然后wi之后下面呢,我们在CTRL里边来编写方法,然后咱们看一下啊,我课件中呢,把方法是放到这个角色CTRL中,咱们放到user中也是可以的个,我就按照课件中的写法放到service肉里边来编写这个分配决策的功能,那咱们来到这个controlr里边,Service row controlrler在里边呢,咱们写两个接口。给各位做个说明,首先第一个接口,那就是根据用户获取角色数据,也就是我现在我要进行这个分配角色要先得到用户,之前分配的角色,包括所有的角色咱们都要获取到,为了后面能进行操作,那我下面在这里边我们来写一下。首先我们写的第一个。我这位置加上一个A片。
02:00
Operation。然后加上这个注释。获取用户。角色的数据。这是咱们写的第一个,然后下面我们加上方法,那就加上一个get方法,在里边加上路径,这个路径我就从课件中复制一下,我们将这个to a s user ID,根据用户ID得到这个数据,下面加上里边的具体方法。我们加上一个public。Result。然后后面加上方法,我就叫to。这是一个基本结构,然后在方法中咱们得到这个用户的ID,加上pass,然后加上这个类型的用户ID。得到之后呢,下面我们调用中的方法进行实现,在service里边我们想一个方法就叫get,就是得到角色这个数据。
03:11
根据。用户ID。传入UID,因为这个里边呢,咱最终反应值中有咱们用户已经分配的角色,其实就是角色ID,另外还有咱们所有角色,所以咱为了最终取值,包括方便,咱都用一个map集色做个封装,我们叫肉map,当然你放别的汁也可以,只map更加方便,因为map的最大特点,放置取值都方便,所以咱们就用一个map做一个接收。最终把这个做一个re。result.ok里边加上这个map,现在这部分完成,完成之后呢,我们在service里边把这个方法咱们进行创建。
04:08
那我们来创建一下。Service里边创建方法。最终来到实现类中,咱们把方法最终做个实现,根据用户ID得到用户分配的角色数据,并且我们还要得到所有的角色,那咱在里边写一下。首先第一部分咱们这么来做,先获取所有的角色,咱们直接调用。Base map中的方法,Select list,直接传个,最终返回的就是所有的角色,比如叫这个Rose,或者叫肉栗,啊,它就叫Rose了,这是第一个。然后第二部分我们来写个代码,根据用户ID。
05:02
进行这么一个查询。也就是查询用户,他已经。分配的角色的信息,那咱来写一下,这个过程中呢,要用到我们另外这个表,也就是这张表里边system user,因为里边存到了用户分配的角色的ID,那咱们要用到刚才写一个map,我现在把这map给它注入进来,为了咱能进行操作。我们做个注入。加上这个private system user。把这个注进来,然后注入之后在里边写下它的方法,这个方法呢,因为要做条件查询,根据咱们买法里边讲到的,加上一个query rapper,然后加上system user肉。
06:02
加上rapper等于new上一个rapper,在rapper中设置它的条件就是用户ID,咱们看一下字段user_ID这些字段各位最好复制一下,防止写错。咱直接拿过来。然后之后调用中的方法,我们进行实现。Select list传入rapper,最终返回的是一个list集合,我们就叫user Rose,所以现在这数据就查出来了。数据查出来之后呢,这个集合里边呢,应该是有所有数据,因为表里边你看啊,有用户ID,有本身ID,有你的角色ID,包括时间等等,但是我们目前应该只需要里面这个角色ID,所以咱们做法就是从集合里边把所有的角色ID给他获取一下。
07:00
我写一下啊,从这个user Rose的集合里边获取所有的。角色ID,那大家想一下怎么做,很简单啊,就是把这集合直接变历就可以了,那我们来给它遍历一下这个集合。咱们加上一个负循环,然后把它进行。System user,我们叫。U色肉,然后加上这个集合啊集合为了看着方便,咱们加上一个栗色,防止我们写乱啊,给它加上栗色,现在完成便利,便利之后呢,从user色肉里边取到里边的每个角色ID。Get肉ID,把这个给它取下,然后现在我们就得到这个ID的这个值,这里边我们就完成,完成之后呢,我们继续往下来写。
08:05
因为这里边会有多个这个角色ID,所以咱们加上一个粒子集合,把它放到这个集合中去,肉ids等于U上一个瑞list,然后把它放到这个集合中去就可以了,点上A的加上肉ID。所以大家看啊,现在我们操作之后,在我的这个集合里边有当前用户所有的角色ID,所以现在数据都有了,最终再把这纸放到map中,最终返回可以。封装到map集合,这个过程我就直接复制了啊,很容易,咱直接就是new map集合向里边put数据,最终做个退,咱们把这个拿过来。然后咱们个集合,第一个放咱们那个所有的角色。
09:07
然后第二个咱们放,就是用户里边已经分配的角色的ID的集合,把两只放到map中,最终我们进入退,所以以上第一个接口就完成了,获取用户的角色数据,包括所有的角色。然后这个之后呢,下面我们再编写第二个接口,第二个接口就是根据用户咱要分配角色,然后过程刚才咱也做了分析。先删除之前已经分配角色,最终再保存新的角色信息,那咱们一会儿进行实现。
我来说两句