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);