65 lines
2.1 KiB
Java
65 lines
2.1 KiB
Java
package ru.ip.example.service.impl;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import ru.ip.example.domain.SubscribeDto;
|
|
import ru.ip.example.domain.entity.SubscribeEntity;
|
|
import ru.ip.example.mapper.SubscribeMapper;
|
|
import ru.ip.example.repository.SubscribeRepository;
|
|
import ru.ip.example.service.SubscribeService;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class SubscribeServiceImpl implements SubscribeService {
|
|
|
|
private final SubscribeRepository subscribeRepository;
|
|
|
|
private final SubscribeMapper subscribeMapper;
|
|
|
|
@Transactional
|
|
@Override
|
|
public SubscribeDto saveSubscribe(SubscribeDto dto) {
|
|
SubscribeEntity entity = subscribeMapper.toEntity(dto);
|
|
SubscribeEntity savedSubscribe = subscribeRepository.save(entity);
|
|
return subscribeMapper.toDto(savedSubscribe);
|
|
}
|
|
|
|
@Transactional
|
|
@Override
|
|
public SubscribeDto updateSubscribe(Integer id, SubscribeDto dto) {
|
|
SubscribeEntity subscribeEntity = subscribeMapper.toEntity(dto);
|
|
subscribeEntity.setId(id);
|
|
SubscribeEntity updatedEntity = subscribeRepository.save(subscribeEntity);
|
|
return subscribeMapper.toDto(updatedEntity);
|
|
}
|
|
|
|
@Transactional(readOnly = true)
|
|
@Override
|
|
public List<SubscribeDto> findAllSubscribes() {
|
|
Iterable<SubscribeEntity> subscribeEntities = subscribeRepository.findAll();
|
|
List<SubscribeDto> subscribes = new ArrayList<>();
|
|
for (SubscribeEntity entity : subscribeEntities) {
|
|
SubscribeDto dto = subscribeMapper.toDto(entity);
|
|
subscribes.add(dto);
|
|
}
|
|
return subscribes;
|
|
}
|
|
|
|
@Transactional(readOnly = true)
|
|
@Override
|
|
public SubscribeDto findSubscribeById(Integer id) {
|
|
SubscribeEntity subscribe = subscribeRepository.findById(id).orElseThrow();
|
|
return subscribeMapper.toDto(subscribe);
|
|
}
|
|
|
|
@Transactional
|
|
@Override
|
|
public void deleteById(Integer id) {
|
|
subscribeRepository.deleteById(id);
|
|
}
|
|
}
|