Browse Source

👣 重构后端部门代码

master
wangxiang 3 years ago
parent
commit
060e475e26
  1. 36
      kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/RoleDept.java
  2. 47
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DeptController.java
  3. 1
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/DeptService.java
  4. 16
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RoleDeptService.java
  5. 40
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/DeptServiceImpl.java
  6. 20
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleDeptServiceImpl.java
  7. 6
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleServiceImpl.java
  8. 5
      kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RoleDeptMapper.xml

36
kicc-platform/kicc-platform-api/kicc-system-api/src/main/java/com/cloud/kicc/system/api/entity/RoleDept.java

@ -1,36 +0,0 @@
package com.cloud.kicc.system.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
*<p>
* 角色和部门关联表
*</p>
*
* @Author: entfrm开发团队-王翔
* @Date: 2022/2/24
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_role_dept")
public class RoleDept implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 角色ID
*/
private String roleId;
/**
* 部门ID
*/
private String deptId;
}

47
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/controller/DeptController.java

@ -1,28 +1,26 @@
package com.cloud.kicc.system.controller; package com.cloud.kicc.system.controller;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.log.annotation.SysLog;
import com.cloud.kicc.system.api.entity.Dept; import com.cloud.kicc.system.api.entity.Dept;
import com.cloud.kicc.system.api.entity.RoleDept;
import com.cloud.kicc.system.api.entity.User; import com.cloud.kicc.system.api.entity.User;
import com.cloud.kicc.system.api.vo.ResultVo;
import com.cloud.kicc.system.service.DeptService; import com.cloud.kicc.system.service.DeptService;
import com.cloud.kicc.system.service.RoleDeptService;
import com.cloud.kicc.system.service.UserService; import com.cloud.kicc.system.service.UserService;
import com.cloud.kicc.common.core.api.R;
import com.cloud.kicc.common.core.constant.AppConstants;
import com.cloud.kicc.common.log.annotation.SysLog;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
*<p> *<p>
* 机构信息 * 部门信息
*</p> *</p>
* *
* @Author: entfrm开发团队-王翔 * @Author: entfrm开发团队-王翔
@ -35,13 +33,11 @@ public class DeptController {
private final DeptService deptService; private final DeptService deptService;
private final UserService userService; private final UserService userService;
private final RoleDeptService roleDeptService;
private final RedisTemplate redisTemplate;
private QueryWrapper<Dept> getQueryWrapper(Dept dept) { private LambdaQueryWrapper<Dept> getQueryWrapper(Dept dept) {
return new QueryWrapper<Dept>() return Wrappers.<Dept>lambdaQuery()
.like(StrUtil.isNotBlank(dept.getName()), "name", dept.getName()) .like(StrUtil.isNotBlank(dept.getName()), Dept::getName, dept.getName())
.eq(StrUtil.isNotBlank(dept.getCode()), "code", dept.getCode()); .eq(StrUtil.isNotBlank(dept.getStatus()), Dept::getStatus, dept.getStatus());
} }
@GetMapping("/list") @GetMapping("/list")
@ -69,7 +65,7 @@ public class DeptController {
@PreAuthorize("@pms.hasPermission('dept_edit')") @PreAuthorize("@pms.hasPermission('dept_edit')")
public R update(@RequestBody Dept dept) { public R update(@RequestBody Dept dept) {
deptService.updateById(dept); deptService.updateById(dept);
//更新用户机构名称 // 更新用户机构名称
new Thread(() -> { new Thread(() -> {
List<User> userList = userService.list(new QueryWrapper<User>().eq("dept_id", dept.getDeptId())); List<User> userList = userService.list(new QueryWrapper<User>().eq("dept_id", dept.getDeptId()));
for (User user : userList) { for (User user : userList) {
@ -84,15 +80,13 @@ public class DeptController {
@DeleteMapping("/remove/{id:\\w+}") @DeleteMapping("/remove/{id:\\w+}")
@PreAuthorize("@pms.hasPermission('dept_del')") @PreAuthorize("@pms.hasPermission('dept_del')")
public R remove(@PathVariable("id") String id) { public R remove(@PathVariable("id") String id) {
if (deptService.getOne(new QueryWrapper<Dept>().eq("parent_id", id)) != null) { if (deptService.getOne(Wrappers.<Dept>lambdaQuery().eq(Dept::getParentId, id)) != null) {
return R.error("存在下级机构,不允许删除"); return R.error("存在下级机构,不允许删除");
} }
if (userService.getOne(new QueryWrapper<User>().eq("dept_id", id)) != null) { if (userService.getOne(Wrappers.<User>lambdaQuery().eq(User::getDeptId, id)) != null) {
return R.error("机构存在用户,不允许删除"); return R.error("机构存在用户,不允许删除");
} }
deptService.removeById(id); deptService.removeById(id);
redisTemplate.delete("deptList");
redisTemplate.delete("regionList");
return R.ok(); return R.ok();
} }
@ -104,24 +98,11 @@ public class DeptController {
return R.ok(); return R.ok();
} }
/** /** 加载机构列表树 */
* 加载机构列表树
*/
@GetMapping("/deptTree") @GetMapping("/deptTree")
public R deptTree() { public R deptTree() {
List<Dept> deptList = deptService.list(new QueryWrapper<Dept>().orderByAsc("sort")); List<Dept> deptList = deptService.list(new QueryWrapper<Dept>().orderByAsc("sort"));
return R.ok(deptService.buildTree(deptList, "0")); return R.ok(deptService.buildTree(deptList, "0"));
} }
/**
* 加载角色机构数据权限列表树
*/
@GetMapping("/roleDeptTree/{roleId:\\w+}")
public R roleDeptTree(@PathVariable String roleId) {
List<Dept> deptList = deptService.list(new QueryWrapper<Dept>().orderByAsc("sort"));
List<String> depts = roleDeptService.list(new QueryWrapper<RoleDept>().eq("role_id", roleId))
.stream().map(roleMenu -> roleMenu.getDeptId()).collect(Collectors.toList());
return R.ok(new ResultVo().setResult(deptService.buildTree(deptList, "0")).setExtend(depts));
}
} }

1
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/DeptService.java

@ -17,7 +17,6 @@ public interface DeptService extends IService<Dept> {
/** /**
* 构建树 * 构建树
*
* @param list 分类表 * @param list 分类表
* @param parentId 传入的父节点ID * @param parentId 传入的父节点ID
* @return String * @return String

16
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/RoleDeptService.java

@ -1,16 +0,0 @@
package com.cloud.kicc.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cloud.kicc.system.api.entity.RoleDept;
/**
*<p>
* 角色和部门关联表 服务类
*</p>
*
* @Author: entfrm开发团队-王翔
* @Date: 2022/2/24
*/
public interface RoleDeptService extends IService<RoleDept> {
}

40
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/DeptServiceImpl.java

@ -22,13 +22,6 @@ import java.util.List;
@Service @Service
public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements DeptService { public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements DeptService {
/**
* 构建树
*
* @param list 分类表
* @param parentId 传入的父节点ID
* @return String
*/
@Override @Override
public List<Dept> buildTree(List<Dept> list, String parentId){ public List<Dept> buildTree(List<Dept> list, String parentId){
List<Dept> deptList = new ArrayList(); List<Dept> deptList = new ArrayList();
@ -42,16 +35,11 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements De
return deptList; return deptList;
} }
/** /** 递归列表 */
* 递归列表 private void recursion(List<Dept> list, Dept dept) {
*
* @param list
* @param t
*/
private void recursion(List<Dept> list, Dept t) {
// 得到子节点列表 // 得到子节点列表
List<Dept> childList = getChildList(list, t); List<Dept> childList = getChildList(list, dept);
t.setChildren(childList); dept.setChildren(childList);
for (Dept tChild : childList) { for (Dept tChild : childList) {
if (hasChild(list, tChild)) { if (hasChild(list, tChild)) {
// 判断是否有子节点 // 判断是否有子节点
@ -64,28 +52,22 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements De
} }
} }
/** /** 得到子节点列表 */
* 得到子节点列表 private List<Dept> getChildList(List<Dept> list, Dept dept) {
*/ List<Dept> deptList = new ArrayList();
private List<Dept> getChildList(List<Dept> list, Dept t) {
List<Dept> tlist = new ArrayList();
Iterator<Dept> it = list.iterator(); Iterator<Dept> it = list.iterator();
while (it.hasNext()) { while (it.hasNext()) {
Dept n = it.next(); Dept n = it.next();
if (StrUtil.equals(n.getParentId(), t.getDeptId())) { if (StrUtil.equals(n.getParentId(), dept.getDeptId())) {
tlist.add(n); deptList.add(n);
} }
} }
return tlist; return deptList;
} }
/** /** 判断是否有子节点 */
* 判断是否有子节点
*/
private boolean hasChild(List<Dept> list, Dept t) { private boolean hasChild(List<Dept> list, Dept t) {
return getChildList(list, t).size() > 0 ? true : false; return getChildList(list, t).size() > 0 ? true : false;
} }
} }

20
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleDeptServiceImpl.java

@ -1,20 +0,0 @@
package com.cloud.kicc.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.system.api.entity.RoleDept;
import com.cloud.kicc.system.mapper.RoleDeptMapper;
import com.cloud.kicc.system.service.RoleDeptService;
import org.springframework.stereotype.Service;
/**
*<p>
* 角色和部门关联表 服务实现类
*</p>
*
* @Author: entfrm开发团队-王翔
* @Date: 2022/2/24
*/
@Service
public class RoleDeptServiceImpl extends ServiceImpl<RoleDeptMapper, RoleDept> implements RoleDeptService {
}

6
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/java/com/cloud/kicc/system/service/impl/RoleServiceImpl.java

@ -1,16 +1,10 @@
package com.cloud.kicc.system.service.impl; package com.cloud.kicc.system.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.cloud.kicc.system.api.entity.Dept;
import com.cloud.kicc.system.api.entity.Role; import com.cloud.kicc.system.api.entity.Role;
import com.cloud.kicc.system.api.entity.RoleDept;
import com.cloud.kicc.system.api.entity.RoleMenu; import com.cloud.kicc.system.api.entity.RoleMenu;
import com.cloud.kicc.system.mapper.RoleMapper; import com.cloud.kicc.system.mapper.RoleMapper;
import com.cloud.kicc.system.service.DeptService;
import com.cloud.kicc.system.service.RoleDeptService;
import com.cloud.kicc.system.service.RoleMenuService; import com.cloud.kicc.system.service.RoleMenuService;
import com.cloud.kicc.system.service.RoleService; import com.cloud.kicc.system.service.RoleService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;

5
kicc-platform/kicc-platform-biz/kicc-system-biz/src/main/resources/mapper/RoleDeptMapper.xml

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cloud.kicc.system.mapper.RoleDeptMapper">
</mapper>
Loading…
Cancel
Save