feat : 리뷰 파싱 및 리뷰 조회 로직 수정
This commit is contained in:
parent
3a59c0f279
commit
c8952d21c1
@ -522,8 +522,6 @@ public class AnalyticsService implements AnalyticsUseCase {
|
||||
// 1. 리뷰 데이터 수집
|
||||
List<String> reviewData = externalReviewPort.getRecentReviews(storeId, days);
|
||||
|
||||
log.info("review Data check ===> {}", reviewData);
|
||||
|
||||
if (reviewData.isEmpty()) {
|
||||
log.warn("AI 피드백 생성을 위한 리뷰 데이터가 없습니다: storeId={}", storeId);
|
||||
return createDefaultAIFeedback(storeId);
|
||||
@ -533,6 +531,7 @@ public class AnalyticsService implements AnalyticsUseCase {
|
||||
AiFeedback aiFeedback = aiServicePort.generateFeedback(reviewData);
|
||||
|
||||
|
||||
|
||||
// 3. 도메인 객체 속성 설정
|
||||
AiFeedback completeAiFeedback = AiFeedback.builder()
|
||||
.storeId(storeId)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -88,6 +88,9 @@ public class ExternalReviewAdapter implements ExternalReviewPort {
|
||||
.filter(review -> review.getCreatedAt() != null && review.getCreatedAt().isAfter(cutoffDate))
|
||||
.map(ReviewListResponse::getContent)
|
||||
.filter(content -> content != null && !content.trim().isEmpty())
|
||||
.map(content -> content.replace("`", "")
|
||||
.replace("\\", "")
|
||||
.replace("\"", ""))
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
|
||||
@ -80,7 +80,7 @@ public class ReviewInteractor implements CreateReviewUseCase, DeleteReviewUseCas
|
||||
@Transactional(readOnly = true)
|
||||
public List<ReviewListResponse> getStoreReviews(Long storeId, Integer page, Integer size) {
|
||||
Pageable pageable = PageRequest.of(page != null ? page : 0, size != null ? size : 20);
|
||||
Page<Review> reviews = reviewRepository.findReviewsByStoreId(storeId, pageable);
|
||||
Page<Review> reviews = reviewRepository.findReviewsByStoreIdOrderByCreatedAtDesc(storeId, pageable);
|
||||
|
||||
return reviews.stream()
|
||||
.filter(review -> review.getStatus() == ReviewStatus.ACTIVE)
|
||||
|
||||
@ -27,7 +27,13 @@ public interface ReviewRepository {
|
||||
* 매장 ID로 리뷰 목록 조회
|
||||
*/
|
||||
Page<Review> findReviewsByStoreId(Long storeId, Pageable pageable);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 매장 ID로 리뷰 목록 조회
|
||||
*/
|
||||
Page<Review> findReviewsByStoreIdOrderByCreatedAtDesc(Long storeId, Pageable pageable);
|
||||
|
||||
/**
|
||||
* 회원 ID로 리뷰 목록 조회
|
||||
*/
|
||||
|
||||
@ -40,6 +40,13 @@ public class ReviewRepositoryAdapter implements ReviewRepository {
|
||||
Page<ReviewEntity> entities = reviewJpaRepository.findByStoreIdAndStatus(storeId, ReviewStatus.ACTIVE, pageable);
|
||||
return entities.map(this::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<Review> findReviewsByStoreIdOrderByCreatedAtDesc(Long storeId, Pageable pageable) {
|
||||
Page<ReviewEntity> entities = reviewJpaRepository.findByStoreIdAndStatus(storeId, ReviewStatus.ACTIVE,
|
||||
pageable);
|
||||
return entities.map(this::toDomain);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<Review> findReviewsByMemberId(Long memberId, Pageable pageable) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user