diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenAgencyGridResultDTO.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenAgencyGridResultDTO.java new file mode 100755 index 00000000..4a2bb29d --- /dev/null +++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-client/src/main/java/com/elink/esua/epdc/dto/result/ScreenAgencyGridResultDTO.java @@ -0,0 +1,62 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto.result; + +import com.elink.esua.epdc.dto.ScreenAgencyGridDTO; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; +import java.util.List; + + +/** + * 网格化组织 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2023-09-18 + */ +@Data +public class ScreenAgencyGridResultDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * id + */ + private String id; + + /** + * + */ + private String pid; + + /** + * 名称 + */ + private String name; + + /** + * + */ + private String level; + + + private List children; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java index bdaee504..d98c9ebd 100755 --- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java +++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/controller/ScreenAgencyGridController.java @@ -26,6 +26,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.dto.ScreenAgencyGridDTO; +import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO; import com.elink.esua.epdc.excel.ScreenAgencyGridExcel; import com.elink.esua.epdc.service.ScreenAgencyGridService; import org.springframework.beans.factory.annotation.Autowired; @@ -43,7 +44,7 @@ import java.util.Map; * @since v1.0.0 2023-09-18 */ @RestController -@RequestMapping("screenagencygrid") +@RequestMapping("agencygrid") public class ScreenAgencyGridController { @Autowired @@ -91,4 +92,10 @@ public class ScreenAgencyGridController { ExcelUtils.exportExcelToTarget(response, null, list, ScreenAgencyGridExcel.class); } + @GetMapping("treeList") + public Result> treeList(){ + List result = screenAgencyGridService.treeList(); + return new Result>().ok(result); + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java index 573fd06e..ea2dc742 100755 --- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java +++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/dao/ScreenAgencyGridDao.java @@ -17,10 +17,14 @@ package com.elink.esua.epdc.dao; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO; import com.elink.esua.epdc.entity.ScreenAgencyGridEntity; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * 网格化组织 * @@ -29,5 +33,6 @@ import org.apache.ibatis.annotations.Mapper; */ @Mapper public interface ScreenAgencyGridDao extends BaseDao { - + + List getList(); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java index ed34aacf..6d14d891 100755 --- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java +++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/ScreenAgencyGridService.java @@ -20,6 +20,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.dto.ScreenAgencyGridDTO; +import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO; import com.elink.esua.epdc.entity.ScreenAgencyGridEntity; import java.util.List; @@ -92,4 +93,6 @@ public interface ScreenAgencyGridService extends BaseService treeList(); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java index cc873248..a2785095 100755 --- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/java/com/elink/esua/epdc/service/impl/ScreenAgencyGridServiceImpl.java @@ -25,17 +25,18 @@ import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.dao.ScreenAgencyGridDao; import com.elink.esua.epdc.dto.ScreenAgencyGridDTO; +import com.elink.esua.epdc.dto.result.ScreenAgencyGridResultDTO; import com.elink.esua.epdc.entity.ScreenAgencyGridEntity; import com.elink.esua.epdc.redis.ScreenAgencyGridRedis; import com.elink.esua.epdc.service.ScreenAgencyGridService; 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; -import java.util.Arrays; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 网格化组织 @@ -46,6 +47,8 @@ import java.util.Map; @Service public class ScreenAgencyGridServiceImpl extends BaseServiceImpl implements ScreenAgencyGridService { + private static final Logger logger = LoggerFactory.getLogger(ScreenAgencyGridServiceImpl.class); + @Autowired private ScreenAgencyGridRedis screenAgencyGridRedis; @@ -101,4 +104,35 @@ public class ScreenAgencyGridServiceImpl extends BaseServiceImpl treeList() { + + List agencyGridResultDTOList = baseDao.getList(); + + + Map nodeMap = new HashMap<>(); + + for (ScreenAgencyGridResultDTO screenAgencyGridResultDTO : agencyGridResultDTOList) { + nodeMap.put(screenAgencyGridResultDTO.getId(),screenAgencyGridResultDTO); + } + + // 创建根节点列表 + List rootNodes = new ArrayList<>(); + for (ScreenAgencyGridResultDTO screenAgencyGridResultDTO : agencyGridResultDTOList) { + String parentId = screenAgencyGridResultDTO.getPid(); + if (parentId.equals("0")){ + rootNodes.add(screenAgencyGridResultDTO); + }else{ + ScreenAgencyGridResultDTO parentNode = nodeMap.get(parentId); + if (parentNode.getChildren() == null) { + parentNode.setChildren(new ArrayList<>()); + } + parentNode.getChildren().add(screenAgencyGridResultDTO); + } + + } + + return rootNodes; + } + } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml index 9ab3fdbd..3f335572 100755 --- a/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml +++ b/esua-epdc/epdc-module/epdc-screen/epdc-screen-server/src/main/resources/mapper/ScreenAgencyGridDao.xml @@ -15,6 +15,12 @@ + \ No newline at end of file