Skip to content

Commit

Permalink
hotfix: 문서 목록 조회 수정
Browse files Browse the repository at this point in the history
  • Loading branch information
ori0o0p committed Aug 24, 2024
1 parent e263c18 commit 4a52136
Show file tree
Hide file tree
Showing 6 changed files with 12 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,17 @@ public FullDocumentResponse getSubmittedDocument(String documentId) {
public DataResponseInfo<SearchDocumentResponse> searchDocument(String name, Integer grade, Integer classNumber, String majorId, String status) {
var teacherId = teacherComponent.currentTeacher().getId();

var documents = documentRepository.searchDocuments(name, grade, classNumber, majorId, status).toList();
var documents = documentRepository.searchDocuments(name, grade, classNumber, majorId, status);
var documentIds = documents.stream().map(DocumentEntity::getId).toList();

Map<String, List<FeedbackEntity>> feedbackMap = feedbackMongoRepository.findAllByDocumentIdInAndTeacherId(documentIds, teacherId)
.stream()
.collect(Collectors.groupingBy(FeedbackEntity::getDocumentId));


var responses = documents.stream()
.map(document -> SearchDocumentResponse.of(
document,
feedbackMap.getOrDefault(document.getId(), Collections.emptyList())
feedbackMap.get(document.getId())
.stream()
.map(SearchDocumentResponse.Feedback::fromFeedback)
.toList()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,5 @@ public interface FeedbackMongoRepository extends MongoRepository<FeedbackEntity,
void deleteAllByDocumentId(String documentId);
Stream<FeedbackEntity> findAllByTeacherId(String teacherId);
Stream<FeedbackEntity> findAllByDocumentIdAndTeacherId(String documentId, String teacherId);
Stream<FeedbackEntity> findAllByDocumentIdInAndTeacherId(List<String> documentIds, String teacherId);
List<FeedbackEntity> findAllByDocumentIdInAndTeacherId(List<String> documentIds, String teacherId);
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package com.example.whopper.domain.resume;

import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;

public interface DocumentRepository {
Optional<DocumentEntity> findById(String id);
Optional<DocumentEntity> findByWriterId(String id);
Stream<DocumentEntity> searchDocuments(String name, Integer grade, Integer classNumber, String majorId, String status);
List<DocumentEntity> searchDocuments(String name, Integer grade, Integer classNumber, String majorId, String status);
Stream<DocumentEntity> getReleasedDocuments();
DocumentEntity save(DocumentEntity document);
Stream<DocumentEntity> getReleasedDocumentsByGenerationAndYear(int generation, int year);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Optional;
import java.util.stream.Stream;

Expand All @@ -19,7 +20,7 @@ public DocumentRepositoryImpl(DocumentMongoRepository documentMongoRepository, M
}

@Override
public Stream<DocumentEntity> searchDocuments(String name, Integer grade, Integer classNumber, String majorId, String status) {
public List<DocumentEntity> searchDocuments(String name, Integer grade, Integer classNumber, String majorId, String status) {
Query query = searchQuery(name, grade, classNumber, majorId, status);
query.with(getSort());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@
import java.util.stream.Stream;

public interface MongoUtils {
<T> Stream<T> find(Query query, Class<T> targetClass);
<T> List<T> find(Query query, Class<T> targetClass);
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.stream.Stream;

@Component
@RequiredArgsConstructor
public class MongoUtilsImpl implements MongoUtils {
private final MongoTemplate mongoTemplate;

public <T> Stream<T> find(Query query, Class<T> targetClass) {
return mongoTemplate.find(query, targetClass).stream();
public <T> List<T> find(Query query, Class<T> targetClass) {
return mongoTemplate.find(query, targetClass);
}
}

0 comments on commit 4a52136

Please sign in to comment.