fix: 优化地图数据列表查询;新增大屏查重接口

优化地图数据列表查询;新增大屏查重接口
main
hong.yang 1 year ago
parent 3c9f1205f2
commit f4baa7f5d7

@ -189,4 +189,12 @@ public class DataRoomPageController {
} }
return R.success(bgList); return R.success(bgList);
} }
@ApiPermission
@PostMapping("/name/repeat")
@ApiOperation(value = "大屏/组件名称是否重复", position = 60, produces = MediaType.APPLICATION_JSON_VALUE)
public R<Boolean> nameRepeat(@RequestBody PageEntity pageEntity) {
boolean repeat = bigScreenPageService.checkNameRepeat(pageEntity);
return R.success(repeat);
}
} }

@ -24,6 +24,7 @@ import org.springframework.stereotype.Service;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -45,18 +46,24 @@ public class DataRoomMapServiceImpl extends ServiceImpl<DataRoomMapDao, DataRoom
LambdaQueryWrapper<DataRoomMapEntity> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<DataRoomMapEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.select(DataRoomMapEntity::getParentId); queryWrapper.select(DataRoomMapEntity::getParentId);
List<DataRoomMapEntity> list = this.list(queryWrapper); List<DataRoomMapEntity> list = this.list(queryWrapper);
List<String> idList = list.stream().map(DataRoomMapEntity::getParentId).collect(Collectors.toList()); Set<String> parentIds = list.stream().map(DataRoomMapEntity::getParentId).collect(Collectors.toSet());
LambdaQueryWrapper<DataRoomMapEntity> wrapper = QueryWrapperUtils.wrapperLike(new LambdaQueryWrapper<>(), searchDTO.getSearchKey(), DataRoomMapEntity::getName, DataRoomMapEntity::getMapCode); LambdaQueryWrapper<DataRoomMapEntity> wrapper = QueryWrapperUtils.wrapperLike(new LambdaQueryWrapper<>(), searchDTO.getSearchKey(), DataRoomMapEntity::getName, DataRoomMapEntity::getMapCode);
wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel()); wrapper.eq(searchDTO.getLevel() != null, DataRoomMapEntity::getLevel, searchDTO.getLevel());
wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId()); wrapper.eq(StringUtils.isNotBlank(searchDTO.getParentId()), DataRoomMapEntity::getParentId, searchDTO.getParentId());
wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson()); wrapper.eq(searchDTO.getUploadedGeoJson() != null, DataRoomMapEntity::getUploadedGeoJson, searchDTO.getUploadedGeoJson());
List<DataRoomMapEntity> entityList = this.list(wrapper); List<DataRoomMapEntity> entityList = this.list(wrapper);
List<String> idList = entityList.stream().map(DataRoomMapEntity::getId).collect(Collectors.toList());
List<DataRoomMapVO> voList = Lists.newArrayList(); List<DataRoomMapVO> voList = Lists.newArrayList();
for (DataRoomMapEntity entity : entityList) { for (DataRoomMapEntity entity : entityList) {
// 如果地图的直接父级也在列表中,那么不返回该地图
if (idList.contains(entity.getParentId())) {
continue;
}
DataRoomMapVO mapVO = BeanConvertUtils.convert(entity, DataRoomMapVO.class); DataRoomMapVO mapVO = BeanConvertUtils.convert(entity, DataRoomMapVO.class);
mapVO.setHasChildren(idList.contains(entity.getId())); mapVO.setHasChildren(parentIds.contains(entity.getId()));
voList.add(mapVO); voList.add(mapVO);
} }
return voList; return voList;
// return this.baseMapper.getList(searchDTO); // return this.baseMapper.getList(searchDTO);

Loading…
Cancel
Save