00:00
下面呢,我们开发根据用户ID查询按钮全限值的方法,咱们下面快速来写一下,因为跟之前类似,所以咱们就快速实现一下。在里边我们写一下。首先第一部分我们怎么做?跟上面类似,咱们先判断当前用户是否是管理员,如果管理员查询全部,如果说不是管理员,那根据用户ID进行查询。首先我们创建一个list集合,里边加上泛型system menu。然后给它起个名字,System menu list等于空,先定一个集合,然后下面我们做个判断。是否是管理员?那咱们写一下啊,加上一个if。如果说用户ID值是一,那代表他就是超级管理员,如果是超级管理员咱怎么做,是不是查询全部,那我们来查一下base micro中的select例子,我就给到写到一起了啊,New上一个query rapper,然后加上我们的泛型system menu,然后在里边呢,我们直接就是点上EQ,加上这个叫CS。
01:20
跟之前应该是一样的啊,咱就快速写一下。然后它的值是一,这样的话我们就完成了,最终返回的是一个例子集合,咱们把这个给它补充完整,就是这个集合。这是我们写的第一部分。根据这个。超级管理员,咱们查全部,然后查询状态是一的这个值只是说我们写到一起,咱们上面是new了一个对象,我把这对象放到里边来写,跟它是一样的,然后之后我们加上一个else。Else里边呢,表示它就是普通,就是不是超级管理员,是其他用户,那咱们调被map中我们刚才写的方法。
02:05
Find menu list根据用户递最终返回这个例子集合,所以现在这个数据我们就查出来了。然后查出来之后呢,我们继续来看啊,因为现在咱要返回的是什么,是按钮的权限,也就是说刚才咱们分析到了typeb等于二是不是才叫按钮,所以咱下面我们做一个处理,怎么处理呢?按照我刚才说的思路,这里边是不是有集合呀,那咱下面做法就是把这个就是菜单的集合,我们进行什么便利,便利之后呢,得到里边那个具体数据,然后把数据放到一个新的集合中,最终我们做一个退,也就是把里边的这个permissions这个值得到,因为咱后面操作需要用到的主要就是按钮上的这个值。那咱们最终便利一下,我们写一下啊。加上一个负循环,便利。
03:01
System menu。然后便利的是我们这个集合。电力之后从里边取出这个数据,啊,这位置我们先建一个接口,为了最终的这个返回,咱们加上一个string,然后我们教这个permission list。等于new上一个list,这是一个集合,然后最终我们写这个便利里边咱们首先做个判断,因为它是一个按钮,所以咱怎么判断,那就是太不值,等于二就是按钮我们从里边取下。点上get,这个叫做type,如果说它的值等于二表示按钮,那咱把里边值给它取出来,Get permissions就是这个。最终得到你的权限值,然后把权限值都放到咱们最终这个list集合中去就可以了,Permissions,所以现在我们就完成,完成之后注意啊,别忘记把集合最终退里别return到,Return到肯定是没这个数据,所以现在这个方法我们就完成了,根据用户ID得到按钮的操作权限指咱们做了一步判断,因为按钮的type值是二,根据二得到你的按钮,然后把它的权限值我们最终得到,然后进行返回。
04:28
这个啊,我们就讲到这里,完成之后呢,咱们最后啊,把这个接口我们就最终来测试一下,就看一下这两门数据到底都是什么,比如说我这里写到的,大家看这里啊,Map集合里边看这个位置。我们有两个数据,一个是菜单确认数据,一个是按钮数据,那最后咱们把服务器重新启动一下,我们最终来做个测试,看一下最后结果到底是怎么样的。服务器已经启动,咱们打开swag,找到刚才这里边我们直接发送,因为这token我们刚才已经生成过了,直接发送,然后咱们看最终这个数据,大家看啊,数据都有,咱们看主要的啊,这个叫routeors,是咱们那个菜单的操作全数据,就是最终那个菜单,然后再看这个buttons是不是按钮那个数据咱们取到是这个permission这个数据,为了最终按钮中咱们做控制,做判断。
05:27
所以以上啊,咱就完成了,里边这个接口给各位再重复一遍啊,咱们做这个权限管理中,我们这个位置需要有两个接口,一个是用户登录接口,另外一个是获取用户信息接口,这两个接口咱目前都已经做到了,咱们登录之后得到用户信息,根据token得到用户的值,包括名称,包括ID,然后最终得到用户对哪个菜单能操作,对哪个按钮能操作,目前这部分我们就完成。
我来说两句