From a2ced4bada136b7d6ac6510caae0f2ef17b8a338 Mon Sep 17 00:00:00 2001 From: yujt Date: Thu, 14 May 2020 10:59:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E4=BF=9D=E5=AD=98=E4=B8=8E?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=88=97=E8=A1=A8=E8=8E=B7=E5=8F=96=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- epdc-cloud-admin/pom.xml | 20 +++--- .../epdc/controller/SysUserController.java | 51 ++++++++++----- .../esua/epdc/service/SysDeptService.java | 15 +++-- .../epdc/service/impl/SysDeptServiceImpl.java | 64 +++++++++++++++++-- .../epdc/service/impl/SysRoleServiceImpl.java | 51 ++++++++------- 5 files changed, 142 insertions(+), 59 deletions(-) diff --git a/epdc-cloud-admin/pom.xml b/epdc-cloud-admin/pom.xml index 8469ddf..9cf550f 100644 --- a/epdc-cloud-admin/pom.xml +++ b/epdc-cloud-admin/pom.xml @@ -183,23 +183,25 @@ test test + 2 + 114.215.125.123 + 9603 + epdc!redis@master1405 + true 47.104.224.45:8848 47.104.85.99 - 6a3577b4-7b79-43f6-aebb-9c3f31263f6a + de000340-5fc4-45aa-bdbc-dd96852012ad http://localhost:9411 - - - - - wx5d3e97461d248397 - bfed51b731e53db9affb9e6131e7ae12 + + wx50ebeb95943868cd + c2719c261fe87b3e2d572552d2c8275d - wx9f20a46906ab2c3e - dc13065f79429979d9f687d249eb5c4e + wx6d45fd2f4dfe7ce4 + 54a30a48b100bbad20d7823cd9e1fb17 wxfa4afaa2b5f9c876 7db9f049c78c9a6cafa673deebe8330d diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java index 2de0726..fa9e086 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/controller/SysUserController.java @@ -231,6 +231,7 @@ public class SysUserController { return new Result>().ok(data); } + @GetMapping("getWorkRecordRoleUser/{menuCode}") public Result> getWorkRecordRoleUser(@PathVariable("menuCode") String menuCode) { List data = sysRoleUserService.getWorkRecordRoleUser(menuCode); @@ -333,6 +334,7 @@ public class SysUserController { DeptOption deptOption = sysDeptService.getUserDeptOption(); return new Result().ok(deptOption); } + /** * 获取用户部门多层结构,用户前端显示,请求需携带token *

调接口,从redis获取{@link SysUserController#packageUserDeptOption(Long)}接口生成的数据。

@@ -347,11 +349,6 @@ public class SysUserController { DeptOption deptOption = sysDeptService.getDeptAuthByUser(); return new Result().ok(deptOption); } - @GetMapping("deptOptions/getGridAuthByUser") - public Result> getGridAuthByUser() { - List deptOption = sysDeptService.getGridAuthByUser(); - return new Result().ok(deptOption); - } /** * 获取用户部门多层结构(完整层级结构,包括顶级部门),用户前端显示,请求需携带token @@ -368,6 +365,21 @@ public class SysUserController { return new Result().ok(option); } + /** + * 获取用户业务部门多层结构,用户前端显示,请求需携带token + *

调接口,从redis获取{@link SysUserController#packageUserDeptOption(Long)}接口生成的数据。

+ *

此接口展示三级机构层级(街道-社区-网格),不包括区级,不包括科室(科室和没有下属网格的社区)

+ * + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @author work@yujt.net.cn + * @date 2020/5/14 10:05 + */ + @GetMapping("deptOptions/getBusinessDeptByUser") + public Result getBusinessDeptByUser() { + DeptOption deptOption = sysDeptService.getBusinessDeptByUser(); + return new Result().ok(deptOption); + } + /** * pc端页面,获取用户街道-社区层级关系,前端显示,请求需携带token *

只组装 街道-社区 两级 @@ -401,6 +413,12 @@ public class SysUserController { return new Result().ok(option); } + @GetMapping("deptOptions/getGridAuthByUser") + public Result> getGridAuthByUser() { + List deptOption = sysDeptService.getGridAuthByUser(); + return new Result().ok(deptOption); + } + /** * 退出登录 * @@ -440,24 +458,23 @@ public class SysUserController { } /** - * @describe: 判断是否更新头像 - * @author wangtong - * @date 2020/3/30 13:49 - * @param [] - * @return com.elink.esua.epdc.commons.tools.utils.Result - */ + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @describe: 判断是否更新头像 + * @author wangtong + * @date 2020/3/30 13:49 + */ @GetMapping("checkUpdateAvatar") public Result checkUpdateAvatar() { return sysUserService.checkUpdateAvatar(); } /** - * @describe: 更新头像 - * @author wangtong - * @date 2020/3/30 16:11 - * @param [avatar] - * @return com.elink.esua.epdc.commons.tools.utils.Result - */ + * @param avatar + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @describe: 更新头像 + * @author wangtong + * @date 2020/3/30 16:11 + */ @GetMapping("updateAvatar") public Result updateAvatar(String avatar) { return sysUserService.updateAvatar(avatar); diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index 12ed317..a63c33f 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -242,10 +242,8 @@ public interface SysDeptService extends BaseService { Result> pageDeptIdByTypeKey(String typeKey, Integer pageSize, Integer pageIndex); /** - * 根据部门id,获取部门层级关系,获取部门领导姓名 + * pc端页面,获取用户街道-社区层级关系,前端显示,请求需携带token * - * @param deptId 部门id - * @param leaderFlag 是否需要查询网格长姓名 0 否 、1 是 * @return com.elink.esua.epdc.dto.DeptLevelAndLeaderDTO * @author work@yujt.net.cn * @date 2019/12/18 11:05 @@ -266,9 +264,18 @@ public interface SysDeptService extends BaseService { /** * @Description: 获取全部的部门基本信息 * @Param: [userSysDeptInfoFormDTO] - * @return: com.elink.esua.epdc.commons.tools.utils.Result> + * @return: com.elink.esua.epdc.commons.tools.utils.Result> * @Author: zy * @Date: 2020-04-14 */ List listAllDeptInfo(UserSysDeptInfoFormDTO formDTO); + + /** + * 展示三级机构层级(街道-社区-网格),不包括区级,不包括科室(科室和没有下属网格的社区) + * + * @return com.elink.esua.epdc.dto.DeptOption + * @author work@yujt.net.cn + * @date 2020/5/14 10:11 + */ + DeptOption getBusinessDeptByUser(); } diff --git a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index 7543ca1..fb6ef78 100644 --- a/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/epdc-cloud-admin/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -350,10 +350,12 @@ public class SysDeptServiceImpl extends BaseServiceImpl getGridAuthByUser() { // 用户拥有的所有部门权限 @@ -385,6 +387,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl options = result.getOptions(); + if (options.isEmpty()) { + return result; + } + // 代表存在子级机构的json key + String childJsonOptionKey = "children"; + // 一个街道机构 + JSONObject streetOption; + // 一个街道下所有社区机构 + JSONArray communityOptionArray; + // 一个社区机构 + JSONObject communityOption; + // 循环所有街道 + for (int i = options.size() - NumConstant.ONE; i >= NumConstant.ZERO; i--) { + // 取出一个街道 + streetOption = options.get(i); + // 街道没有children,代表没有下级社区(没有children的,其实是区直) + if (null == streetOption.get(childJsonOptionKey)) { + // 移除区直机构 + options.remove(i); + continue; + } + // 获取该街道的所有社区 + communityOptionArray = streetOption.getJSONArray(childJsonOptionKey); + if (communityOptionArray.isEmpty()) { + // 移除区直机构 + options.remove(i); + continue; + } + // 社区不为空,循环所有社区 + for (int j = communityOptionArray.size() - 1; j >= 0; j--) { + // 取出一个社区 + communityOption = communityOptionArray.getJSONObject(j); + if (null == communityOption.get(childJsonOptionKey) || communityOption.getJSONArray(childJsonOptionKey).isEmpty()) { + // 若街道有下级机构(社区),移除社区 + communityOptionArray.remove(j); + } + } + } + return result; + } + @Override public DeptOption getMiddleByLoginUser() { DeptOption result = getUserDeptOption(SecurityUser.getUserId()); @@ -614,10 +662,11 @@ public class SysDeptServiceImpl extends BaseServiceImpl deptList = baseDao.selectListDeptTree(); @@ -1046,10 +1097,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl listAllDeptInfo(UserSysDeptInfoFormDTO formDTO) { Map map = new HashMap<>(); - if (formDTO.getTypeKeyList() != null && formDTO.getTypeKeyList().size() >0) { + if (formDTO.getTypeKeyList() != null && formDTO.getTypeKeyList().size() > 0) { map.put("typeKey", formDTO.getTypeKeyList().get(0)); } - if (formDTO.getDeptIdList() != null && formDTO.getDeptIdList().size() >0) { + if (formDTO.getDeptIdList() != null && formDTO.getDeptIdList().size() > 0) { map.put("deptId", formDTO.getDeptIdList().get(0)); } if (formDTO.getDeptName() != null && formDTO.getDeptName() != "") { @@ -1060,11 +1111,10 @@ public class SysDeptServiceImpl extends BaseServiceImpl categoryIdList = dto.getCategoryIdList(); + if (CollUtil.isNotEmpty(categoryIdList)) { + HandleRoleCategoryFormDTO categoryFormDTO = new HandleRoleCategoryFormDTO(); + categoryFormDTO.setRoleId(entity.getId()); + categoryFormDTO.setCategoryIdList(categoryIdList); + eventFeignClient.saveOrUpdateHandleCategory(categoryFormDTO); + } + List whistleDeptIdList = dto.getWhistleDeptIdList(); + if (CollUtil.isNotEmpty(whistleDeptIdList)) { + //保存角色对应的可吹哨部门权限 + this.saveOrUpdateWhistleDeptId(entity.getId(), whistleDeptIdList); + } } /** @@ -200,19 +219,7 @@ public class SysRoleServiceImpl extends BaseServiceImpl