From 4e6f47d50abff5d33f622a641b4534ca3dc28b20 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期日, 22 五月 2022 14:13:53 +0800
Subject: [PATCH] update springboot 2.6.7 => 2.6.8
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java | 136 +++++++++++++++++++++------------------------
1 files changed, 63 insertions(+), 73 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
index ab39319..475cdb7 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysDeptController.java
@@ -1,159 +1,149 @@
package com.ruoyi.web.controller.system;
-import cn.hutool.core.util.StrUtil;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.lang.tree.Tree;
+import cn.hutool.core.util.ArrayUtil;
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.entity.SysDept;
import com.ruoyi.common.enums.BusinessType;
-import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.service.ISysDeptService;
-import org.apache.commons.lang3.ArrayUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
-import java.util.Iterator;
import java.util.List;
import java.util.Map;
/**
* 閮ㄩ棬淇℃伅
*
- * @author ruoyi
+ * @author Lion Li
*/
+@Validated
+@Api(value = "閮ㄩ棬鎺у埗鍣�", tags = {"閮ㄩ棬绠$悊"})
+@RequiredArgsConstructor
@RestController
@RequestMapping("/system/dept")
-public class SysDeptController extends BaseController
-{
- @Autowired
- private ISysDeptService deptService;
+public class SysDeptController extends BaseController {
+
+ private final ISysDeptService deptService;
/**
* 鑾峰彇閮ㄩ棬鍒楄〃
*/
- @PreAuthorize("@ss.hasPermi('system:dept:list')")
+ @ApiOperation("鑾峰彇閮ㄩ棬鍒楄〃")
+ @SaCheckPermission("system:dept:list")
@GetMapping("/list")
- public AjaxResult list(SysDept dept)
- {
+ public R<List<SysDept>> list(SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);
- return AjaxResult.success(depts);
+ return R.ok(depts);
}
/**
* 鏌ヨ閮ㄩ棬鍒楄〃锛堟帓闄よ妭鐐癸級
*/
- @PreAuthorize("@ss.hasPermi('system:dept:list')")
+ @ApiOperation("鏌ヨ閮ㄩ棬鍒楄〃锛堟帓闄よ妭鐐癸級")
+ @SaCheckPermission("system:dept:list")
@GetMapping("/list/exclude/{deptId}")
- public AjaxResult excludeChild(@PathVariable(value = "deptId", required = false) Long deptId)
- {
+ public R<List<SysDept>> excludeChild(@ApiParam("閮ㄩ棬ID") @PathVariable(value = "deptId", required = false) Long deptId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept());
- Iterator<SysDept> it = depts.iterator();
- while (it.hasNext())
- {
- SysDept d = (SysDept) it.next();
- if (d.getDeptId().intValue() == deptId
- || ArrayUtils.contains(StrUtil.splitToArray(d.getAncestors(), ","), deptId + ""))
- {
- it.remove();
- }
- }
- return AjaxResult.success(depts);
+ depts.removeIf(d -> d.getDeptId().equals(deptId)
+ || ArrayUtil.contains(StringUtils.split(d.getAncestors(), ","), deptId + ""));
+ return R.ok(depts);
}
/**
* 鏍规嵁閮ㄩ棬缂栧彿鑾峰彇璇︾粏淇℃伅
*/
- @PreAuthorize("@ss.hasPermi('system:dept:query')")
+ @ApiOperation("鏍规嵁閮ㄩ棬缂栧彿鑾峰彇璇︾粏淇℃伅")
+ @SaCheckPermission("system:dept:query")
@GetMapping(value = "/{deptId}")
- public AjaxResult getInfo(@PathVariable Long deptId)
- {
- return AjaxResult.success(deptService.selectDeptById(deptId));
+ public R<SysDept> getInfo(@ApiParam("閮ㄩ棬ID") @PathVariable Long deptId) {
+ deptService.checkDeptDataScope(deptId);
+ return R.ok(deptService.selectDeptById(deptId));
}
/**
* 鑾峰彇閮ㄩ棬涓嬫媺鏍戝垪琛�
*/
+ @ApiOperation("鑾峰彇閮ㄩ棬涓嬫媺鏍戝垪琛�")
@GetMapping("/treeselect")
- public AjaxResult treeselect(SysDept dept)
- {
+ public R<List<Tree<Long>>> treeselect(SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);
- return AjaxResult.success(deptService.buildDeptTreeSelect(depts));
+ return R.ok(deptService.buildDeptTreeSelect(depts));
}
/**
* 鍔犺浇瀵瑰簲瑙掕壊閮ㄩ棬鍒楄〃鏍�
*/
+ @ApiOperation("鍔犺浇瀵瑰簲瑙掕壊閮ㄩ棬鍒楄〃鏍�")
@GetMapping(value = "/roleDeptTreeselect/{roleId}")
- public AjaxResult roleDeptTreeselect(@PathVariable("roleId") Long roleId)
- {
+ public R<Map<String, Object>> roleDeptTreeselect(@ApiParam("瑙掕壊ID") @PathVariable("roleId") Long roleId) {
List<SysDept> depts = deptService.selectDeptList(new SysDept());
- Map<String,Object> ajax = new HashMap<>();
+ Map<String, Object> ajax = new HashMap<>();
ajax.put("checkedKeys", deptService.selectDeptListByRoleId(roleId));
ajax.put("depts", deptService.buildDeptTreeSelect(depts));
- return AjaxResult.success(ajax);
+ return R.ok(ajax);
}
/**
* 鏂板閮ㄩ棬
*/
- @PreAuthorize("@ss.hasPermi('system:dept:add')")
+ @ApiOperation("鏂板閮ㄩ棬")
+ @SaCheckPermission("system:dept:add")
@Log(title = "閮ㄩ棬绠$悊", businessType = BusinessType.INSERT)
@PostMapping
- public AjaxResult add(@Validated @RequestBody SysDept dept)
- {
- if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
- {
- return AjaxResult.error("鏂板閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛岄儴闂ㄥ悕绉板凡瀛樺湪");
+ public R<Void> add(@Validated @RequestBody SysDept dept) {
+ if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
+ return R.fail("鏂板閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛岄儴闂ㄥ悕绉板凡瀛樺湪");
}
- dept.setCreateBy(SecurityUtils.getUsername());
return toAjax(deptService.insertDept(dept));
}
/**
* 淇敼閮ㄩ棬
*/
- @PreAuthorize("@ss.hasPermi('system:dept:edit')")
+ @ApiOperation("淇敼閮ㄩ棬")
+ @SaCheckPermission("system:dept:edit")
@Log(title = "閮ㄩ棬绠$悊", businessType = BusinessType.UPDATE)
@PutMapping
- public AjaxResult edit(@Validated @RequestBody SysDept dept)
- {
- if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept)))
- {
- return AjaxResult.error("淇敼閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛岄儴闂ㄥ悕绉板凡瀛樺湪");
+ public R<Void> edit(@Validated @RequestBody SysDept dept) {
+ Long deptId = dept.getDeptId();
+ deptService.checkDeptDataScope(deptId);
+ if (UserConstants.NOT_UNIQUE.equals(deptService.checkDeptNameUnique(dept))) {
+ return R.fail("淇敼閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛岄儴闂ㄥ悕绉板凡瀛樺湪");
+ } else if (dept.getParentId().equals(deptId)) {
+ return R.fail("淇敼閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛屼笂绾ч儴闂ㄤ笉鑳芥槸鑷繁");
+ } else if (StringUtils.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
+ && deptService.selectNormalChildrenDeptById(deptId) > 0) {
+ return R.fail("璇ラ儴闂ㄥ寘鍚湭鍋滅敤鐨勫瓙閮ㄩ棬锛�");
}
- else if (dept.getParentId().equals(dept.getDeptId()))
- {
- return AjaxResult.error("淇敼閮ㄩ棬'" + dept.getDeptName() + "'澶辫触锛屼笂绾ч儴闂ㄤ笉鑳芥槸鑷繁");
- }
- else if (StrUtil.equals(UserConstants.DEPT_DISABLE, dept.getStatus())
- && deptService.selectNormalChildrenDeptById(dept.getDeptId()) > 0)
- {
- return AjaxResult.error("璇ラ儴闂ㄥ寘鍚湭鍋滅敤鐨勫瓙閮ㄩ棬锛�");
- }
- dept.setUpdateBy(SecurityUtils.getUsername());
return toAjax(deptService.updateDept(dept));
}
/**
* 鍒犻櫎閮ㄩ棬
*/
- @PreAuthorize("@ss.hasPermi('system:dept:remove')")
+ @ApiOperation("鍒犻櫎閮ㄩ棬")
+ @SaCheckPermission("system:dept:remove")
@Log(title = "閮ㄩ棬绠$悊", businessType = BusinessType.DELETE)
@DeleteMapping("/{deptId}")
- public AjaxResult remove(@PathVariable Long deptId)
- {
- if (deptService.hasChildByDeptId(deptId))
- {
- return AjaxResult.error("瀛樺湪涓嬬骇閮ㄩ棬,涓嶅厑璁稿垹闄�");
+ public R<Void> remove(@ApiParam("閮ㄩ棬ID涓�") @PathVariable Long deptId) {
+ if (deptService.hasChildByDeptId(deptId)) {
+ return R.fail("瀛樺湪涓嬬骇閮ㄩ棬,涓嶅厑璁稿垹闄�");
}
- if (deptService.checkDeptExistUser(deptId))
- {
- return AjaxResult.error("閮ㄩ棬瀛樺湪鐢ㄦ埛,涓嶅厑璁稿垹闄�");
+ if (deptService.checkDeptExistUser(deptId)) {
+ return R.fail("閮ㄩ棬瀛樺湪鐢ㄦ埛,涓嶅厑璁稿垹闄�");
}
+ deptService.checkDeptDataScope(deptId);
return toAjax(deptService.deleteDeptById(deptId));
}
}
--
Gitblit v1.9.3