根据基站设备ID查询训练场信息 - 优化后的 API 接口
<p>//4.根据基站设备ID查询出训练场全部相关信息
@GetMapping("/queryTrainingGroundByBaseDeviceIDByAll")
public Result<Object> queryTrainingGroundByBaseDeviceIDByAll(long deviceId, HttpServletRequest request) {</p>
<pre><code>//权限验证
String token = (String) request.getAttribute("claims_admin");
if (token == null || "".equals(token)) {
throw new RuntimeException("权限不足!");
}
//把查询到的的对象放入map集合
Map<String, Object> map = new HashMap<>();
//调用方法查询出训练场
List<TrainingGroundDataDto> trainingGroundDataDtos = trainingGroundDataService.queryTrainingGroundDataByBaseDeviceIdByRegular(deviceId);
List<Long> trainingGroundIds = trainingGroundDataDtos.stream().map(TrainingGroundDataDto::getTrainingGroundId).collect(Collectors.toList());
//调用方法批量查询训练场科目二
List<ProjectRouteMapData> projectRouteMapData2 = projectRouteMapDataDataService.queryProjectRouteMapDataByTrainingGroundIdsAndType(trainingGroundIds, 2);
//调用方法批量查询训练场科目三
List<ProjectRouteMapData> projectRouteMapData3 = projectRouteMapDataDataService.queryProjectRouteMapDataByTrainingGroundIdsAndType(trainingGroundIds, 3);
Map<Long, List<ProjectRouteMapData>> projectRouteMapData2Map = projectRouteMapData2.stream().collect(Collectors.groupingBy(ProjectRouteMapData::getTrainingGroundId));
Map<Long, List<ProjectRouteMapData>> projectRouteMapData3Map = projectRouteMapData3.stream().collect(Collectors.groupingBy(ProjectRouteMapData::getTrainingGroundId));
for (TrainingGroundDataDto trainingGroundDataDto : trainingGroundDataDtos) {
trainingGroundDataDto.setProjectRouteMapData2(projectRouteMapData2Map.get(trainingGroundDataDto.getTrainingGroundId()));
trainingGroundDataDto.setProjectRouteMapData3(projectRouteMapData3Map.get(trainingGroundDataDto.getTrainingGroundId()));
}
map.put("trainingGroundDatas", trainingGroundDataDtos);
log.info("查询训练场ByID成功!");
return new Result<>(ResultCode.SUCCESS, map);
</code></pre>
<p>}</p>
原文地址: https://www.cveoy.top/t/topic/qqPR 著作权归作者所有。请勿转载和采集!