feat:标注接口返回groupid

This commit is contained in:
gyb 2026-03-28 14:42:12 +08:00
parent 993967bd6d
commit 9839ec5d21
1 changed files with 23 additions and 5 deletions

View File

@ -189,16 +189,34 @@ public class AirlineMarkerGroupInfoServiceImpl implements IAirlineMarkerGroupInf
model.setMarkerName(queryDto.getMarkerName()); model.setMarkerName(queryDto.getMarkerName());
model.setMarkerType(queryDto.getMarkerType()); model.setMarkerType(queryDto.getMarkerType());
} }
// 直接通过 XML 关联 SQL 查询所有可用标注 // 直接通过 XML 关联 SQL 查询所有可用标注
List<AirlineMarker> markers = iAirlineMarkerDomain.selectAllAvailableMarkers(model); List<AirlineMarker> markers = iAirlineMarkerDomain.selectAllAvailableMarkers(model);
if (markers == null || markers.isEmpty()) { if (markers == null || markers.isEmpty()) {
return List.of(); return List.of();
} }
// 转换为 DTO 并返回 // 获取所有标注分组关系建立 markerId -> groupId 的映射
return AirlineMarkerServiceConvert.fromList(markers); AirlineMarkerGroupInfo groupInfoQuery = new AirlineMarkerGroupInfo();
List<AirlineMarkerGroupInfo> groupInfos = iAirlineMarkerGroupInfoDomain.selectMarkerGroupInfoList(groupInfoQuery);
java.util.Map<Long, Long> markerGroupMap = new java.util.HashMap<>();
if (groupInfos != null) {
for (AirlineMarkerGroupInfo info : groupInfos) {
markerGroupMap.put(info.getMarkerId(), info.getGroupId());
}
}
// 转换为 DTO 并设置 groupId
java.util.List<AirlineMarkerDTO> result = new java.util.ArrayList<>();
for (AirlineMarker marker : markers) {
AirlineMarkerDTO dto = AirlineMarkerServiceConvert.from(marker);
if (markerGroupMap.containsKey(marker.getId())) {
dto.setGroupId(markerGroupMap.get(marker.getId()));
}
result.add(dto);
}
return result;
} }
@Override @Override