added reviews

This commit is contained in:
SlimusMinus
2026-06-23 00:09:57 +03:00
parent c80cbdf976
commit c49f2d108b
11 changed files with 181 additions and 5 deletions

View File

@@ -35,12 +35,14 @@ public class PostService {
private final PostMapper mapper;
private final ImageRepository imageRepository;
private final NominatimService nominatimService;
private final UserService userService;
public PostRequest create(PostRequest request, MultipartFile image) {
Post post = mapper.toEntity(request);
post.setCreatedAt(LocalDateTime.now());
post.setStatus(PostStatus.ACTIVE);
post.setUser(userService.getCurrentUser()); // присваиваем текущего пользователя
repository.save(post); // сначала сохраняем post, чтобы получить id
if (image != null && !image.isEmpty()) {

View 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()
);
}
}