From 3c69896a031bf57ac4d7ca515423be832f6cc6a9 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Fri, 2 Dec 2022 13:37:23 +0800 Subject: [PATCH] =?UTF-8?q?fix=E9=83=A8=E9=97=A8=E9=A1=B5=E9=9D=A2finish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/modules/system/domain/Dept.java | 7 ++- .../nl/modules/system/domain/vo/DeptVo.java | 5 +++ .../modules/system/rest/DeptController.java | 18 ++------ .../modules/system/rest/RoleController.java | 10 +++++ .../modules/system/service/DeptService.java | 4 +- .../modules/system/service/RoleService.java | 5 ++- .../system/service/impl/DeptServiceImpl.java | 43 +++++++++++++------ .../system/service/impl/RoleServiceImpl.java | 15 ++++++- .../main/java/org/nl/modules/tools/MapOf.java | 4 ++ nladmin-ui/src/views/system/dept/index.vue | 42 ++++++++---------- 10 files changed, 95 insertions(+), 58 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/Dept.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/Dept.java index 92cf0d3..c886ec2 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/Dept.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/Dept.java @@ -17,6 +17,7 @@ package org.nl.modules.system.domain; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import lombok.Getter; import lombok.Setter; import org.nl.modules.common.base.BaseDTO; @@ -31,13 +32,15 @@ import java.util.Set; * @author Zheng Jie * @date 2019-03-25 */ -@Getter -@Setter +@Data public class Dept extends BaseDTO implements Serializable { private Long dept_id; + private String code; + + private String ext_id; @ApiModelProperty(value = "排序") private Integer dept_sort; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/vo/DeptVo.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/vo/DeptVo.java index 2cf9569..065f255 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/vo/DeptVo.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/domain/vo/DeptVo.java @@ -39,6 +39,11 @@ public class DeptVo extends BaseDTO implements Serializable { private Long dept_id; + private String code; + + private String ext_id; + + @ApiModelProperty(value = "排序") private Integer dept_sort; diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/DeptController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/DeptController.java index 3f55daf..c868f71 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/DeptController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/DeptController.java @@ -56,7 +56,7 @@ public class DeptController { @ApiOperation("查询部门") @GetMapping - @SaCheckPermission(value = {"user:list", "dept:list"}, mode = SaMode.AND) +// @SaCheckPermission(value = {"user:list", "dept:list"}, mode = SaMode.AND) public ResponseEntity query(DeptQueryCriteria criteria) throws Exception { List deptDtos = deptService.queryAll(criteria, true); return new ResponseEntity<>(PageUtil.toPage(deptDtos, deptDtos.size()),HttpStatus.OK); @@ -101,7 +101,7 @@ public class DeptController { @Log("新增部门") @ApiOperation("新增部门") @PostMapping - @SaCheckPermission("dept:add") +// @SaCheckPermission("dept:add") public ResponseEntity create(@Validated @RequestBody Dept resources){ if (resources.getDept_id() != null) { throw new BadRequestException("A new "+ ENTITY_NAME +" cannot already have an ID"); @@ -122,19 +122,9 @@ public class DeptController { @Log("删除部门") @ApiOperation("删除部门") @DeleteMapping - @SaCheckPermission("dept:del") +// @SaCheckPermission("dept:del") public ResponseEntity delete(@RequestBody Set ids){ - Set deptDtos = new HashSet<>(); - for (Long id : ids) { - List deptList = deptService.findByPid(id); - deptDtos.add(deptService.findById(id)); - if(CollectionUtil.isNotEmpty(deptList)){ - deptDtos = deptService.getDeleteDepts(deptList, deptDtos); - } - } - // 验证是否被角色或用户关联 - deptService.verification(deptDtos); - deptService.delete(deptDtos); + deptService.delete(ids); return new ResponseEntity<>(HttpStatus.OK); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java index 0563c84..71c1645 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/rest/RoleController.java @@ -27,6 +27,7 @@ import lombok.RequiredArgsConstructor; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.logging.annotation.Log; import org.nl.modules.system.domain.Role; +import org.nl.modules.system.domain.vo.RoleVo; import org.nl.modules.system.service.RoleService; import org.nl.modules.system.service.dto.RoleDto; import org.nl.modules.system.service.dto.RoleQueryCriteria; @@ -66,6 +67,15 @@ public class RoleController { public ResponseEntity query(@PathVariable Long id) { return new ResponseEntity<>(roleService.findById(id), HttpStatus.OK); } + + @ApiOperation("获取单个role") + @GetMapping(value = "/all") +// @SaCheckPermission("roles:list") + public ResponseEntity query() { + List roles = roleService.findRoles(null, RoleVo.class); + return new ResponseEntity<>(roles, HttpStatus.OK); + } + @ApiOperation("查询角色") @GetMapping @SaCheckPermission("roles:list") diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/DeptService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/DeptService.java index 634eea5..63d9dea 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/DeptService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/DeptService.java @@ -83,7 +83,7 @@ public interface DeptService { * * @param deptDtos / */ - void delete(Set deptDtos); + void delete(Set deptDtos); /** * 根据PID查询 @@ -125,7 +125,7 @@ public interface DeptService { * * @param deptDtos / */ - void verification(Set deptDtos); + void verification(Set deptDtos); /** * 获取当前节点的所有子类节点集合数据 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java index 8c77570..bc98ff7 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/RoleService.java @@ -16,6 +16,7 @@ package org.nl.modules.system.service; import com.alibaba.fastjson.JSONObject; +import org.apache.poi.ss.formula.functions.T; import org.nl.modules.system.domain.Role; import org.nl.modules.system.service.dto.RoleDto; import org.nl.modules.system.service.dto.RoleQueryCriteria; @@ -48,7 +49,9 @@ public interface RoleService { * @param id / * @return / */ - RoleDto findById(long id); + List findRoles(Long id, Classtarget); + + RoleDto findById(Long id); /** * 创建 diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java index 6fec87c..97041ae 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/DeptServiceImpl.java @@ -29,6 +29,8 @@ import lombok.SneakyThrows; import org.nl.modules.common.exception.BadRequestException; import org.nl.modules.common.utils.CacheKey; import org.nl.modules.common.utils.RedisUtils; +import org.nl.modules.common.utils.SecurityUtils; +import org.nl.modules.common.utils.dto.CurrentUser; import org.nl.modules.system.domain.Dept; import org.nl.modules.system.service.DeptService; import org.nl.modules.system.service.dto.DeptDto; @@ -125,12 +127,18 @@ public class DeptServiceImpl implements DeptService { @Override @Transactional(rollbackFor = Exception.class) - public void create(Dept resources) { - WQLObject.getWQLObject("sys_user").insert((JSONObject)JSON.toJSON(resources)); - // 计算子节点数目 - resources.setSub_count(0); + public void create(Dept dept) { + CurrentUser user = SecurityUtils.getCurrentUser(); + dept.setSub_count(0); + dept.setCode(UUID.randomUUID().toString()); + dept.setCreate_time(new Date()); + dept.setUpdate_time(new Date()); + dept.setCreate_id(user.getId()); + dept.setCreate_name(user.getUsername()); + WQLObject.getWQLObject("sys_dept").insert(JSONObject.parseObject(JSON.toJSONString(dept))); + // 清理缓存 - updateSubCnt(resources.getPid()); + updateSubCnt(dept.getPid()); } @Override @@ -156,14 +164,21 @@ public class DeptServiceImpl implements DeptService { @Override @Transactional(rollbackFor = Exception.class) - public void delete(Set deptDtos) { + public void delete(Set deptDtos) { if (!CollectionUtils.isEmpty(deptDtos)){ - String collectSql = deptDtos.stream().map(a -> String.valueOf(a.getDept_id())).collect(Collectors.joining("','")); - WQLObject.getWQLObject("sys_user").delete("dept_id in ('" + collectSql + "')"); - for (Dept deptDto : deptDtos) { + Set depts = new HashSet<>(); + for (Long id : deptDtos) { + depts.addAll(this.findPidChild(id)); + } + // 验证是否被角色或用户关联 + this.verification(depts); + + String collectSql = deptDtos.stream().map(a -> String.valueOf(a)).collect(Collectors.joining("','")); + WQLObject.getWQLObject("sys_dept").delete("dept_id in ('" + collectSql + "')"); + for (Long deptDto : deptDtos) { // 清理缓存 - delCaches(deptDto.getDept_id()); - updateSubCnt(deptDto.getPid()); + delCaches(deptDto); + updateSubCnt(deptDto); } } } @@ -223,9 +238,9 @@ public class DeptServiceImpl implements DeptService { } @Override - public void verification(Set deptDtos) { + public void verification(Set deptDtos) { if (!CollectionUtils.isEmpty(deptDtos)){ - String collectSql = deptDtos.stream().map(a -> String.valueOf(a.getDept_id())).collect(Collectors.joining("','")); + String collectSql = deptDtos.stream().map(a -> String.valueOf(a)).collect(Collectors.joining("','")); ResultBean result = WQLObject.getWQLObject("sys_user_dept").query("dept_id in ('" + collectSql + "')"); if (result.getResultCount()>0){ throw new BadRequestException("部门存在绑定的人员,请先解绑人员对应部门"); @@ -237,7 +252,7 @@ public class DeptServiceImpl implements DeptService { private void updateSubCnt(Long deptId) { if (deptId != null) { List byPid = findByPid(deptId); - WQLObject.getWQLObject("sys_user").update(MapOf.of("sub_count",byPid.size()),"dept_id = '"+deptId+"'"); + WQLObject.getWQLObject("sys_dept").update(MapOf.of("sub_count",byPid.size()),"dept_id = '"+deptId+"'"); } } diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java index dc5614e..52c0ba0 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/system/service/impl/RoleServiceImpl.java @@ -29,6 +29,7 @@ import org.nl.modules.system.service.RoleService; import org.nl.modules.system.service.dto.RoleDto; import org.nl.modules.system.service.dto.RoleQueryCriteria; import org.nl.modules.system.service.dto.RoleSmallDto; +import org.nl.modules.tools.MapOf; import org.nl.modules.wql.WQL; import org.nl.modules.wql.core.bean.ResultBean; import org.nl.modules.wql.core.bean.WQLObject; @@ -79,8 +80,18 @@ public class RoleServiceImpl implements RoleService { @Override @Cacheable(key = "'id:' + #p0") @Transactional(rollbackFor = Exception.class) - public RoleDto findById(long id) { - return null; + public List findRoles(Long id,Class target) { + String sql = "is_used = '1' and is_delete = '0' "; + if (id != null){ + sql=sql+"role_id = '"+id+"'"; + } + JSONArray array = WQLObject.getWQLObject("sys_role").query(sql).getResultJSONArray(0); + return array.toJavaList(target); + } + + @Override + public RoleDto findById(Long id) { + return null; } @Override diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/tools/MapOf.java b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/tools/MapOf.java index c897364..8966afe 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/modules/tools/MapOf.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/modules/tools/MapOf.java @@ -1,8 +1,12 @@ package org.nl.modules.tools; +import org.checkerframework.checker.units.qual.K; +import org.springframework.util.CollectionUtils; + import java.io.Serializable; import java.util.HashMap; +import java.util.Iterator; /* * @author ZZQ diff --git a/nladmin-ui/src/views/system/dept/index.vue b/nladmin-ui/src/views/system/dept/index.vue index 2c63942..f9c02af 100644 --- a/nladmin-ui/src/views/system/dept/index.vue +++ b/nladmin-ui/src/views/system/dept/index.vue @@ -38,12 +38,12 @@ > - + - + - - - - + @@ -65,9 +62,13 @@ - - {{ item.label }} - +