package com.ycl.controller.user; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ycl.annotation.LogSave; import com.ycl.api.CommonPage; import com.ycl.api.CommonResult; import com.ycl.entity.user.UmsMenu; import com.ycl.entity.user.UmsResource; import com.ycl.entity.user.UmsRole; import com.ycl.service.user.UmsRoleService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 后台用户角色管理 */ @Controller @Api(tags = "后台用户角色管理") @RequestMapping("/role") public class UmsRoleController { @Autowired private UmsRoleService roleService; @ApiOperation("添加角色") @RequestMapping(value = "/create", method = RequestMethod.POST) @ResponseBody @LogSave(operationType = "角色管理",contain = "新建角色") public CommonResult create(@RequestBody UmsRole role) { boolean success = roleService.create(role); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } @ApiOperation("修改角色") @RequestMapping(value = "/update/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult update(@PathVariable Long id, @RequestBody UmsRole role) { role.setId(id); boolean success = roleService.updateById(role); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } @ApiOperation("批量删除角色") @RequestMapping(value = "/delete", method = RequestMethod.POST) @ResponseBody @LogSave(operationType = "角色管理",contain = "批量删除角色") public CommonResult delete(@RequestParam("ids") List ids) { boolean success = roleService.delete(ids); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } @ApiOperation("获取所有角色") @RequestMapping(value = "/listAll", method = RequestMethod.GET) @ResponseBody public CommonResult> listAll() { List roleList = roleService.list(); return CommonResult.success(roleList); } @ApiOperation("根据角色名称分页获取角色列表") @RequestMapping(value = "/list", method = RequestMethod.GET) @ResponseBody public CommonResult> list(@RequestParam(value = "keyword", required = false) String keyword, @RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize, @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum) { Page roleList = roleService.list(keyword, pageSize, pageNum); return CommonResult.success(CommonPage.restPage(roleList)); } @ApiOperation("修改角色状态") @RequestMapping(value = "/updateStatus/{id}", method = RequestMethod.POST) @ResponseBody public CommonResult updateStatus(@PathVariable Long id, @RequestParam(value = "status") Integer status) { UmsRole umsRole = new UmsRole(); umsRole.setId(id); umsRole.setStatus(status); boolean success = roleService.updateById(umsRole); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } @ApiOperation("获取角色相关菜单") @RequestMapping(value = "/listMenu/{roleId}", method = RequestMethod.GET) @ResponseBody public CommonResult> listMenu(@PathVariable Long roleId) { List roleList = roleService.listMenu(roleId); return CommonResult.success(roleList); } @ApiOperation("获取角色相关资源") @RequestMapping(value = "/listResource/{roleId}", method = RequestMethod.GET) @ResponseBody public CommonResult> listResource(@PathVariable Long roleId) { List roleList = roleService.listResource(roleId); return CommonResult.success(roleList); } @ApiOperation("给角色分配菜单") @RequestMapping(value = "/allocMenu", method = RequestMethod.POST) @ResponseBody @LogSave(operationType = "角色管理",contain = "权限设置") public CommonResult allocMenu(@RequestParam Long roleId, @RequestParam List menuIds) { int count = roleService.allocMenu(roleId, menuIds); return CommonResult.success(count); } @ApiOperation("给角色分配资源") @RequestMapping(value = "/allocResource", method = RequestMethod.POST) @ResponseBody public CommonResult allocResource(@RequestParam Long roleId, @RequestParam List resourceIds) { int count = roleService.allocResource(roleId, resourceIds); return CommonResult.success(count); } @ApiOperation("批量修改角色状态") @RequestMapping(value = "/updateStatusBatch", method = RequestMethod.POST) @ApiImplicitParams({ @ApiImplicitParam(name = "ids", value = "用户Ids",required = true, dataType = "Array"), @ApiImplicitParam(name = "status", value = "状态0->禁用;1->启用",required = true, dataType = "Integer") }) @ResponseBody @LogSave(operationType = "角色管理",contain = "批量启用/禁用角色") public CommonResult updateStatusBatch(@RequestParam("ids") List ids, @RequestParam(value = "status") Integer status) { boolean success = roleService.updateStatusBatch(ids, status); if (success) { return CommonResult.success(null); } return CommonResult.failed(); } }