权限管理系统——角色管理模块的问题(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>