Changeset c02189f in Git for src/main/java/com/wediscussmovies/project/service/impl/DiscussionServiceImpl.java
- Timestamp:
- 02/08/22 20:13:23 (3 years ago)
- Branches:
- main
- Children:
- 0226942, 3fe36de
- Parents:
- 3c0f9a9
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/main/java/com/wediscussmovies/project/service/impl/DiscussionServiceImpl.java
r3c0f9a9 rc02189f 5 5 import com.wediscussmovies.project.model.exception.PersonNotExistException; 6 6 import com.wediscussmovies.project.model.exception.UserNotExistException; 7 import com.wediscussmovies.project.repository.DiscussionRepository; 7 import com.wediscussmovies.project.model.primarykeys.DiscussionLikesPK; 8 import com.wediscussmovies.project.model.relation.DiscussionLikes; 9 import com.wediscussmovies.project.repository.*; 8 10 import com.wediscussmovies.project.model.Discussion; 9 11 import com.wediscussmovies.project.model.Movie; 10 12 import com.wediscussmovies.project.model.Person; 11 13 import com.wediscussmovies.project.model.User; 12 import com.wediscussmovies.project.repository.MovieRepository;13 import com.wediscussmovies.project.repository.PersonRepository;14 import com.wediscussmovies.project.repository.UserRepository;15 14 import com.wediscussmovies.project.service.DiscussionService; 16 import com.wediscussmovies.project.service.MovieService;17 import com.wediscussmovies.project.service.PersonService;18 import com.wediscussmovies.project.service.UserService;19 15 import org.springframework.stereotype.Service; 20 16 21 17 import java.sql.Date; 22 18 import java.time.LocalDate; 19 import java.util.ArrayList; 23 20 import java.util.List; 24 21 … … 27 24 28 25 private final DiscussionRepository discussionRepository; 26 private final DiscussionLikesRepository discussionLikesRepository; 29 27 private final UserRepository userRepository; 30 28 … … 32 30 private final PersonRepository personRepository; 33 31 34 public DiscussionServiceImpl(DiscussionRepository discussionRepository, UserRepository userRepository,32 public DiscussionServiceImpl(DiscussionRepository discussionRepository, DiscussionLikesRepository discussionLikesRepository, UserRepository userRepository, 35 33 MovieRepository movieRepository, PersonRepository personRepository) { 36 34 this.discussionRepository = discussionRepository; 35 this.discussionLikesRepository = discussionLikesRepository; 37 36 this.userRepository = userRepository; 38 37 this.movieRepository = movieRepository; … … 94 93 @Override 95 94 public void likeDiscussion(Integer discussionId, Integer userId) { 96 //ova fali od dijagram 95 Discussion discussion = discussionRepository.findById(discussionId).orElseThrow(() -> new DiscussionNotExistException(discussionId)); 96 User user = userRepository.findById(userId).orElseThrow(() -> new UserNotExistException(userId.toString())); 97 this.discussionLikesRepository.save(new DiscussionLikes(discussion, user)); 98 } 99 100 @Override 101 public List<Discussion> findLikedDiscussionsByUser(User user) { 102 List<DiscussionLikes> likes = discussionLikesRepository.findAllByUser(user); 103 List<Discussion> discussions = new ArrayList<>(); 104 for(DiscussionLikes dl: likes){ 105 discussions.add(dl.getDiscussion()); 106 } 107 return discussions; 97 108 } 98 109 99 110 @Override 100 111 public void unlikeDiscussion(Integer discussionId, Integer userId) { 101 // ova fali od dijagram 112 DiscussionLikesPK pk = new DiscussionLikesPK(discussionId, userId); 113 this.discussionLikesRepository.deleteById(pk); 102 114 } 115 116 @Override 117 public com.wediscussmovies.project.querymodels.DiscussionLikes findLikesForDiscussionWithId(int discussionId) { 118 return discussionRepository.findAllWithLikes().stream().filter(d -> d.getDiscussionId().equals(discussionId)).findFirst().get(); 119 } 120 103 121 104 122 @Override
Note:
See TracChangeset
for help on using the changeset viewer.