|
|
@@ -1,5 +1,9 @@
|
|
|
package com.doc.web.controller.system;
|
|
|
|
|
|
+import com.doc.biz.domain.DocDir;
|
|
|
+import com.doc.biz.domain.DocDirUser;
|
|
|
+import com.doc.biz.service.IDocDirService;
|
|
|
+import com.doc.biz.service.IDocDirUserService;
|
|
|
import com.doc.biz.service.IDocSpaceService;
|
|
|
import com.doc.common.annotation.Log;
|
|
|
import com.doc.common.core.controller.BaseController;
|
|
|
@@ -57,6 +61,10 @@ public class SysUserController extends BaseController {
|
|
|
private ISysPostService postService;
|
|
|
@Resource
|
|
|
private IDocSpaceService docSpaceService;
|
|
|
+ @Resource
|
|
|
+ private IDocDirUserService dirUserService;
|
|
|
+ @Resource
|
|
|
+ private IDocDirService dirService;
|
|
|
|
|
|
/**
|
|
|
* 获取用户列表
|
|
|
@@ -82,6 +90,34 @@ public class SysUserController extends BaseController {
|
|
|
/**
|
|
|
* 获取用户树
|
|
|
*/
|
|
|
+ @ApiOperation("根据目录ID获取用户树")
|
|
|
+ @GetMapping("/tree/{dirId}")
|
|
|
+ public UserTreeVO tree(@PathVariable("dirId") Long dirId) {
|
|
|
+ DocDir dir = dirService.selectDocDirByDirId(dirId);
|
|
|
+ DocDir parent = dirService.selectDocDirByDirId(dir.getParentId());
|
|
|
+ List<Long> users = new ArrayList<>();
|
|
|
+ //上级是否组织目录
|
|
|
+ boolean flag = "1".equals(parent.getDirType());
|
|
|
+ if (!flag) {
|
|
|
+ DocDirUser dirUser = new DocDirUser();
|
|
|
+ dirUser.setDirId(parent.getDirId());
|
|
|
+ dirUserService.selectDocDirUserList(dirUser).forEach(du -> {
|
|
|
+ users.add(du.getUserId());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ List<SysDept> deptList = deptService.selectAllDeptList();
|
|
|
+ List<SysDept> list = deptService.buildDeptTree(deptList);
|
|
|
+ SysDept tree = list.get(0);
|
|
|
+ if (flag) {
|
|
|
+ return getChildren(tree);
|
|
|
+ } else {
|
|
|
+ return getChildren(tree, users);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取用户树
|
|
|
+ */
|
|
|
@ApiOperation("获取用户树")
|
|
|
@GetMapping("/tree")
|
|
|
public UserTreeVO tree() {
|
|
|
@@ -114,6 +150,37 @@ public class SysUserController extends BaseController {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 获取用户树
|
|
|
+ */
|
|
|
+ @ApiOperation("根据目录ID获取本部门下用户树")
|
|
|
+ @GetMapping("/tree4dept/{dirId}")
|
|
|
+ public UserTreeVO tree4dept(@PathVariable("dirId") Long dirId) {
|
|
|
+ DocDir dir = dirService.selectDocDirByDirId(dirId);
|
|
|
+ DocDir parent = dirService.selectDocDirByDirId(dir.getParentId());
|
|
|
+ List<Long> users = new ArrayList<>();
|
|
|
+ //上级是否组织目录
|
|
|
+ boolean flag = "1".equals(parent.getDirType());
|
|
|
+ if (!flag) {
|
|
|
+ DocDirUser dirUser = new DocDirUser();
|
|
|
+ dirUser.setDirId(parent.getDirId());
|
|
|
+ dirUserService.selectDocDirUserList(dirUser).forEach(du -> {
|
|
|
+ users.add(du.getUserId());
|
|
|
+ });
|
|
|
+ }
|
|
|
+ SysDept dept = new SysDept();
|
|
|
+ dept.setDeptId(SecurityUtils.getDeptId());
|
|
|
+ List<SysDept> deptList = deptService.selectDeptChildrenList(dept);
|
|
|
+ List<SysDept> list = deptService.buildDeptTree(deptList);
|
|
|
+ SysDept tree = list.get(0);
|
|
|
+ if (flag) {
|
|
|
+ return getChildren(tree);
|
|
|
+ } else {
|
|
|
+ return getChildren(tree, users);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 递归获取子节点
|
|
|
*
|
|
|
* @param dept 部门
|
|
|
@@ -141,12 +208,42 @@ public class SysUserController extends BaseController {
|
|
|
return vo;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 递归获取子节点
|
|
|
+ *
|
|
|
+ * @param dept 部门
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private UserTreeVO getChildren(SysDept dept, List<Long> users) {
|
|
|
+ UserTreeVO vo = new UserTreeVO();
|
|
|
+ vo.setId(dept.getDeptId());
|
|
|
+ vo.setLabel(dept.getDeptName());
|
|
|
+ vo.setDisabled(true);
|
|
|
+
|
|
|
+ List<UserTreeVO> children = new ArrayList<>();
|
|
|
+
|
|
|
+ dept.getChildren().forEach(d -> children.add(getChildren(d)));
|
|
|
+
|
|
|
+ userService.selectUserListByDeptId(dept.getDeptId()).forEach(u -> {
|
|
|
+ if (users.contains(u.getUserId())) {
|
|
|
+ UserTreeVO childVO = new UserTreeVO();
|
|
|
+ childVO.setId(u.getUserId());
|
|
|
+ childVO.setLabel(u.getNickName());
|
|
|
+ childVO.setDisabled(false);
|
|
|
+ children.add(childVO);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ vo.setChildren(children);
|
|
|
+ return vo;
|
|
|
+ }
|
|
|
+
|
|
|
@Log(title = "用户管理", businessType = BusinessType.EXPORT)
|
|
|
@PreAuthorize("@ss.hasPermi('system:user:export')")
|
|
|
@PostMapping("/export")
|
|
|
public void export(HttpServletResponse response, SysUser user) {
|
|
|
List<SysUser> list = userService.selectUserList(user);
|
|
|
- list.forEach(u->{
|
|
|
+ list.forEach(u -> {
|
|
|
if (StringUtils.isNotEmpty(u.getPhonenumber())) {
|
|
|
//手机号SM2解密
|
|
|
String phone = Sm2Util.decrypt(u.getPhonenumber());
|