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 6131fcc0..37888167 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 @@ -323,4 +323,17 @@ public class SysDeptController { return sysDeptService.addAreaCode(dto); } + + /** + * 批量查询,所有部门ID + * + * @param deptIds + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 10:13 2021-09-28 + **/ + @GetMapping("getAllDeptIdsArray/{deptIds}") + Result> getAllDeptIdsArray(@PathVariable("deptIds") Long[] deptIds) { + return sysDeptService.getAllDeptIdsArray(deptIds); + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java index 2dd4abf9..313064a9 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/java/com/elink/esua/epdc/dao/SysDeptDao.java @@ -9,6 +9,7 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.CompleteDeptDTO; import com.elink.esua.epdc.dto.DeptTreeDTO; import com.elink.esua.epdc.dto.SysDeptDTO; @@ -185,4 +186,14 @@ public interface SysDeptDao extends BaseDao { * @since 2021/1/20 10:01 */ List selectListOfDeptInfoByTypeKey(String typeKey); + + /** + * 通过网格ID获取该网格所有上级机构(批量查询) + * + * @param deptIds + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 10:13 2021-09-28 + **/ + List getAllDeptIdsArray(@Param("deptIds") Long[] deptIds); } 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 ccdc4f12..12d0e9df 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 @@ -307,4 +307,14 @@ public interface SysDeptService extends BaseService { * @since 2021/5/11 15:21 */ Result addAreaCode(SysDeptDTO dto); + + /** + * 批量查询,所有部门ID + * + * @param deptIds + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 10:13 2021-09-28 + **/ + Result> getAllDeptIdsArray(Long[] deptIds); } 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 89c5866a..cb7fad5b 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 @@ -54,10 +54,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 部门管理 @@ -1075,4 +1072,45 @@ public class SysDeptServiceImpl extends BaseServiceImpl().ok(dto); } + + @Override + public Result> getAllDeptIdsArray(Long[] deptIds) { + List allDeptIdsArray = baseDao.getAllDeptIdsArray(deptIds); + + List ids = new ArrayList<>(); + for (CompleteDeptDTO dto : allDeptIdsArray) { + Long[] allDeptId = new Long[NumConstant.FOUR]; + int index = NumConstant.ZERO; + if (dto.getDistrictId() != null && dto.getDistrictId() != NumConstant.ZERO_L) { + allDeptId[index++] = dto.getDistrictId(); + } + if (dto.getStreetId() != null && dto.getStreetId() != NumConstant.ZERO_L) { + allDeptId[index++] = dto.getStreetId(); + } + if (dto.getCommunityId() != null && dto.getCommunityId() != NumConstant.ZERO_L) { + allDeptId[index++] = dto.getCommunityId(); + } + if (dto.getGridId() != null && dto.getGridId() != NumConstant.ZERO_L) { + allDeptId[index++] = dto.getGridId(); + } + Long[] copyAllDeptId = Arrays.copyOf(allDeptId, index); + ids.add(copyAllDeptId); + } + return new Result >().ok(ids); + } +} + +class A { + public static void main(String[] args) { + Long[] allDeptId = new Long[4]; + allDeptId[0] = 1L; + allDeptId[1] = 1L; + allDeptId[2] = 1L; + allDeptId[3] = 1L; + Long[] longs = Arrays.copyOf(allDeptId,4); + allDeptId[0] = 11L; + for (Long aLong : longs) { + System.out.println(aLong); + } + } } diff --git a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml index 9505661d..6a4091e8 100644 --- a/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml +++ b/esua-epdc/epdc-admin/epdc-admin-server/src/main/resources/mapper/SysDeptDao.xml @@ -288,4 +288,27 @@ AND type_key = #{typeKey} AND t.id NOT IN ( SELECT c.dept_id FROM sys_dept_config c WHERE c.del_flag = '0' ) ORDER BY t.`name` + + diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDepartmentDao.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDepartmentDao.java index 2d7eb5d4..a100d9f3 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDepartmentDao.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/dao/BannerDepartmentDao.java @@ -20,6 +20,7 @@ package com.elink.esua.epdc.dao; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; import com.elink.esua.epdc.entity.BannerDepartmentEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; /** * banner部门关系表 @@ -37,4 +38,14 @@ public interface BannerDepartmentDao extends BaseDao { * @date 2019/9/10 20:04 */ void deleteByBannerId(String bannerId); -} \ No newline at end of file + + /** + * 根据 bannerId,查询 banner 关联的部门ID + * + * @param bannerId + * @return java.lang.Long[] + * @Author zhangyong + * @Date 09:48 2021-09-28 + **/ + Long[] selectBannerDepartmentByBannerId(@Param("bannerId") String bannerId); +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java index 30aa9367..6237282f 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/AdminFeignClient.java @@ -16,7 +16,9 @@ import java.util.List; * @email yujintao@elink-cn.com * @date 2019/9/5 14:44 */ -@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class) +@FeignClient(name = ServiceConstant.EPDC_ADMIN_SERVER, fallback = AdminFeignClientFallback.class +//, url = "http://127.0.0.1:9092" +) public interface AdminFeignClient { /** @@ -51,4 +53,15 @@ public interface AdminFeignClient { */ @GetMapping("/sys/dict/listSimple/{dictType}") Result> getListSimpleByDictType(@PathVariable("dictType") String dictType); + + /** + * 批量查询,所有部门ID + * + * @param deptIds + * @return com.elink.esua.epdc.commons.tools.utils.Result> + * @Author zhangyong + * @Date 10:13 2021-09-28 + **/ + @GetMapping("/sys/dept/getAllDeptIdsArray/{deptIds}") + Result> getAllDeptIdsArray(@PathVariable("deptIds") Long[] deptIds); } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java index 54e8d1b1..753fed5c 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/feign/fallback/AdminFeignClientFallback.java @@ -32,4 +32,9 @@ public class AdminFeignClientFallback implements AdminFeignClient { public Result> getListSimpleByDictType(String dictType) { return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getListSimpleByDictType", dictType); } + + @Override + public Result> getAllDeptIdsArray(Long[] deptIds) { + return ModuleUtils.feignConError(ServiceConstant.EPDC_ADMIN_SERVER, "getAllDeptIdsArray", deptIds); + } } diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerDepartmentService.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerDepartmentService.java index 7d6b6e3b..c12a9251 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerDepartmentService.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/BannerDepartmentService.java @@ -111,4 +111,14 @@ public interface BannerDepartmentService extends BaseService noticeGridList); -} \ No newline at end of file + + /** + * 根据 bannerId,查询 banner 关联的部门ID + * + * @param bannerId + * @return java.lang.Long[] + * @Author zhangyong + * @Date 09:48 2021-09-28 + **/ + Long[] selectBannerDepartmentByBannerId(String bannerId); +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerDepartmentServiceImpl.java b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerDepartmentServiceImpl.java index 1dbbadad..d7581b6c 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerDepartmentServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/java/com/elink/esua/epdc/service/impl/BannerDepartmentServiceImpl.java @@ -127,4 +127,8 @@ public class BannerDepartmentServiceImpl extends BaseServiceImpl public BannerDTO get(String id) { BannerEntity entity = baseDao.selectById(id); BannerDTO dto = ConvertUtils.sourceToTarget(entity, BannerDTO.class); - /*if(StringUtils.isNotBlank(dto.getAllDeptIds())){ - String[] idsShow = dto.getAllDeptIds().split(","); - List ids = Arrays.asList(idsShow); - dto.setAllDeptIdsShow(ids.subList(1,ids.size())); - }*/ + Long[] gridIds = bannerDepartmentService.selectBannerDepartmentByBannerId(id); + if ( null != gridIds && NumConstant.ZERO < gridIds.length) { + Result> allDeptIdsArray = adminFeignClient.getAllDeptIdsArray(gridIds); + System.out.println(allDeptIdsArray.success()); + if (allDeptIdsArray.success()) { + dto.setAllDeptIdsShow(allDeptIdsArray.getData()); + } + } return dto; } @@ -244,4 +247,4 @@ public class BannerServiceImpl extends BaseServiceImpl return entities; } -} \ No newline at end of file +} diff --git a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDepartmentDao.xml b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDepartmentDao.xml index 0d06119a..600bc58e 100644 --- a/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDepartmentDao.xml +++ b/esua-epdc/epdc-module/epdc-news/epdc-news-server/src/main/resources/mapper/BannerDepartmentDao.xml @@ -18,4 +18,11 @@ DELETE FROM epdc_banner_department WHERE BANNER_ID = #{bannerId} - \ No newline at end of file + +