package cryptosky.me.dbgateway.service; import cryptosky.me.dbgateway.jpa.entity.Vehicle; import cryptosky.me.dbgateway.jpa.repository.VehicleRepository; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.time.LocalDate; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; @Service public class VehicleService { private final VehicleRepository vehicleRepository ; public VehicleService(final VehicleRepository vehicleRepository) { this.vehicleRepository = vehicleRepository ; } @Transactional public Vehicle createVehicle( final LocalDate timestamp, final Long av_price, final Long h_price, final Long l_price, final Long c_price, final Long volume ) { Vehicle vehicle = Vehicle.builder() .timestamp(timestamp) .average_price(av_price) .high_price(h_price) .low_price(l_price) .close_price(c_price) .volume(volume) .build(); return this.vehicleRepository.save(vehicle); } @Transactional(readOnly = true) public List getAllVehicles(final int count) { return this.vehicleRepository.findAll().stream().limit(count).collect(Collectors.toList()); } @Transactional(readOnly = true) public Optional getVehicle(final int id) { return this.vehicleRepository.findById(id); } }