即操作菜单角色关系表,角色id一个,菜单id有多个
@ApiOperation(value = "给角色分配权限")
@PostMapping("/doAssign")
public R doAssign(String roleId,String[] permissionId) {
permissionService.saveRolePermissionRealtionShipGuli(roleId,permissionId);
return R.ok();
}
//给角色分配权限
void saveRolePermissionRealtionShipGuli(String roleId, String[] permissionId);
//=========================给角色分配菜单=======================
@Override
public void saveRolePermissionRealtionShipGuli(String roleId, String[] permissionIds) {
//roleId角色id
//permissionId菜单id 数组形式
//1 创建list集合,用于封装添加数据
List<RolePermission> rolePermissionList = new ArrayList<>();
//遍历所有菜单数组
for(String perId : permissionIds) {
//RolePermission对象
RolePermission rolePermission = new RolePermission();
rolePermission.setRoleId(roleId);
rolePermission.setPermissionId(perId);
//封装到list集合
rolePermissionList.add(rolePermission);
}
//添加到角色菜单关系表
rolePermissionService.saveBatch(rolePermissionList);
}
swagger测试:
注意数组要换行
1000
1001
1002
数据库中新增了三条数据,成功!
插曲:
由于这两个字段是不为空的,测试的时候又没有传数据,所以第一次测试报错,
我改成了可为空,测试通过,实际开发过程中可以传个默认当前时间过来。