46 lines
1.5 KiB
Java
46 lines
1.5 KiB
Java
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<Vehicle> getAllVehicles(final int count) {
|
|
return this.vehicleRepository.findAll().stream().limit(count).collect(Collectors.toList());
|
|
}
|
|
|
|
@Transactional(readOnly = true)
|
|
public Optional<Vehicle> getVehicle(final int id) {
|
|
return this.vehicleRepository.findById(id);
|
|
}
|
|
}
|