From f4baa7f5d7cd8e81815765c28f3e7e45e9eb737f Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Thu, 28 Sep 2023 09:31:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=88=97=E8=A1=A8=E6=9F=A5=E8=AF=A2=EF=BC=9B?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A4=A7=E5=B1=8F=E6=9F=A5=E9=87=8D=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 优化地图数据列表查询;新增大屏查重接口 --- .../manage/controller/DataRoomPageController.java | 8 ++++++++ .../map/service/impl/DataRoomMapServiceImpl.java | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/controller/DataRoomPageController.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/controller/DataRoomPageController.java index f86c02a3..08023ae5 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/controller/DataRoomPageController.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/manage/controller/DataRoomPageController.java @@ -189,4 +189,12 @@ public class DataRoomPageController { } return R.success(bgList); } + + @ApiPermission + @PostMapping("/name/repeat") + @ApiOperation(value = "大屏/组件名称是否重复", position = 60, produces = MediaType.APPLICATION_JSON_VALUE) + public R nameRepeat(@RequestBody PageEntity pageEntity) { + boolean repeat = bigScreenPageService.checkNameRepeat(pageEntity); + return R.success(repeat); + } } diff --git a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/service/impl/DataRoomMapServiceImpl.java b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/service/impl/DataRoomMapServiceImpl.java index be523aba..8fa2dadc 100644 --- a/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/service/impl/DataRoomMapServiceImpl.java +++ b/DataRoom/dataroom-core/src/main/java/com/gccloud/dataroom/core/module/map/service/impl/DataRoomMapServiceImpl.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** @@ -45,18 +46,24 @@ public class DataRoomMapServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(DataRoomMapEntity::getParentId); List list = this.list(queryWrapper); - List idList = list.stream().map(DataRoomMapEntity::getParentId).collect(Collectors.toList()); + Set parentIds = list.stream().map(DataRoomMapEntity::getParentId).collect(Collectors.toSet()); LambdaQueryWrapper wrapper = QueryWrapperUtils.wrapperLike(new LambdaQueryWrapper<>(), searchDTO.getSearchKey(), DataRoomMapEntity::getName, DataRoomMapEntity::getMapCode); wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel()); wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId()); wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson()); List entityList = this.list(wrapper); + List idList = entityList.stream().map(DataRoomMapEntity::getId).collect(Collectors.toList()); List voList = Lists.newArrayList(); for (DataRoomMapEntity entity : entityList) { + // 如果地图的直接父级也在列表中,那么不返回该地图 + if (idList.contains(entity.getParentId())) { + continue; + } DataRoomMapVO mapVO = BeanConvertUtils.convert(entity, DataRoomMapVO.class); - mapVO.setHasChildren(idList.contains(entity.getId())); + mapVO.setHasChildren(parentIds.contains(entity.getId())); voList.add(mapVO); + } return voList; // return this.baseMapper.getList(searchDTO);