/
java56
/
Hotels
Обзор
Документация
Войти
/
java56
/
Hotels
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/main/java/org/mikhail/service/AddressService.java
81 строка
3 KB
Mikhail Gorbatenkov
56 - add service logging
04 фев 2025, 16:40
04 фев 2025, 16:40
118708c
Код
Авторство
О чём код?
package org.mikhail.service; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; import jakarta.transaction.Transactional; import lombok.extern.slf4j.Slf4j; import org.mikhail.dto.AddressDTO; import org.mikhail.entity.AddressEntity; import org.mikhail.exceptions.AddressNotFoundException; import org.mikhail.mapper.AddressMapper; import org.mikhail.repository.AddressRepository; import java.util.Collections; import java.util.List; @Slf4j @ApplicationScoped public class AddressService { private final AddressRepository addressRepository; private final AddressMapper addressMapper; @Inject public AddressService(AddressRepository addressRepository, AddressMapper addressMapper) { this.addressRepository = addressRepository; this.addressMapper = addressMapper; } /** * Добавить адрес отеля в базу данных * * @param addressDTO объект для передачи данных * @return идентификатор созданного адреса */ @Transactional public Long addAddress(AddressDTO addressDTO) { AddressEntity entity = addressMapper.toEntity(addressDTO); addressRepository.persist(entity); log.info("Created new address with ID: {}", entity.getId()); return entity.getId(); } /** * Удалить адрес отеля по идентификатору записи * * @param id порядковый номер из таблицы address * @return true - адрес отеля удален из базы данных, false - адрес не удален */ @Transactional public String deleteAddress(Long id) { AddressEntity entity = addressRepository.findById(id); if (entity == null) { throw new AddressNotFoundException("Адрес отеля не найден."); } addressRepository.delete(entity); log.info("Deleted address with ID: {}", entity.getId()); return "Адрес отеля успешно удален"; } /** * Получение списка адресов * * @return списков адресов, закрепленных за отелями */ public List<AddressDTO> getAllAddresses() { List<AddressEntity> addresses = addressRepository.listAll(); log.info("Number of addresses found: {}", addresses.size()); if (addresses.isEmpty()) { return Collections.emptyList(); } return addresses .stream() .map(address -> { log.info("Mapping an address with an ID: {}", address.getId()); return addressMapper.toDto(address); }) .toList(); } }