| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package org.example.controller;
- import org.example.domain.Bike;
- import org.example.domain.User;
- import org.example.repository.BikeRepository;
- import org.example.repository.UserRepository;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- import java.util.Optional;
- @RestController
- @RequestMapping(("api"))
- public class BikeController {
- @Autowired
- UserRepository userRepository;
- @Autowired
- BikeRepository bikeRepository;
- @RequestMapping("/getAllBikes")
- @ResponseBody
- public List<Bike> getBikesList() {
- return bikeRepository.findAll();
- }
- @RequestMapping("/createNewBike/{price}")
- public void createNewBike(@PathVariable int price) {
- bikeRepository.save(new Bike(
- null,
- null,
- price,
- null
- ));
- }
- @RequestMapping("/rentABike/{login}/{bikeId}")
- public void rentABike(@PathVariable String login, @PathVariable Long bikeId, @RequestBody Bike newDataBike) {
- Optional<Bike> bike = bikeRepository.findById(bikeId);
- User user = userRepository.findByLogin(login);
- System.out.println("Bike rented");
- if (bike.isPresent()) {
- System.out.println("Bike present");
- Bike bike1 = bike.get();
- bike1.setRentedFrom(newDataBike.getRentedFrom());
- bike1.setRentedTo(newDataBike.getRentedTo());
- bike1.setPrice(newDataBike.getPrice());
- bike1.setUser(user);
- bikeRepository.save(bike1);
- System.out.println("Bike rented");
- }
- }
- @RequestMapping("/payForABike/{bikeId}")
- public boolean payForABike(@PathVariable Long bikeId) {
- Optional<Bike> bike = bikeRepository.findById(bikeId);
- Bike bikeObject = bike.get();
- if (bikeObject.getUser() == null) return false;
- bikeObject.setPaid(true);
- bikeRepository.save(bikeObject);
- return true;
- }
- }
|