source: src/main/java/com/example/skychasemk/services/ReviewService.java

Last change on this file was 7deb3e2, checked in by ste08 <sjovanoska@…>, 2 months ago

notification status + review page fixed

  • Property mode set to 100644
File size: 2.4 KB
Line 
1package com.example.skychasemk.services;
2
3import com.example.skychasemk.dto.ReviewDTO;
4import com.example.skychasemk.model.Review;
5import com.example.skychasemk.repository.FlightRepository;
6import com.example.skychasemk.repository.ReviewRepository;
7import org.springframework.beans.factory.annotation.Autowired;
8import org.springframework.stereotype.Service;
9
10import java.time.LocalDate;
11import java.util.ArrayList;
12import java.util.List;
13import java.util.Optional;
14
15@Service
16public class ReviewService {
17
18 @Autowired
19 private ReviewRepository reviewRepository;
20
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;
44 }
45
46 /* public List<Review> getAllReviews() {
47 return reviewRepository.findAll();
48 }*/
49
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
Note: See TracBrowser for help on using the repository browser.