package com.gec.system.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gec.model.entity.SysRole;
import com.gec.model.vo.AssginRoleVo;
import com.gec.model.vo.SysRoleQueryVo;
import com.gec.system.exception.MyCustomerException;
import com.gec.system.service.SysRoleService;
import com.gec.system.util.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.PreDestroy;
import java.util.List;
import java.util.Map;
import java.util.Objects;
//http://localhost:8085/doc.html API文档接口
@Api(tags = "角色管理控制器")
@RestController
@RequestMapping("/admin/system/sysRole")
public class SysRoleController {
@Autowired
private SysRoleService sysRoleService;
// http://localhost:8085/admin/system/sysRole/findAll
// @ApiOperation("查询全部角色信息")
// @GetMapping("/findAll")
// // 查询全部记录
// public List<SysRole> findAll() {
// List<SysRole> list = this.sysRoleService.list();
// return list;
// }
// // http://localhost:8085/admin/system/sysRole/removeById
// @ApiOperation("根据id实现逻辑删除")
// @DeleteMapping("/removeById/{id}")
// public boolean removeRole(@PathVariable @ApiParam("角色Id") Long id) {
// boolean isSuccess = this.sysRoleService.removeById(id);
// return isSuccess;
// }
// http://localhost:8085/admin/system/sysRole/List
@ApiOperation("查询全部角色信息")
@GetMapping("/findAll")
// 查询全部记录
public Result findAll() {
try{
List<SysRole> list = this.sysRoleService.list();
return Result.ok(list);
}catch (Exception e){
throw new MyCustomerException(20001,"查询不到角色列表");
}
}
// http://localhost:8085/admin/system/sysRole/removeById
// @ApiOperation("根据id实现逻辑删除")
// @DeleteMapping("/removeById/{id}")
// public Result removeRole(@PathVariable @ApiParam("角色Id") Long id) {
// boolean isSuccess = this.sysRoleService.removeById(id);
// if (isSuccess) {
// return Result.ok();
// }else {
// return Result.fail();
// }
// }
@PreAuthorize("hasAnyAuthority('bnt.sysRole.list')")
//角色列表+分页+条件搜索
@ApiOperation("分页条件角色列表查询")
@GetMapping("/findPage/{page}/{limit}")
public Result findRoleByPageQuery(@PathVariable @ApiParam("分页数")Long page,
@PathVariable @ApiParam("条数")Long limit,
@ApiParam("模糊查询的条件(角色名)")SysRoleQueryVo roleQueryVo) {
IPage<SysRole> page1 = new Page<>(page,limit);
page1 = this.sysRoleService.selectPage(page1,roleQueryVo);
return Result.ok(page1);
}
//@RequestBody将前端的json数据封装到对象中
//@RespondBody将后端的数据封装到json中
//添加角色
// @ApiOperation("添加角色信息")
// @PostMapping("/saveRole")
// public Result saveRole(@RequestBody @ApiParam("添加的角色信息")SysRole sysRole){
// boolean b = this.sysRoleService.save(sysRole);
// if (b){
// return Result.ok();
// }else {
// return Result.fail();
// }
// }
// @ApiOperation("修改角色信息")
// @PostMapping("/updateRole")
// public Result updateRole(@RequestBody @ApiParam("修改的角色信息")SysRole sysRole){
//
// boolean b = this.sysRoleService.updateById(sysRole);
// if (b){
// return Result.ok();
// }else {
// return Result.fail();
// }
// }
@PreAuthorize("hasAuthority('bnt.sysRole.list')")
@ApiOperation("根据id去查找一个角色信息")
@GetMapping("/findRoleById/{id}")
public Result findRoleById(@PathVariable @ApiParam("查询的id")Long id){
SysRole sysRole = this.sysRoleService.getById(id);
if (sysRole!=null){
return Result.ok(sysRole);
}else {
return Result.fail();
}
}
//添加和修改用户用saveOrUpdate的方法合并 同时能够实现
@ApiOperation("添加和修改角色信息")
@PreAuthorize("hasAnyAuthority('bnt.sysRole.add','bnt.sysRole.update')")
@PostMapping("/saveOrUpdate")
public Result saveOrUpdate(@RequestBody @ApiParam("添加和修改的角色信息")SysRole sysRole){
boolean b = this.sysRoleService.saveOrUpdate(sysRole);
if (b){
return Result.ok();
}else {
return Result.fail();
}
}
@PreAuthorize("hasAuthority('bnt.sysRole.remove')")
@ApiOperation("根据id删除一个角色信息")
@DeleteMapping("/deleteRole/{id}")
public Result deleteRole(@PathVariable @ApiParam("删除的id")Long id){
boolean b = this.sysRoleService.removeById(id);
if (b){
return Result.ok();
}else {
return Result.fail();
}
}
@PreAuthorize("hasAuthority('bnt.sysRole.remove')")
@ApiOperation("批量删除角色信息")
@DeleteMapping("/deleteBatchRoleByIds")
public Result deleteBatchRoleByIds(@RequestBody @ApiParam("删除的id集合") List<Long> ids){
boolean b = this.sysRoleService.removeByIds(ids);
if (b){
return Result.ok();
}else {
return Result.fail();
}
}
@ApiOperation("根据用户获取角色信息")
@GetMapping("/toAssign/{userId}")
public Result toAssign(@PathVariable @ApiParam("用户id")Long userId){
Map<String , Object> rolemap= this.sysRoleService.getRoleByUserId(userId);
return Result.ok(rolemap);
}
@PreAuthorize("hasAnyAuthority('bnt.sysUser.assignRole')")
@ApiOperation("根据用户分配角色")
@PostMapping("/doAssign")
public Result doAssign(@RequestBody @ApiParam("用户分配角色信息") AssginRoleVo assginRoleVo){
this.sysRoleService.doAssign(assginRoleVo);
return Result.ok();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该项目为基于Spring Boot与Vue.js的sjf-movies视频点播平台设计源码,包含466个文件,涵盖170个XML配置、80个Java源代码、48个JavaScript脚本、36个Vue组件、11个SVG图形文件及多种其他配置和文档。后端采用Spring Boot、Mybatis-Plus,前端依托Vue.js、Element UI和Vue-Admin-Template构建,实现前后端分离。平台集成了Spring Security、Redis、Knife4j(Swagger2)、JWT、Echarts、阿里云OSS等先进技术,支持视频点播(VOD)功能,旨在提供高效的视频点播服务。
资源推荐
资源详情
资源评论




























收起资源包目录





































































































共 464 条
- 1
- 2
- 3
- 4
- 5
资源评论


lly202406
- 粉丝: 4207
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 数据库基础理论—体系结构ppt课件.ppt
- 王志良jian养老服务物联网.pptx
- 中国软件投融资高峰论坛演讲稿.pptx
- 互联网产品经理的九道思考题.pdf
- 第七章项目管理班子的人员配备、素质及管理经验.doc
- 用户综合布线手册.doc
- 软件详细设计专题讲座.pptx
- 因特网信息交流与网络安全摘要.ppt
- 生化药物和基因工程药物分析概念专题知识专家讲座.pptx
- 生物学网络考试系统市公开课金奖市赛课一等奖课件.pptx
- 网站运营数据分析之内容指标.docx
- 网络营销基础知识培训.pptx
- 汽车制造企业的OTD管理与信息化ERP建设.doc
- 数字图像处理-试卷.doc
- 计算机体系结构期末考试试题及答案.doc
- actionscript程序结构与语法.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
