权限管理系统——角色管理模块的问题(2)

接着上次用户管理模块的分享,角色管理模块呢,他中间的内容其实和用户是一样的,但是有一点不同就是,要给用户分配角色呀,所以就是个问题了,接下来,,,,害,码不太清楚,就直接上主要的代码吧!!!!上分享:

1.在controller中,我们需要在定义一个形参“tag”,来判断我们查询的是已分配的用户还是未分配的用户:

@ResponseBody
    @ApiOperation(value = "查询已经分配的用户",notes = "")
    @RequestMapping(value = "/selectUserByRoleId")
    public Result selectUserByRoleId(@RequestParam(required = false)String roleId,@RequestParam(required = false) String tag){
        if (tag==null){
            tag="1";
        }
        UserRoleEntity userRoleEntity = new UserRoleEntity();
        userRoleEntity.setRoleId(roleId);
        userRoleEntity.setTag(tag);
        return roleService.selectUserByRoleId(userRoleEntity);
    }

 

2.首先在实现接口类(RoleUserServiceimpl)中,就要开始判断:

@Override
public Result selectUserByRoleId(UserRoleEntity userRoleEntity) {
List<Object> result = null;
if (userRoleEntity.getTag().equals("0")) {
List<UserRoleEntity> userId = roleMapper.selectUserId(userRoleEntity);
String userId_1 = "";
for (UserRoleEntity i : userId) {
userId_1 += i.getUserId() + ',';
}
userRoleEntity.setUserId(userId_1);
result = roleMapper.selectNoUserIdByRoleId(userRoleEntity);
}else {
result=roleMapper.selectUserIdByRoleId(userRoleEntity);
}
return Result.success(result);
}

3.在xml文件中,就要写三条语句:

<!--查询角色已经分配的用户-->
    <select id="selectUserIdByRoleId" parameterType="com.itheima.entity.UserRoleEntity" resultType="com.itheima.entity.UserEntity">
        select
               sys_user.id, sys_user.`name`, sys_user.depId, sys_user.account
        from
             sys_user
        inner JOIN
            user_role on sys_user.id = user_role.userId
        where
              sys_user.isDeleted = 0
          and
              user_role.roleId= #{roleId};
    </select>

    <!--查询角色未分配的用户-->
    <select id="selectNoUserIdByRoleId" resultType="com.itheima.entity.UserEntity" parameterType="com.itheima.entity.UserRoleEntity">
        select sys_user.id, sys_user.`name`, sys_user.depId, sys_user.account
        from sys_user
        where sys_user.isDeleted = 0 and !find_in_set(id,#{userId});
    </select>
    <!--查询角色的用户id-->
    <select id="selectUserId" parameterType="com.itheima.entity.UserRoleEntity"
            resultType="com.itheima.entity.UserRoleEntity">
        select userId
        from user_role
        where roleId = #{roleId};
    </select>

 

posted @ 2021-09-26 12:17  亭子^_^  阅读(151)  评论(0)    收藏  举报