diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java index b038e3850..372629e95 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/controller/SysDeptController.java @@ -206,10 +206,22 @@ public class SysDeptController { * @date 2019/12/13 15:25 */ @GetMapping("party/getDeptTree") - public Result getDeptTree(){ + public Result getDeptTree() { return sysDeptService.getDeptTree(); } + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取所有部门树:二级只要街道 + * @Date 2020/1/31 10:30 + **/ + @GetMapping("party/getDeptTreeForEpiDemic") + public Result getDeptTreeForEpiDemic() { + return sysDeptService.getDeptTreeForEpiDemic(); + } + /** * @param params * @return com.elink.esua.epdc.commons.tools.utils.Result diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java index c6466c715..0d79a3d9c 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/SysDeptService.java @@ -8,6 +8,7 @@ package com.elink.esua.epdc.service; +import com.elink.esua.epdc.commons.mybatis.service.BaseService; import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.*; @@ -15,7 +16,6 @@ import com.elink.esua.epdc.dto.epdc.GridForLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.form.UserSysDeptInfoFormDTO; import com.elink.esua.epdc.dto.epdc.result.UserSysDeptInfoResultDTO; import com.elink.esua.epdc.entity.SysDeptEntity; -import com.elink.esua.epdc.commons.mybatis.service.BaseService; import java.util.List; import java.util.Map; @@ -191,6 +191,15 @@ public interface SysDeptService extends BaseService { */ Result getDeptTree(); + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取所有部门树:二级只要街道 + * @Date 2020/1/31 10:30 + **/ + Result getDeptTreeForEpiDemic(); + /** * @param params * @return com.elink.esua.epdc.commons.tools.utils.Result diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java index ce07b768f..2c1a83999 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/service/impl/SysDeptServiceImpl.java @@ -43,6 +43,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -73,6 +75,7 @@ public class SysDeptServiceImpl extends BaseServiceImpl list(Map params) { //普通管理员,只能查询所属部门及子部门的数据 @@ -636,6 +639,98 @@ public class SysDeptServiceImpl extends BaseServiceImpl().ok((DeptOption) obj); } + /** + * @param + * @return com.elink.esua.epdc.commons.tools.utils.Result + * @Author yinzuomei + * @Description 获取所有部门树:二级只要街道 + * @Date 2020/1/31 10:31 + **/ + @Override + public Result getDeptTreeForEpiDemic() { + String deptKey = RedisKeys.getAllDeptOptionKeyForEpiDemic(); + Object obj = redisUtils.get(deptKey); + if (null == obj) { + this.packgeAllDeptOptionForEpiDemic(); + obj = redisUtils.get(deptKey); + } + return new Result().ok((DeptOption) obj); + } + + /** + * @param + * @return void + * @Author yinzuomei + * @Description + * @Date 2020/1/31 11:39 + **/ + private void packgeAllDeptOptionForEpiDemic() { + List deptList = baseDao.selectListDeptTree(); + JSONObject node; + JSONArray headNodes = new JSONArray(); + for (DeptTreeDTO deptItemDto : deptList) { + if (deptItemDto.getPid().longValue() == NumConstant.ZERO_L) { + node = new JSONObject(); + node.put("value", deptItemDto.getId()); + node.put("label", deptItemDto.getName()); + headNodes.add(node); + } + } + // 用于存放所有父级节点 + JSONArray parent; + parent = headNodes; + // 用于存放所有子级节点 + JSONArray allChildren = new JSONArray(); + JSONArray children; + // 用于存放单个子级节点 + JSONObject childNode; + // 存放其余未处理的类别(节点) + List others = this.getOtherDept(deptList, parent); + + while (!others.isEmpty()) { + for (int i = 0; i < parent.size(); i++) { + node = parent.getJSONObject(i); + children = new JSONArray(); + for (DeptTreeDTO categoryTreeDto : others) { + if (categoryTreeDto.getPid().equals(node.get("value"))) { + SysDeptEntity parentDeptInfo = baseDao.getById(categoryTreeDto.getPid()); + //二级只要街道党工委 + if (parentDeptInfo.getPid().longValue() == NumConstant.ZERO_L) { + logger.info("二级目录:" + categoryTreeDto.getName()); + SysDeptEntity currentDeptInfo = baseDao.getById(categoryTreeDto.getId()); + if (OrganizationTypeConstant.ORG_TYPE_STREET_PARTY.equals(currentDeptInfo.getTypeKey())) { + childNode = new JSONObject(); + childNode.put("value", categoryTreeDto.getId()); + childNode.put("label", categoryTreeDto.getName()); + children.add(childNode); + allChildren.add(childNode); + } + } else { + childNode = new JSONObject(); + childNode.put("value", categoryTreeDto.getId()); + childNode.put("label", categoryTreeDto.getName()); + children.add(childNode); + allChildren.add(childNode); + } + } + } + if (!children.isEmpty()) { + node.put("children", children); + } + } + parent = allChildren; + + others = this.getOtherDept(others, parent); + + } + //存放到redis中 + List cache = Lists.newArrayList(); + cache.add(headNodes); + DeptOption option = new DeptOption(); + option.setOptions(cache.get(0)); + redisUtils.set(RedisKeys.getAllDeptOptionKeyForEpiDemic(), option); + } + /** * @param params * @return com.elink.esua.epdc.commons.tools.utils.Result diff --git a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java index 75cf197a2..9fe1ff36a 100644 --- a/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java +++ b/esua-epdc/epdc-commons/epdc-commons-tools/src/main/java/com/elink/esua/epdc/commons/tools/redis/RedisKeys.java @@ -168,4 +168,15 @@ public class RedisKeys { public static String getAllDeptOptionKey() { return rootPrefix.concat("options:dept:all:"); } + + /** + * @param + * @return java.lang.String + * @Author yinzuomei + * @Description 部门所有层级关系-二级只要街道党工委 + * @Date 2020/1/31 11:39 + **/ + public static String getAllDeptOptionKeyForEpiDemic() { + return rootPrefix.concat("options:dept:epidemic:all:"); + } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java index 3c6319346..9b41b246a 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -88,6 +88,6 @@ public interface AdminFeignClient { * @Description 获取所有组织机构信息 * @Date 2020/1/28 12:15 **/ - @GetMapping("sys/dept/party/getDeptTree") - Result getDeptTree(); + @GetMapping("sys/dept/party/getDeptTreeForEpiDemic") + Result getDeptTreeForEpiDemic(); } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java index b0d4ab13e..e7f13a42d 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -48,7 +48,7 @@ public class AdminFeignClientFallback implements AdminFeignClient { } @Override - public Result getDeptTree() { - return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptTree"); + public Result getDeptTreeForEpiDemic() { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getDeptTreeForEpiDemic"); } } diff --git a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java index 13acbf811..fda539882 100644 --- a/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/CustomServiceImpl.java @@ -37,7 +37,7 @@ public class CustomServiceImpl implements CustomService { **/ @Override public Result getDeptTree() { - return adminFeignClient.getDeptTree(); + return adminFeignClient.getDeptTreeForEpiDemic(); } /** diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml index a9952e6f6..f10985631 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/pom.xml @@ -91,6 +91,30 @@ dockerfile-maven-plugin + + ${project.basedir}/src/main/java + + + + true + ${basedir}/src/main/resources + + **/application*.yml + **/*.properties + logback-spring.xml + registry.conf + + + + ${basedir}/src/main/resources + + **/application*.yml + **/*.properties + logback-spring.xml + registry.conf + + + diff --git a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/registry.conf b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/registry.conf index 9cfedf9cc..fb64abd71 100644 --- a/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/registry.conf +++ b/esua-epdc/epdc-module/epdc-custom/epdc-custom-server/src/main/resources/registry.conf @@ -3,7 +3,7 @@ registry { type = "nacos" nacos { - serverAddr = "47.104.224.45" + serverAddr = "@nacos.server-addr@" namespace = "public" cluster = "default" } @@ -14,7 +14,7 @@ config { type = "nacos" nacos { - serverAddr = "47.104.224.45" + serverAddr = "@nacos.server-addr@" namespace = "public" cluster = "default" }