added reviews
This commit is contained in:
45
src/main/java/com/krylov/refound/service/ReviewService.java
Normal file
45
src/main/java/com/krylov/refound/service/ReviewService.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package com.krylov.refound.service;
|
||||
|
||||
import com.krylov.refound.dto.ReviewRequestDto;
|
||||
import com.krylov.refound.dto.ReviewResponseDto;
|
||||
import com.krylov.refound.entity.Review;
|
||||
import com.krylov.refound.repository.ReviewRepository;
|
||||
import jakarta.validation.Valid;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ReviewService {
|
||||
|
||||
private final ReviewRepository reviewRepository;
|
||||
|
||||
public List<ReviewResponseDto> getAllReviews() {
|
||||
return reviewRepository.findAllByOrderByCreatedAtDesc()
|
||||
.stream()
|
||||
.map(this::toResponse)
|
||||
.toList();
|
||||
}
|
||||
|
||||
public ReviewResponseDto createReview(ReviewRequestDto request, String username) {
|
||||
Review review = new Review();
|
||||
review.setAuthorName(username); // или firstName из User
|
||||
review.setRating(request.getRating());
|
||||
review.setText(request.getText());
|
||||
review.setCreatedAt(LocalDateTime.now());
|
||||
|
||||
Review saved = reviewRepository.save(review);
|
||||
return toResponse(saved);
|
||||
}
|
||||
private ReviewResponseDto toResponse(Review r) {
|
||||
return new ReviewResponseDto(
|
||||
r.getId(),
|
||||
r.getAuthorName(),
|
||||
r.getRating(),
|
||||
r.getText(),
|
||||
r.getCreatedAt()
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user