00:00
下面我们继续来完成角色分配菜单的接口,刚才我们做了第一部分,根据角色获取菜单的这个接口,那下面呢,我们来实现第二个接口给角色分配菜单,咱们来具体写一下。首先我加上注解A片。然后里边加上名字,给角色分配菜单权限。加上之后,下面我们写上它的具体方法。咱们加上一个POS提交,然后在里边给它起上一个路径的名字,为了前端方便,我跟课件中保持一致,Do,我在给角色分配权限。加上之后我们加方法public result。度。我在。然后在方法中我们得到就是分配那个相关的信息,咱们加上一个request body,这个各位注意啊,咱们看一下之前我们写这个角色菜单的这个过程,就是菜单角色包括用户角色的过程,咱们找到啊,咱之前写过有一段代码。
01:18
大家看这个代码啊,就是我们的这个地方。咱们用户分配角色有一个VO类,在VO类里边呢,有用坏地还有角色的列表,当时咱们是写了一个VO类。而目前呢,这里边一个view类,我写一下啊,这个类叫。他的名字叫menu view啊,我这里写一下啊。Menu。这是一个。那这个类呢,里边有什么,咱们看一下啊,第一个就是角色ID,第二个是菜单ID列表,就一个集合,咱们最终能完成这么一个分配,这是我们看到的,然后这个之后我们继续往下来写,下面呢我们调用方法进行实现。
02:08
System里边叫do s。传入这个VO的这个对象,然后最终我就直接存一个OK了。这个CTRL部分完成,完成之后呢,下面咱编写里边的方法。首先我先进行创建。创建之后来到实现类中,最终我们做一个实现。我们写到这里,那怎么实现呢?按照刚才咱们的分析过程,给大家同样啊写下步骤,然后咱们最终写代码。首先第一步操作咱们干什么?比如我的角色啊,之前分配过权限,那的做法就是根据角色ID。先把之前那个就是权限相关的这个菜单ID给他先删除掉,这是第一个根据UID先进行删除菜单的这个权限,这是第一部分,然后第二部分呢,我们就是进行这么一个添加,因为在这个view里边咱们再看一遍啊,有两个值,一个是决赛地,一个是分配菜单那个列表,咱就把这个进行便利,然后把它一个一个加到咱的表里边就可以了。
03:28
我在这个位置给大家写一下。就是便利菜单ID的列表,然后咱们一个一个。进行添加,这是咱们说的过程啊,但是这里边咱们把这类型。还是都改成string?因为刚才我们加的时候应该都是四人类型,然后改完之后,最后回到这里边,我们最终来编写一下,第一个我们先做一个删除,我们调用system map里边,因为咱要删的话,各位明确啊,删的是这个关系表,把这些数据删掉,你看我这里边啊,是不是很多一它做的是逻辑删除,或者说也可以用物理删除,那我们直接删一下,然后删的话里边有一个方法,它叫delete delete中传入一个rap的条件,因为咱目前不是ID,是角色ID,那这个里边的方法,我们直接在里边就是创建一个条件。
04:25
Query rapper。加上这个叫。肉menu。然后咱们起个名字,Rapper,等于上一个rapper。向rapper中设置它的条件叫肉ID,然后传入角色的ID,我们通过这个V把角色ID给到,最终取到。最后把rapper传进去,咱们就完成了删除以上就是第一步,然后第二步呢,咱从这里边呢,把它那个集合取到,那我们来取一下get里边那个menu list,就是里边所有分配那个菜单ID的一个集合,这个咱们取到,取到之后呢,把这个集合我们做一个便利。
05:19
那咱来遍历一下啊,首先我加上一个类型,这个叫menu ID。后面加上这个集合就是一个便利。然后便利之后呢,咱就把每个菜单和决赛地分别加到我们这张表中,因为一个角色中会对应多个菜单,那咱们做个添加,然后添加呢,最终肯定是调这个map中的方法叫insert insert中呢要传这个对象,所以咱们在里边我们溜上这么一个对象。再来一下这个对象。扭完之后向里边设置它的值,第一个menu ID,我们做一个设置。
06:06
然后里边的下一个值,我们再进行设置,下一个值就是里边那个角色ID,我们叫肉ID,肉ID呢,咱通过它来取到,其实就是刚才的这个代码啊,给他直接取一下。Get ID最终把这对象我们直接放进去就可以了,以上我们就要完成添加啊,然后同样啊是这个类型的问题,这个类型呢,我就在这里面,咱就直接给他转下了啊。加上string value off。把这个拿过来给它变成一个就是类型啊,就这啊这样这里边是浪类型啊,咱给它变成应该是浪类型,那为了方便啊,我还是都改成死了。也就是说啊,各位自己可以把这个ID都统一改成string字母串。
07:01
这里边写一下啊。比如说现在啊,大家看这个功能我们就最终完成了,比如说咱们现在就完成了这么两个接口啊,这个咱们就做到了。然后里边有一些小细节啊,咱需要给它改一下啊,就刚才这地方,因为我都改成了死缀这位置应该也不需要做这个转换了啊,给他都快速改一下啊,各位自己都改成瑞就更加方便啊。现在啊,应该就没有问题了,所以说以上两个接口做到了,最后我们来重一遍啊,两个接口,第一个接口根据角色获取菜单,并且显示哪些菜单已经被之前分配过,然后第二个给角色分配菜单。咱们刚才两个接口最终都做到了。
我来说两句