From b5e96d02fe1428354d281d3e04bcf2f4dec22db9 Mon Sep 17 00:00:00 2001
From: zhaoxiaohao <913652501@qq.com>
Date: Mon, 27 Jul 2020 14:09:43 +0800
Subject: [PATCH] 修改拦截器和权限的bug

---
 kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/OrganizationFilter.java                              |   17 ++++----
 kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java |   54 +++++++++++++++-----------
 2 files changed, 40 insertions(+), 31 deletions(-)

diff --git a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
index 51199b2..1efe30b 100644
--- a/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
+++ b/kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-server/src/main/java/com/kidgrow/usercenter/controller/SysUserOrgController.java
@@ -68,7 +68,17 @@
         } else {
             if (sysUserOrg.getUserId() != null) {
                 String createUserOrgCode = "";
-                List<SysOrganization> userOrgData = sysUser.getOrganizations();
+                List<SysOrganization> userOrgData = new ArrayList<>();
+                SysOrganization byId = sysOrganizationService.getById(sysUserOrg.getOrgId());
+                if(byId==null){
+                    return ResultBody.failed().data(null).msg("该组织id异常");
+                }
+                SysOrganization parentId = sysOrganizationService.getById(byId.getOrgParentId());
+                userOrgData.add(parentId);
+                userOrgData.add(byId);
+                if(parentId==null){
+                    return ResultBody.failed().data(null).msg("该组织id异常");
+                }
                 if (userOrgData != null) {
                     if (userOrgData.size() == 2) {
                         createUserOrgCode = userOrgData.get(1).getOrgCode();
@@ -86,23 +96,21 @@
                                 userOrgList.get(i).setFromLevel(2);
 
                                 //查询  科室
-                                QueryWrapper queryWrapper=new QueryWrapper();
-                                queryWrapper.eq("org_id",sysUserOrg.getUpdateUserId());
-                                queryWrapper.eq("is_del",0);
-                                queryWrapper.eq("enabled",1);
+                                QueryWrapper queryWrapper = new QueryWrapper();
+                                queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                                queryWrapper.eq("is_del", 0);
+                                queryWrapper.eq("enabled", 1);
                                 List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
-                                if(!list.isEmpty()){
+                                if (!list.isEmpty()) {
                                     userOrgList.get(i).setFromId(list.get(0).getId());
-                                }else {
+                                } else {
                                     userOrgList.get(i).setFromId(null);
                                 }
-                            }
-                            else
-                            {
-                                QueryWrapper queryWrapper=new QueryWrapper();
-                                queryWrapper.eq("org_id",sysUserOrg.getUpdateUserId());
-                                queryWrapper.eq("is_del",0);
-                                queryWrapper.eq("enabled",1);
+                            } else {
+                                QueryWrapper queryWrapper = new QueryWrapper();
+                                queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                                queryWrapper.eq("is_del", 0);
+                                queryWrapper.eq("enabled", 1);
                                 List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
                                 if (!listHospital.isEmpty()) {
                                     userOrgList.get(i).setFromId(listHospital.get(0).getId());
@@ -127,20 +135,20 @@
                             sysUserOrgTemp.setFromLevel(2);
 
                             //查询  科室
-                            QueryWrapper queryWrapper=new QueryWrapper();
-                            queryWrapper.eq("org_id",sysUserOrg.getUpdateUserId());
-                            queryWrapper.eq("is_del",0);
-                            queryWrapper.eq("enabled",1);
+                            QueryWrapper queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                            queryWrapper.eq("is_del", 0);
+                            queryWrapper.eq("enabled", 1);
                             List<SysDepartment> list = sysDepartmentService.list(queryWrapper);
-                            if(!list.isEmpty()){
+                            if (!list.isEmpty()) {
                                 sysUserOrgTemp.setFromId(list.get(0).getId());
                             }
                             userOrgList.add(sysUserOrgTemp);
                             //查询 医院
-                            queryWrapper=new QueryWrapper();
-                            queryWrapper.eq("org_id",sysUserOrg.getUpdateUserId());
-                            queryWrapper.eq("is_del",0);
-                            queryWrapper.eq("enabled",1);
+                            queryWrapper = new QueryWrapper();
+                            queryWrapper.eq("org_id", sysUserOrg.getUpdateUserId());
+                            queryWrapper.eq("is_del", 0);
+                            queryWrapper.eq("enabled", 1);
                             List<SysHospital> listHospital = sysHospitalService.list(queryWrapper);
                             if (!listHospital.isEmpty()) {
                                 sysUserOrgTemp.setFromId(listHospital.get(0).getId());
diff --git a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/OrganizationFilter.java b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/OrganizationFilter.java
index bcd7ade..3f62c83 100644
--- a/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/OrganizationFilter.java
+++ b/kidgrow-springcloud/kidgrow-springcloud-zuul/src/main/java/com/kidgrow/zuul/filter/OrganizationFilter.java
@@ -89,15 +89,16 @@
                     if (sysUserOrgs == null || sysUserOrgs.isEmpty()) {
                         ctx.setSendZuulResponse(false);
                         ctx.setResponseBody(JSON.toJSONString(ResultBody.fail(1000, "您的组织已经被禁用,请联系管理员")));
-                    } else {
-                        List<Long> collect = sysUserOrgs.stream().map(e -> e.getOrgId()).collect(Collectors.toList());
-                        List<SysOrganization> sysOrganizations = getSysOrganization();
-                        List<Long> orgIds = sysOrganizations.stream().filter(e -> e.getEnabled() == true && collect.contains(e.getId())).map(e -> e.getId()).collect(Collectors.toList());
-                        if (orgIds == null || orgIds.size() <= 0) {
-                            ctx.setSendZuulResponse(false);
-                            ctx.setResponseBody(JSON.toJSONString(ResultBody.fail(1000, "您的组织已经被禁用,请联系管理员")));
-                        }
                     }
+//                    else {
+//                        List<Long> collect = sysUserOrgs.stream().map(e -> e.getOrgId()).collect(Collectors.toList());
+//                        List<SysOrganization> sysOrganizations = getSysOrganization();
+//                        List<Long> orgIds = sysOrganizations.stream().filter(e -> e.getEnabled() == true && collect.contains(e.getId())).map(e -> e.getId()).collect(Collectors.toList());
+//                        if (orgIds == null || orgIds.size() <= 0) {
+//                            ctx.setSendZuulResponse(false);
+//                            ctx.setResponseBody(JSON.toJSONString(ResultBody.fail(1000, "您的组织已经被禁用,请联系管理员")));
+//                        }
+//                    }
                 }
             }
         }

--
Gitblit v1.8.0