From 426aeb0a7f14c62da224d51615903f746e56b9dd Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期二, 07 六月 2022 11:04:43 +0800 Subject: [PATCH] 发布 4.2.0-beta1 公测版 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java | 191 +++++++++++++++++++++++------------------------ 1 files changed, 94 insertions(+), 97 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java index 88fa256..9b7cb26 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java @@ -1,25 +1,25 @@ package com.ruoyi.web.controller.system; +import cn.dev33.satoken.annotation.SaCheckPermission; +import cn.hutool.core.util.ObjectUtil; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; -import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.common.core.domain.entity.SysRole; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; -import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.framework.web.service.SysPermissionService; -import com.ruoyi.framework.web.service.TokenService; import com.ruoyi.system.domain.SysUserRole; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.access.prepost.PreAuthorize; +import com.ruoyi.system.service.SysPermissionService; +import io.swagger.annotations.*; +import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -29,67 +29,59 @@ /** * 瑙掕壊淇℃伅 * - * @author ruoyi + * @author Lion Li */ +@Validated +@Api(value = "瑙掕壊淇℃伅鎺у埗鍣�", tags = {"瑙掕壊淇℃伅绠$悊"}) +@RequiredArgsConstructor @RestController @RequestMapping("/system/role") -public class SysRoleController extends BaseController -{ - @Autowired - private ISysRoleService roleService; +public class SysRoleController extends BaseController { - @Autowired - private TokenService tokenService; + private final ISysRoleService roleService; + private final ISysUserService userService; + private final SysPermissionService permissionService; - @Autowired - private SysPermissionService permissionService; - - @Autowired - private ISysUserService userService; - - @PreAuthorize("@ss.hasPermi('system:role:list')") + @ApiOperation("鏌ヨ瑙掕壊淇℃伅鍒楄〃") + @SaCheckPermission("system:role:list") @GetMapping("/list") - public TableDataInfo list(SysRole role) - { - return roleService.selectPageRoleList(role); + public TableDataInfo<SysRole> list(SysRole role, PageQuery pageQuery) { + return roleService.selectPageRoleList(role, pageQuery); } + @ApiOperation("瀵煎嚭瑙掕壊淇℃伅鍒楄〃") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.EXPORT) - @PreAuthorize("@ss.hasPermi('system:role:export')") - @GetMapping("/export") - public void export(SysRole role, HttpServletResponse response) - { + @SaCheckPermission("system:role:export") + @PostMapping("/export") + public void export(SysRole role, HttpServletResponse response) { List<SysRole> list = roleService.selectRoleList(role); - ExcelUtil.exportExcel(list, "瑙掕壊鏁版嵁", SysRole.class, response); + ExcelUtil.exportExcel(list, "瑙掕壊鏁版嵁", SysRole.class, response); } /** * 鏍规嵁瑙掕壊缂栧彿鑾峰彇璇︾粏淇℃伅 */ - @PreAuthorize("@ss.hasPermi('system:role:query')") + @ApiOperation("鏍规嵁瑙掕壊缂栧彿鑾峰彇璇︾粏淇℃伅") + @SaCheckPermission("system:role:query") @GetMapping(value = "/{roleId}") - public AjaxResult getInfo(@PathVariable Long roleId) - { - return AjaxResult.success(roleService.selectRoleById(roleId)); + public R<SysRole> getInfo(@ApiParam("瑙掕壊ID") @PathVariable Long roleId) { + roleService.checkRoleDataScope(roleId); + return R.ok(roleService.selectRoleById(roleId)); } /** * 鏂板瑙掕壊 */ - @PreAuthorize("@ss.hasPermi('system:role:add')") + @ApiOperation("鏂板瑙掕壊") + @SaCheckPermission("system:role:add") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@Validated @RequestBody SysRole role) - { - if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) - { - return AjaxResult.error("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); + public R<Void> add(@Validated @RequestBody SysRole role) { + if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) { + return R.fail("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); + } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) { + return R.fail("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); } - else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) - { - return AjaxResult.error("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); - } - role.setCreateBy(SecurityUtils.getUsername()); return toAjax(roleService.insertRole(role)); } @@ -97,133 +89,138 @@ /** * 淇敼淇濆瓨瑙掕壊 */ - @PreAuthorize("@ss.hasPermi('system:role:edit')") + @ApiOperation("淇敼淇濆瓨瑙掕壊") + @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@Validated @RequestBody SysRole role) - { + public R<Void> edit(@Validated @RequestBody SysRole role) { roleService.checkRoleAllowed(role); - if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) - { - return AjaxResult.error("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); + roleService.checkRoleDataScope(role.getRoleId()); + if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) { + return R.fail("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); + } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) { + return R.fail("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); } - else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) - { - return AjaxResult.error("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); - } - role.setUpdateBy(SecurityUtils.getUsername()); - if (roleService.updateRole(role) > 0) - { + if (roleService.updateRole(role) > 0) { // 鏇存柊缂撳瓨鐢ㄦ埛鏉冮檺 - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin()) - { - loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser())); - loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName())); - tokenService.setLoginUser(loginUser); + LoginUser loginUser = getLoginUser(); + SysUser sysUser = userService.selectUserById(loginUser.getUserId()); + if (ObjectUtil.isNotNull(sysUser) && !sysUser.isAdmin()) { + loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser)); + LoginHelper.setLoginUser(loginUser); } - return AjaxResult.success(); + return R.ok(); } - return AjaxResult.error("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑱旂郴绠$悊鍛�"); + return R.fail("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑱旂郴绠$悊鍛�"); } /** * 淇敼淇濆瓨鏁版嵁鏉冮檺 */ - @PreAuthorize("@ss.hasPermi('system:role:edit')") + @ApiOperation("淇敼淇濆瓨鏁版嵁鏉冮檺") + @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/dataScope") - public AjaxResult dataScope(@RequestBody SysRole role) - { + public R<Void> dataScope(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); return toAjax(roleService.authDataScope(role)); } /** * 鐘舵�佷慨鏀� */ - @PreAuthorize("@ss.hasPermi('system:role:edit')") + @ApiOperation("鐘舵�佷慨鏀�") + @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public AjaxResult changeStatus(@RequestBody SysRole role) - { + public R<Void> changeStatus(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); - role.setUpdateBy(SecurityUtils.getUsername()); + roleService.checkRoleDataScope(role.getRoleId()); return toAjax(roleService.updateRoleStatus(role)); } /** * 鍒犻櫎瑙掕壊 */ - @PreAuthorize("@ss.hasPermi('system:role:remove')") + @ApiOperation("鍒犻櫎瑙掕壊") + @SaCheckPermission("system:role:remove") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.DELETE) @DeleteMapping("/{roleIds}") - public AjaxResult remove(@PathVariable Long[] roleIds) - { + public R<Void> remove(@ApiParam("瑙掕壊ID涓�") @PathVariable Long[] roleIds) { return toAjax(roleService.deleteRoleByIds(roleIds)); } /** * 鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛� */ - @PreAuthorize("@ss.hasPermi('system:role:query')") + @ApiOperation("鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛�") + @SaCheckPermission("system:role:query") @GetMapping("/optionselect") - public AjaxResult optionselect() - { - return AjaxResult.success(roleService.selectRoleAll()); + public R<List<SysRole>> optionselect() { + return R.ok(roleService.selectRoleAll()); } /** * 鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛� */ - @PreAuthorize("@ss.hasPermi('system:role:list')") + @ApiOperation("鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛�") + @SaCheckPermission("system:role:list") @GetMapping("/authUser/allocatedList") - public TableDataInfo allocatedList(SysUser user) - { - return userService.selectAllocatedList(user); + public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) { + return userService.selectAllocatedList(user, pageQuery); } /** * 鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛� */ - @PreAuthorize("@ss.hasPermi('system:role:list')") + @ApiOperation("鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛�") + @SaCheckPermission("system:role:list") @GetMapping("/authUser/unallocatedList") - public TableDataInfo unallocatedList(SysUser user) - { - return userService.selectUnallocatedList(user); + public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) { + return userService.selectUnallocatedList(user, pageQuery); } /** * 鍙栨秷鎺堟潈鐢ㄦ埛 */ - @PreAuthorize("@ss.hasPermi('system:role:edit')") + @ApiOperation("鍙栨秷鎺堟潈鐢ㄦ埛") + @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancel") - public AjaxResult cancelAuthUser(@RequestBody SysUserRole userRole) - { + public R<Void> cancelAuthUser(@RequestBody SysUserRole userRole) { return toAjax(roleService.deleteAuthUser(userRole)); } /** * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛 */ - @PreAuthorize("@ss.hasPermi('system:role:edit')") + @ApiOperation("鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleId", value = "瑙掕壊ID", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "userIds", value = "鐢ㄦ埛ID涓�", paramType = "query", dataTypeClass = String.class) + }) + @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancelAll") - public AjaxResult cancelAuthUserAll(Long roleId, Long[] userIds) - { + public R<Void> cancelAuthUserAll(Long roleId, Long[] userIds) { return toAjax(roleService.deleteAuthUsers(roleId, userIds)); } /** * 鎵归噺閫夋嫨鐢ㄦ埛鎺堟潈 */ - @PreAuthorize("@ss.hasPermi('system:role:edit')") + @ApiOperation("鎵归噺閫夋嫨鐢ㄦ埛鎺堟潈") + @ApiImplicitParams({ + @ApiImplicitParam(name = "roleId", value = "瑙掕壊ID", paramType = "query", dataTypeClass = String.class), + @ApiImplicitParam(name = "userIds", value = "鐢ㄦ埛ID涓�", paramType = "query", dataTypeClass = String.class) + }) + @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authUser/selectAll") - public AjaxResult selectAuthUserAll(Long roleId, Long[] userIds) - { + public R<Void> selectAuthUserAll(Long roleId, Long[] userIds) { + roleService.checkRoleDataScope(roleId); return toAjax(roleService.insertAuthUsers(roleId, userIds)); } } -- Gitblit v1.9.3