/
drobash
/
AdBoard_service
Обзор
Документация
Войти
/
drobash
/
AdBoard_service
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/org/example/service/EventService.java
50 строк
2 KB
dushesp
Создан сервис
14 апр 2025, 03:59
14 апр 2025, 03:59
a4bd979
Код
Авторство
О чём код?
package org.example.service; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.example.dto.request.EventRequestDto; import org.example.dto.response.EventResponseDto; import org.example.mapper.EventMapper; import org.example.model.AdvertisementEvent; import org.example.repository.EventRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service @RequiredArgsConstructor @Slf4j public class EventService { private final EventRepository eventRepository; private final EventMapper eventMapper = EventMapper.INSTANCE; @Transactional public EventResponseDto logEvent(EventRequestDto dto) { AdvertisementEvent event = eventMapper.toEntity(dto); AdvertisementEvent savedEvent = eventRepository.save(event); log.info("Logged event: {} for advertisement: {} by user: {}", dto.getEventType(), dto.getAdvertisementId(), dto.getUserId()); return eventMapper.toDto(savedEvent); } @Transactional(readOnly = true) public List<EventResponseDto> getEventsByAdvertisement(Long advertisementId) { return eventRepository.findByAdvertisementId(advertisementId) .stream() .map(eventMapper::toDto) .toList(); } @Transactional(readOnly = true) public List<EventResponseDto> getEventsByUser(Long userId) { return eventRepository.findByUserId(userId) .stream() .map(eventMapper::toDto) .toList(); } }