diff --git a/src/main/java/com/earseo/sight/service/internal/InternalSightService.java b/src/main/java/com/earseo/sight/service/internal/InternalSightService.java index c1a08d8..332b59b 100644 --- a/src/main/java/com/earseo/sight/service/internal/InternalSightService.java +++ b/src/main/java/com/earseo/sight/service/internal/InternalSightService.java @@ -7,7 +7,10 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Comparator; +import java.util.HashMap; import java.util.List; +import java.util.Map; @Service @RequiredArgsConstructor @@ -19,10 +22,14 @@ public class InternalSightService { public List getSightByIds(List ids) { List dtos = sightRepository.findByContentId(ids); + Map orderMap = new HashMap<>(); + for (int i = 0; i < ids.size(); i++) { + orderMap.put(ids.get(i), i); + } + return dtos.stream() - .map( - SightMetaResponse::toDto - ) + .sorted(Comparator.comparingInt(dto -> orderMap.get(dto.contentId()))) + .map(SightMetaResponse::toDto) .toList(); } }