JAVA全系列 教程
3762个小节阅读:7088.3k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
序号 | 接口名称 | 接口地址 | 请求类型 |
---|---|---|---|
1 | 分页查询角色 | /system/role/listRoleForPage | get |
2 | 添加角色 | /system/role/addRole | post |
3 | 修改角色 | /system/role/updateRole | put |
4 | 根据角色id查询 | /system/role/getRoleById/{roleId} | get |
5 | 删除角色 | /system/role/deleteRoleByIds/{roleIds} | delete |
6 | 给角色分配权限 | /system/role/saveRoleMenu/{roleId}/{menuIds} | post |
参数名称 | 是否必须 |
---|---|
pageSize | 否 |
pageNum | 否 |
返回JSON数据
名称 | 类型 | 是否必须 | 其他信息 |
---|---|---|---|
total | int | 非必须 | |
code | int | 非必须 | |
msg | String | 非必须 | |
data | object [] | 非必须 | item 类型: object |
├─ roleId | int | 必须 | |
├─ roleName | String | 必须 | |
├─ roleCode | String | 必须 | |
├─ roleSort | int | 必须 | |
├─ remark | String | 必须 | |
├─ status | String | 必须 | |
├─ createTime | String | 必须 | |
├─ createBy | String | 必须 |
xxxxxxxxxx
package com.bjsxt.dto;
import ...
value="com-bjsxt-dto-RoleDto") (
callSuper=true) (
public class RoleDto extends BaseDto {
/**
* 角色ID
*/
value="角色ID") (
private Long roleId;
/**
* 角色名称
*/
message = "角色名称不能为空") (
value="角色名称") (
private String roleName;
/**
* 角色权限编码
*/
message = "角色权限编码不能为空") (
value="角色权限编码") (
private String roleCode;
/**
* 显示顺序
*/
message = "角色显示顺序不能为空") (
value="显示顺序") (
private Integer roleSort;
/**
* 备注
*/
value="备注") (
private String remark;
/**
* 角色状态(0正常 1停用)
*/
message = "角色状态不能为空") (
value="角色状态(0正常 1停用)") (
private String status;
}
xxxxxxxxxx
package com.bjsxt.mapper;
import ...
public interface RoleMapper extends BaseMapper<Role> {
/**
* 根据角色IDS删除sys_role_menu中间表的数据
*
* @param ids
*/
void deleteRoleMenuByRoleIds( ("ids") List<Long> ids);
/**
* 根据角色IDS删除sys_role_user中间表的数据
*
* @param ids
*/
void deleteRoleUserByRoleIds( ("ids") List<Long> ids);
/**
* 保存角色和菜单的关系到数据库
*
* @param roleId
* @param menuId
*/
void saveRoleMenu( ("roleId") Long roleId, ("menuId") Long menuId);
/**
* 根据用户IDS删除sys_role_user里面的数据
*
* @param ids
*/
void deleteRoleUserByUserIds( ("ids") List<Long> ids);
/**
* 根据菜单权限ID删除sys_role_menu
*/
void deleteRoleMenuByMenuIds( ("ids") List<Long> ids);
/**
* 根据用户ID查询用户拥有的角色IDS
*
* @param userId
* @return
*/
List<Long> selectRoleIdsByUserId( ("userId") Long userId);
/**
* 保存角色和用户之间的关系
*
* @param userId
* @param roleId
*/
void saveRoleUser( ("userId") Long userId, ("roleId") Long roleId);
}
创建RoleMapper.xml
xxxxxxxxxx
<mapper namespace="com.bjsxt.mapper.RoleMapper">
<resultMap id="BaseResultMap" type="com.bjsxt.domain.Role">
<!--@mbg.generated-->
<!--@Table sys_role-->
<id column="role_id" jdbcType="BIGINT" property="roleId" />
<result column="role_name" jdbcType="VARCHAR" property="roleName" />
<result column="role_code" jdbcType="VARCHAR" property="roleCode" />
<result column="role_sort" jdbcType="INTEGER" property="roleSort" />
<result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="status" jdbcType="CHAR" property="status" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
<result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="update_by" jdbcType="VARCHAR" property="updateBy" />
</resultMap>
<sql id="Base_Column_List">
<!--@mbg.generated-->
role_id, role_name, role_code, role_sort, remark, `status`, create_time, update_time,
create_by, update_by
</sql>
<delete id="deleteRoleMenuByRoleIds">
delete from sys_role_menu
<where>
<foreach collection="ids" open=" role_id in (" separator="," close=")" item="sn">
#{sn}
</foreach>
</where>
</delete>
<delete id="deleteRoleUserByRoleIds">
delete from sys_role_user
<where>
<foreach collection="ids" open=" role_id in (" separator="," close=")" item="sn">
#{sn}
</foreach>
</where>
</delete>
<insert id="saveRoleMenu">
insert into sys_role_menu(role_id, menu_id) values (#{roleId},#{menuId})
</insert>
<delete id="deleteRoleUserByUserIds">
delete from sys_role_user
<where>
<foreach collection="ids" open=" user_id in (" separator="," close=")" item="sn">
#{sn}
</foreach>
</where>
</delete>
<delete id="deleteRoleMenuByMenuIds">
delete from sys_role_menu
<where>
<foreach collection="ids" open=" menu_id in (" separator="," close=")" item="sn">
#{sn}
</foreach>
</where>
</delete>
<select id="selectRoleIdsByUserId" resultType="java.lang.Long">
select role_id from sys_role_user where user_id=#{userId}
</select>
<insert id="saveRoleUser">
insert into sys_role_user(user_id, role_id) values (#{userId},#{roleId})
</insert>
</mapper>
xxxxxxxxxx
package com.bjsxt.service;
import ...
public interface RoleService {
/**
* 分页查询角色
*
* @param roleDto
* @return
*/
DataGridView listRolePage(RoleDto roleDto);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class RoleServiceImpl implements RoleService{
private RoleMapper roleMapper;
public DataGridView listRolePage(RoleDto roleDto) {
Page<Role> page=new Page<>(roleDto.getPageNum(),roleDto.getPageSize());
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(roleDto.getRoleName()),
Role.COL_ROLE_NAME,roleDto.getRoleName());
qw.like(StringUtils.isNotBlank(roleDto.getRoleCode()),
Role.COL_ROLE_CODE,roleDto.getRoleCode());
qw.eq(StringUtils.isNotBlank(roleDto.getStatus()),
Role.COL_STATUS,roleDto.getStatus());
qw.ge(roleDto.getBeginTime()!=null, Role.COL_CREATE_TIME,roleDto.getBeginTime());
qw.le(roleDto.getEndTime()!=null,Role.COL_CREATE_TIME,roleDto.getEndTime());
qw.orderByAsc(Role.COL_ROLE_SORT);
this.roleMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 分页查询
*/
"listRoleForPage") (
public AjaxResult listRoleForPage(RoleDto roleDto){
DataGridView gridView = this.roleService.listRolePage(roleDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
}
分页查询角色 /system/role/listRoleForPage
参数名称 | 是否必须 |
---|---|
roleName | 是 |
roleCode | 是 |
roleSort | 是 |
status | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
创建Role、RoleDto
创建RoleMapper、RoleMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
public interface RoleService {
/**
* 分页查询角色
*
* @param roleDto
* @return
*/
DataGridView listRolePage(RoleDto roleDto);
/**
* 查询所有可用角色
*
* @return
*/
List<Role> listAllRoles();
/**
* 根据ID查询角色
*
* @param roleId
* @return
*/
Role getOne(Long roleId);
/**
* 添加一个角色
*
* @param roleDto
* @return
*/
int addRole(RoleDto roleDto);
/**
* 修改角色
*
* @param roleDto
* @return
*/
int updateRole(RoleDto roleDto);
/**
* 根据角色ID删除角色
*
* @param roleIds
* @return
*/
int deleteRoleByIds(Long[] roleIds);
/**
* 保存角色和菜单之间的关系
* @param roleId
* @param menuIds
*/
void saveRoleMenu(Long roleId, Long[] menuIds);
/**
*根据用户ID查询用户拥有的角色IDS
* @param userId
* @return
*/
List<Long> getRoleIdsByUserId(Long userId);
/**
* 保存角色和用户之间的关系
* @param userId
* @param roleIds
*/
void saveRoleUser(Long userId, Long[] roleIds);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class RoleServiceImpl implements RoleService{
private RoleMapper roleMapper;
public DataGridView listRolePage(RoleDto roleDto) {
Page<Role> page=new Page<>(roleDto.getPageNum(),roleDto.getPageSize());
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(roleDto.getRoleName()),
Role.COL_ROLE_NAME,roleDto.getRoleName());
qw.like(StringUtils.isNotBlank(roleDto.getRoleCode()),
Role.COL_ROLE_CODE,roleDto.getRoleCode());
qw.eq(StringUtils.isNotBlank(roleDto.getStatus()),
Role.COL_STATUS,roleDto.getStatus());
qw.ge(roleDto.getBeginTime()!=null, Role.COL_CREATE_TIME,roleDto.getBeginTime());
qw.le(roleDto.getEndTime()!=null,Role.COL_CREATE_TIME,roleDto.getEndTime());
qw.orderByAsc(Role.COL_ROLE_SORT);
this.roleMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
public int addRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置创建人和创建
role.setCreateTime(DateUtil.date());
role.setCreateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.insert(role);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 分页查询
*/
"listRoleForPage") (
public AjaxResult listRoleForPage(RoleDto roleDto){
DataGridView gridView = this.roleService.listRolePage(roleDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addRole") (
title = "添加角色",businessType = BusinessType.INSERT) (
public AjaxResult addRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.addRole(roleDto));
}
}
添加角色 /system/role/addRole
参数名称 | 是否必须 |
---|---|
roleId | 是 |
roleName | 是 |
roleCode | 是 |
roleSort | 是 |
status | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
创建Role、RoleDto
创建RoleMapper、RoleMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
public interface RoleService {
/**
* 分页查询角色
*
* @param roleDto
* @return
*/
DataGridView listRolePage(RoleDto roleDto);
/**
* 添加一个角色
*
* @param roleDto
* @return
*/
int addRole(RoleDto roleDto);
/**
* 修改角色
*
* @param roleDto
* @return
*/
int updateRole(RoleDto roleDto);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class RoleServiceImpl implements RoleService{
private RoleMapper roleMapper;
public DataGridView listRolePage(RoleDto roleDto) {
Page<Role> page=new Page<>(roleDto.getPageNum(),roleDto.getPageSize());
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(roleDto.getRoleName()),
Role.COL_ROLE_NAME,roleDto.getRoleName());
qw.like(StringUtils.isNotBlank(roleDto.getRoleCode()),
Role.COL_ROLE_CODE,roleDto.getRoleCode());
qw.eq(StringUtils.isNotBlank(roleDto.getStatus()),
Role.COL_STATUS,roleDto.getStatus());
qw.ge(roleDto.getBeginTime()!=null, Role.COL_CREATE_TIME,roleDto.getBeginTime());
qw.le(roleDto.getEndTime()!=null,Role.COL_CREATE_TIME,roleDto.getEndTime());
qw.orderByAsc(Role.COL_ROLE_SORT);
this.roleMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
public int addRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置创建人和创建
role.setCreateTime(DateUtil.date());
role.setCreateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.insert(role);
}
public int updateRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置修改人
role.setUpdateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.updateById(role);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 分页查询
*/
"listRoleForPage") (
public AjaxResult listRoleForPage(RoleDto roleDto){
DataGridView gridView = this.roleService.listRolePage(roleDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addRole") (
title = "添加角色",businessType = BusinessType.INSERT) (
public AjaxResult addRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.addRole(roleDto));
}
/**
* 修改
*/
"updateRole") (
title = "修改角色",businessType = BusinessType.UPDATE) (
public AjaxResult updateRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.updateRole(roleDto));
}
}
修改角色 /system/role/updateRole
参数名称 | 是否必须 |
---|---|
roleId | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int | |
data | object | |
├─ roleId | int | |
├─ roleName | String | |
├─ roleCode | String | |
├─ roleSort | int | |
├─ remark | String | |
├─ status | String | |
├─ createTime | String | |
├─ createBy | String |
创建Role、RoleDto
创建RoleMapper、RoleMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
public interface RoleService {
/**
* 分页查询角色
*
* @param roleDto
* @return
*/
DataGridView listRolePage(RoleDto roleDto);
/**
* 添加一个角色
*
* @param roleDto
* @return
*/
int addRole(RoleDto roleDto);
/**
* 修改角色
*
* @param roleDto
* @return
*/
int updateRole(RoleDto roleDto);
/**
* 根据ID查询角色
*
* @param roleId
* @return
*/
Role getOne(Long roleId);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class RoleServiceImpl implements RoleService{
private RoleMapper roleMapper;
public DataGridView listRolePage(RoleDto roleDto) {
Page<Role> page=new Page<>(roleDto.getPageNum(),roleDto.getPageSize());
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(roleDto.getRoleName()),
Role.COL_ROLE_NAME,roleDto.getRoleName());
qw.like(StringUtils.isNotBlank(roleDto.getRoleCode()),
Role.COL_ROLE_CODE,roleDto.getRoleCode());
qw.eq(StringUtils.isNotBlank(roleDto.getStatus()),
Role.COL_STATUS,roleDto.getStatus());
qw.ge(roleDto.getBeginTime()!=null, Role.COL_CREATE_TIME,roleDto.getBeginTime());
qw.le(roleDto.getEndTime()!=null,Role.COL_CREATE_TIME,roleDto.getEndTime());
qw.orderByAsc(Role.COL_ROLE_SORT);
this.roleMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
public int addRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置创建人和创建
role.setCreateTime(DateUtil.date());
role.setCreateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.insert(role);
}
public int updateRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置修改人
role.setUpdateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.updateById(role);
}
public Role getOne(Long roleId) {
return this.roleMapper.selectById(roleId);
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 分页查询
*/
"listRoleForPage") (
public AjaxResult listRoleForPage(RoleDto roleDto){
DataGridView gridView = this.roleService.listRolePage(roleDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addRole") (
title = "添加角色",businessType = BusinessType.INSERT) (
public AjaxResult addRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.addRole(roleDto));
}
/**
* 修改
*/
"updateRole") (
title = "修改角色",businessType = BusinessType.UPDATE) (
public AjaxResult updateRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.updateRole(roleDto));
}
/**
* 根据ID查询一个角色信息
*/
"getRoleById/{roleId}") (
public AjaxResult getRoleById( (message = "角色ID不能为空") Long roleId) {
return AjaxResult.success(this.roleService.getOne(roleId));
}
}
根据角色id查询 /system/role/getRoleById/{roleId}
参数名称 | 是否必须 |
---|---|
roleIds | 是 |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
创建Role、RoleDto
创建RoleMapper、RoleMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
public interface RoleService {
/**
* 分页查询角色
*
* @param roleDto
* @return
*/
DataGridView listRolePage(RoleDto roleDto);
/**
* 添加一个角色
*
* @param roleDto
* @return
*/
int addRole(RoleDto roleDto);
/**
* 修改角色
*
* @param roleDto
* @return
*/
int updateRole(RoleDto roleDto);
/**
* 根据ID查询角色
*
* @param roleId
* @return
*/
Role getOne(Long roleId);
/**
* 根据角色ID删除角色
*
* @param roleIds
* @return
*/
int deleteRoleByIds(Long[] roleIds);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class RoleServiceImpl implements RoleService{
private RoleMapper roleMapper;
public DataGridView listRolePage(RoleDto roleDto) {
Page<Role> page=new Page<>(roleDto.getPageNum(),roleDto.getPageSize());
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(roleDto.getRoleName()),
Role.COL_ROLE_NAME,roleDto.getRoleName());
qw.like(StringUtils.isNotBlank(roleDto.getRoleCode()),
Role.COL_ROLE_CODE,roleDto.getRoleCode());
qw.eq(StringUtils.isNotBlank(roleDto.getStatus()),
Role.COL_STATUS,roleDto.getStatus());
qw.ge(roleDto.getBeginTime()!=null, Role.COL_CREATE_TIME,roleDto.getBeginTime());
qw.le(roleDto.getEndTime()!=null,Role.COL_CREATE_TIME,roleDto.getEndTime());
qw.orderByAsc(Role.COL_ROLE_SORT);
this.roleMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
public int addRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置创建人和创建
role.setCreateTime(DateUtil.date());
role.setCreateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.insert(role);
}
public int updateRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置修改人
role.setUpdateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.updateById(role);
}
public Role getOne(Long roleId) {
return this.roleMapper.selectById(roleId);
}
public int deleteRoleByIds(Long[] roleIds) {
List<Long> rids = Arrays.asList(roleIds);
if(rids!=null&&!rids.isEmpty()){
//根据角色ID删除sys_role_menu的数据
this.roleMapper.deleteRoleMenuByRoleIds(rids);
//根据角色ID删除sys_role_user里面的数据
this.roleMapper.deleteRoleUserByRoleIds(rids);
//删除角色
return this.roleMapper.deleteBatchIds(rids);
}
return 0;
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 分页查询
*/
"listRoleForPage") (
public AjaxResult listRoleForPage(RoleDto roleDto){
DataGridView gridView = this.roleService.listRolePage(roleDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addRole") (
title = "添加角色",businessType = BusinessType.INSERT) (
public AjaxResult addRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.addRole(roleDto));
}
/**
* 修改
*/
"updateRole") (
title = "修改角色",businessType = BusinessType.UPDATE) (
public AjaxResult updateRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.updateRole(roleDto));
}
/**
* 根据ID查询一个角色信息
*/
"getRoleById/{roleId}") (
public AjaxResult getRoleById( (message = "角色ID不能为空") Long roleId) {
return AjaxResult.success(this.roleService.getOne(roleId));
}
/**
* 删除
*/
"deleteRoleByIds/{roleIds}") (
title = "删除角色",businessType = BusinessType.DELETE) (
public AjaxResult deleteRoleByIds( (message = "要删除的ID不能为空") Long[] roleIds) {
return AjaxResult.toAjax(this.roleService.deleteRoleByIds(roleIds));
}
}
删除角色 /system/role/deleteRoleByIds/{roleIds}
名称 | 类型 | 是否必须 | 其他信息 |
---|---|---|---|
roleId | int | 必须 | |
menuIds | int [] | 必须 | item 类型: number |
返回JSON数据
名称 | 类型 | 其他信息 |
---|---|---|
msg | String | |
code | int |
创建Role、RoleDto
创建RoleMapper、RoleMapper.xml
xxxxxxxxxx
package com.bjsxt.service;
import com.bjsxt.domain.Role;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.dto.RoleDto;
import com.bjsxt.vo.DataGridView;
import java.util.List;
public interface RoleService {
/**
* 分页查询角色
*
* @param roleDto
* @return
*/
DataGridView listRolePage(RoleDto roleDto);
/**
* 添加一个角色
*
* @param roleDto
* @return
*/
int addRole(RoleDto roleDto);
/**
* 修改角色
*
* @param roleDto
* @return
*/
int updateRole(RoleDto roleDto);
/**
* 根据ID查询角色
*
* @param roleId
* @return
*/
Role getOne(Long roleId);
/**
* 根据角色ID删除角色
*
* @param roleIds
* @return
*/
int deleteRoleByIds(Long[] roleIds);
/**
* 保存角色和菜单之间的关系
* @param roleId
* @param menuIds
*/
void saveRoleMenu(Long roleId, Long[] menuIds);
}
xxxxxxxxxx
package com.bjsxt.service.impl;
import ...
public class RoleServiceImpl implements RoleService{
private RoleMapper roleMapper;
public DataGridView listRolePage(RoleDto roleDto) {
Page<Role> page=new Page<>(roleDto.getPageNum(),roleDto.getPageSize());
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.like(StringUtils.isNotBlank(roleDto.getRoleName()),
Role.COL_ROLE_NAME,roleDto.getRoleName());
qw.like(StringUtils.isNotBlank(roleDto.getRoleCode()),
Role.COL_ROLE_CODE,roleDto.getRoleCode());
qw.eq(StringUtils.isNotBlank(roleDto.getStatus()),
Role.COL_STATUS,roleDto.getStatus());
qw.ge(roleDto.getBeginTime()!=null, Role.COL_CREATE_TIME,roleDto.getBeginTime());
qw.le(roleDto.getEndTime()!=null,Role.COL_CREATE_TIME,roleDto.getEndTime());
qw.orderByAsc(Role.COL_ROLE_SORT);
this.roleMapper.selectPage(page,qw);
return new DataGridView(page.getTotal(),page.getRecords());
}
public List<Role> listAllRoles() {
QueryWrapper<Role> qw=new QueryWrapper<>();
qw.eq(Role.COL_STATUS, Constants.STATUS_TRUE);
qw.orderByAsc(Role.COL_ROLE_SORT);
return this.roleMapper.selectList(qw);
}
public Role getOne(Long roleId) {
return this.roleMapper.selectById(roleId);
}
public int addRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置创建人和创建
role.setCreateTime(DateUtil.date());
role.setCreateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.insert(role);
}
public int updateRole(RoleDto roleDto) {
Role role=new Role();
BeanUtil.copyProperties(roleDto,role);
//设置修改人
role.setUpdateBy(roleDto.getSimpleUser().getUserName());
return this.roleMapper.updateById(role);
}
public int deleteRoleByIds(Long[] roleIds) {
List<Long> rids = Arrays.asList(roleIds);
if(rids!=null&&!rids.isEmpty()){
//根据角色ID删除sys_role_menu的数据
this.roleMapper.deleteRoleMenuByRoleIds(rids);
//根据角色ID删除sys_role_user里面的数据
this.roleMapper.deleteRoleUserByRoleIds(rids);
//删除角色
return this.roleMapper.deleteBatchIds(rids);
}
return 0;
}
public void saveRoleMenu(Long roleId, Long[] menuIds) {
//根据角色ID先删除sys_role_menu里面原来的数据
this.roleMapper.deleteRoleMenuByRoleIds(Arrays.asList(roleId));
for (Long menuId : menuIds) {
this.roleMapper.saveRoleMenu(roleId,menuId);
}
}
}
xxxxxxxxxx
package com.bjsxt.controller.system;
import ...
/**
* @Description:角色控制器
*/
"system/role") (
public class RoleController {
private RoleService roleService;
/**
* 分页查询
*/
"listRoleForPage") (
public AjaxResult listRoleForPage(RoleDto roleDto){
DataGridView gridView = this.roleService.listRolePage(roleDto);
return AjaxResult.success("查询成功",gridView.getData(),gridView.getTotal());
}
/**
* 添加
*/
"addRole") (
title = "添加角色",businessType = BusinessType.INSERT) (
public AjaxResult addRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.addRole(roleDto));
}
/**
* 修改
*/
"updateRole") (
title = "修改角色",businessType = BusinessType.UPDATE) (
public AjaxResult updateRole( RoleDto roleDto) {
roleDto.setSimpleUser(ShiroSecurityUtils.getCurrentSimpleUser());
return AjaxResult.toAjax(this.roleService.updateRole(roleDto));
}
/**
* 根据ID查询一个角色信息
*/
"getRoleById/{roleId}") (
public AjaxResult getRoleById( (message = "角色ID不能为空") Long roleId) {
return AjaxResult.success(this.roleService.getOne(roleId));
}
/**
* 删除
*/
"deleteRoleByIds/{roleIds}") (
title = "删除角色",businessType = BusinessType.DELETE) (
public AjaxResult deleteRoleByIds( (message = "要删除的ID不能为空") Long[] roleIds) {
return AjaxResult.toAjax(this.roleService.deleteRoleByIds(roleIds));
}
/**
* 保存角色和菜单之间的关系
*/
"saveRoleMenu/{roleId}/{menuIds}") (
public AjaxResult saveRoleMenu( Long roleId, Long[] menuIds){
/**
* 因为我们用的路径参数,前端可能传过来的menuIds是一个空的,但是为空的话无法匹配上面的路径
* 所以如果为空,我们让前端传一个-1过来,如果是-1说明当前角色一个权限也没有选择
*/
if(menuIds.length==1&&menuIds[0].equals(-1L)){
menuIds=new Long[]{};
}
this.roleService.saveRoleMenu(roleId, menuIds);
return AjaxResult.success();
}
}
分配角色/system/role/saveRoleMenu/{roleId}/{menuIds}