[57e58a3] | 1 | package com.example.skychasemk.services;
|
---|
| 2 |
|
---|
| 3 | import com.example.skychasemk.dto.ReviewDTO;
|
---|
| 4 | import com.example.skychasemk.model.Review;
|
---|
[7deb3e2] | 5 | import com.example.skychasemk.repository.FlightRepository;
|
---|
[57e58a3] | 6 | import com.example.skychasemk.repository.ReviewRepository;
|
---|
| 7 | import org.springframework.beans.factory.annotation.Autowired;
|
---|
| 8 | import org.springframework.stereotype.Service;
|
---|
| 9 |
|
---|
| 10 | import java.time.LocalDate;
|
---|
[7deb3e2] | 11 | import java.util.ArrayList;
|
---|
[57e58a3] | 12 | import java.util.List;
|
---|
| 13 | import java.util.Optional;
|
---|
| 14 |
|
---|
| 15 | @Service
|
---|
| 16 | public class ReviewService {
|
---|
| 17 |
|
---|
| 18 | @Autowired
|
---|
| 19 | private ReviewRepository reviewRepository;
|
---|
| 20 |
|
---|
[7deb3e2] | 21 | @Autowired
|
---|
| 22 | private FlightRepository flightRepository;
|
---|
| 23 |
|
---|
| 24 | public List<ReviewDTO> getAllReviews(){
|
---|
| 25 | List<Review> reviews = reviewRepository.findAll();
|
---|
| 26 | List<ReviewDTO> reviewDTOs = new ArrayList<>();
|
---|
| 27 |
|
---|
| 28 | for (Review review : reviews) {
|
---|
| 29 | ReviewDTO dto = new ReviewDTO();
|
---|
| 30 | dto.setReviewID(review.getReviewID());
|
---|
| 31 | dto.setReviewComment(review.getReviewComment());
|
---|
| 32 | dto.setRating(review.getRating());
|
---|
| 33 | dto.setTargetID(review.getTargetID());
|
---|
| 34 | dto.setUserID(review.getUserID());
|
---|
| 35 |
|
---|
| 36 | flightRepository.findById(Long.valueOf(review.getTargetID())).ifPresent(flight -> {
|
---|
| 37 | dto.setFlightNumber(flight.getFlightNumber());
|
---|
| 38 | });
|
---|
| 39 |
|
---|
| 40 |
|
---|
| 41 | reviewDTOs.add(dto);
|
---|
| 42 | }
|
---|
| 43 | return reviewDTOs;
|
---|
[57e58a3] | 44 | }
|
---|
| 45 |
|
---|
[7deb3e2] | 46 | /* public List<Review> getAllReviews() {
|
---|
| 47 | return reviewRepository.findAll();
|
---|
| 48 | }*/
|
---|
| 49 |
|
---|
[57e58a3] | 50 | public Optional<Review> getReviewById(Integer reviewID) {
|
---|
| 51 | return reviewRepository.findById(reviewID);
|
---|
| 52 | }
|
---|
| 53 |
|
---|
| 54 | public Review submitReview(ReviewDTO dto) {
|
---|
| 55 | Review review = new Review();
|
---|
| 56 | review.setUserID(dto.getUserID());
|
---|
| 57 | review.setTargetID(dto.getTargetID());
|
---|
| 58 | review.setReviewComment(dto.getReviewComment());
|
---|
| 59 | review.setRating(dto.getRating());
|
---|
| 60 | review.setDate(LocalDate.now());
|
---|
| 61 |
|
---|
| 62 | return reviewRepository.save(review);
|
---|
| 63 | }
|
---|
| 64 |
|
---|
| 65 | public Review updateReview(Integer reviewID, Review review) {
|
---|
| 66 | if (reviewRepository.existsById(reviewID)) {
|
---|
| 67 | review.setReviewID(reviewID);
|
---|
| 68 | return reviewRepository.save(review);
|
---|
| 69 | } else {
|
---|
| 70 | throw new RuntimeException("Review not found with id " + reviewID);
|
---|
| 71 | }
|
---|
| 72 | }
|
---|
| 73 |
|
---|
| 74 | public void deleteReview(Integer reviewID) {
|
---|
| 75 | reviewRepository.deleteById(reviewID);
|
---|
| 76 | }
|
---|
| 77 | }
|
---|
| 78 |
|
---|