From 17f0c20242c6ee3d35b9ee8f677d747ed012423c Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 02 九月 2022 16:30:20 +0800 Subject: [PATCH] remove 移除maven docker插件 过于老旧功能缺陷大 使用idea自带的docker插件替代 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java | 124 ++++++++++++++++++++++++++--------------- 1 files changed, 79 insertions(+), 45 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 f1d7e77..5768806 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,27 +1,33 @@ 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.PageQuery; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.domain.entity.SysDept; 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.helper.LoginHelper; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.system.domain.SysUserRole; +import com.ruoyi.system.service.ISysDeptService; import com.ruoyi.system.service.ISysRoleService; import com.ruoyi.system.service.ISysUserService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; +import com.ruoyi.system.service.SysPermissionService; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * 瑙掕壊淇℃伅 @@ -29,26 +35,31 @@ * @author Lion Li */ @Validated -@Api(value = "瑙掕壊淇℃伅鎺у埗鍣�", tags = {"瑙掕壊淇℃伅绠$悊"}) -@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RequiredArgsConstructor @RestController @RequestMapping("/system/role") public class SysRoleController extends BaseController { private final ISysRoleService roleService; private final ISysUserService userService; + private final ISysDeptService deptService; + private final SysPermissionService permissionService; - @ApiOperation("鏌ヨ瑙掕壊淇℃伅鍒楄〃") + /** + * 鑾峰彇瑙掕壊淇℃伅鍒楄〃 + */ @SaCheckPermission("system:role:list") @GetMapping("/list") - public TableDataInfo<SysRole> 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) @SaCheckPermission("system:role:export") - @GetMapping("/export") + @PostMapping("/export") public void export(SysRole role, HttpServletResponse response) { List<SysRole> list = roleService.selectRoleList(role); ExcelUtil.exportExcel(list, "瑙掕壊鏁版嵁", SysRole.class, response); @@ -56,27 +67,27 @@ /** * 鏍规嵁瑙掕壊缂栧彿鑾峰彇璇︾粏淇℃伅 + * + * @param roleId 瑙掕壊ID */ - @ApiOperation("鏍规嵁瑙掕壊缂栧彿鑾峰彇璇︾粏淇℃伅") @SaCheckPermission("system:role:query") @GetMapping(value = "/{roleId}") - public AjaxResult<SysRole> getInfo(@PathVariable Long roleId) { + public R<SysRole> getInfo(@PathVariable Long roleId) { roleService.checkRoleDataScope(roleId); - return AjaxResult.success(roleService.selectRoleById(roleId)); + return R.ok(roleService.selectRoleById(roleId)); } /** * 鏂板瑙掕壊 */ - @ApiOperation("鏂板瑙掕壊") @SaCheckPermission("system:role:add") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult<Void> add(@Validated @RequestBody SysRole role) { + public R<Void> add(@Validated @RequestBody SysRole role) { if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) { - return AjaxResult.error("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); + return R.fail("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) { - return AjaxResult.error("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); + return R.fail("鏂板瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); } return toAjax(roleService.insertRole(role)); @@ -85,119 +96,142 @@ /** * 淇敼淇濆瓨瑙掕壊 */ - @ApiOperation("淇敼淇濆瓨瑙掕壊") @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult<Void> edit(@Validated @RequestBody SysRole role) { + public R<Void> edit(@Validated @RequestBody SysRole role) { roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleNameUnique(role))) { - return AjaxResult.error("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); + return R.fail("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹插悕绉板凡瀛樺湪"); } else if (UserConstants.NOT_UNIQUE.equals(roleService.checkRoleKeyUnique(role))) { - return AjaxResult.error("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); + return R.fail("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑹叉潈闄愬凡瀛樺湪"); } if (roleService.updateRole(role) > 0) { - return AjaxResult.success(); + // 鏇存柊缂撳瓨鐢ㄦ埛鏉冮檺 + LoginUser loginUser = getLoginUser(); + SysUser sysUser = userService.selectUserById(loginUser.getUserId()); + if (ObjectUtil.isNotNull(sysUser) && !sysUser.isAdmin()) { + loginUser.setMenuPermission(permissionService.getMenuPermission(sysUser)); + LoginHelper.setLoginUser(loginUser); + } + return R.ok(); } - return AjaxResult.error("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑱旂郴绠$悊鍛�"); + return R.fail("淇敼瑙掕壊'" + role.getRoleName() + "'澶辫触锛岃鑱旂郴绠$悊鍛�"); } /** * 淇敼淇濆瓨鏁版嵁鏉冮檺 */ - @ApiOperation("淇敼淇濆瓨鏁版嵁鏉冮檺") @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/dataScope") - public AjaxResult<Void> dataScope(@RequestBody SysRole role) { + public R<Void> dataScope(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); return toAjax(roleService.authDataScope(role)); } /** * 鐘舵�佷慨鏀� */ - @ApiOperation("鐘舵�佷慨鏀�") @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.UPDATE) @PutMapping("/changeStatus") - public AjaxResult<Void> changeStatus(@RequestBody SysRole role) { + public R<Void> changeStatus(@RequestBody SysRole role) { roleService.checkRoleAllowed(role); + roleService.checkRoleDataScope(role.getRoleId()); return toAjax(roleService.updateRoleStatus(role)); } /** * 鍒犻櫎瑙掕壊 + * + * @param roleIds 瑙掕壊ID涓� */ - @ApiOperation("鍒犻櫎瑙掕壊") @SaCheckPermission("system:role:remove") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.DELETE) @DeleteMapping("/{roleIds}") - public AjaxResult<Void> remove(@PathVariable Long[] roleIds) { + public R<Void> remove(@PathVariable Long[] roleIds) { return toAjax(roleService.deleteRoleByIds(roleIds)); } /** * 鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛� */ - @ApiOperation("鑾峰彇瑙掕壊閫夋嫨妗嗗垪琛�") @SaCheckPermission("system:role:query") @GetMapping("/optionselect") - public AjaxResult<List<SysRole>> optionselect() { - return AjaxResult.success(roleService.selectRoleAll()); + public R<List<SysRole>> optionselect() { + return R.ok(roleService.selectRoleAll()); } /** * 鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛� */ - @ApiOperation("鏌ヨ宸插垎閰嶇敤鎴疯鑹插垪琛�") @SaCheckPermission("system:role:list") @GetMapping("/authUser/allocatedList") - public TableDataInfo<SysUser> allocatedList(SysUser user) { - return userService.selectAllocatedList(user); + public TableDataInfo<SysUser> allocatedList(SysUser user, PageQuery pageQuery) { + return userService.selectAllocatedList(user, pageQuery); } /** * 鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛� */ - @ApiOperation("鏌ヨ鏈垎閰嶇敤鎴疯鑹插垪琛�") @SaCheckPermission("system:role:list") @GetMapping("/authUser/unallocatedList") - public TableDataInfo<SysUser> unallocatedList(SysUser user) { - return userService.selectUnallocatedList(user); + public TableDataInfo<SysUser> unallocatedList(SysUser user, PageQuery pageQuery) { + return userService.selectUnallocatedList(user, pageQuery); } /** * 鍙栨秷鎺堟潈鐢ㄦ埛 */ - @ApiOperation("鍙栨秷鎺堟潈鐢ㄦ埛") @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancel") - public AjaxResult<Void> cancelAuthUser(@RequestBody SysUserRole userRole) { + public R<Void> cancelAuthUser(@RequestBody SysUserRole userRole) { return toAjax(roleService.deleteAuthUser(userRole)); } /** * 鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛 + * + * @param roleId 瑙掕壊ID + * @param userIds 鐢ㄦ埛ID涓� */ - @ApiOperation("鎵归噺鍙栨秷鎺堟潈鐢ㄦ埛") @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authUser/cancelAll") - public AjaxResult<Void> cancelAuthUserAll(Long roleId, Long[] userIds) { + public R<Void> cancelAuthUserAll(Long roleId, Long[] userIds) { return toAjax(roleService.deleteAuthUsers(roleId, userIds)); } /** * 鎵归噺閫夋嫨鐢ㄦ埛鎺堟潈 + * + * @param roleId 瑙掕壊ID + * @param userIds 鐢ㄦ埛ID涓� */ - @ApiOperation("鎵归噺閫夋嫨鐢ㄦ埛鎺堟潈") @SaCheckPermission("system:role:edit") @Log(title = "瑙掕壊绠$悊", businessType = BusinessType.GRANT) @PutMapping("/authUser/selectAll") - public AjaxResult<Void> selectAuthUserAll(Long roleId, Long[] userIds) { + public R<Void> selectAuthUserAll(Long roleId, Long[] userIds) { + roleService.checkRoleDataScope(roleId); return toAjax(roleService.insertAuthUsers(roleId, userIds)); } + + /** + * 鑾峰彇瀵瑰簲瑙掕壊閮ㄩ棬鏍戝垪琛� + * + * @param roleId 瑙掕壊ID + */ + @SaCheckPermission("system:role:list") + @GetMapping(value = "/deptTree/{roleId}") + public R<Map<String, Object>> roleDeptTreeselect(@PathVariable("roleId") Long roleId) { + Map<String, Object> ajax = new HashMap<>(); + ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId)); + ajax.put("depts", deptService.selectDeptTreeList(new SysDept())); + return R.ok(ajax); + } } -- Gitblit v1.9.3