
Aluguel automático de bicicleta para a cidade
Para usar uma das muitas bicicletas nas estações de bicicleta da cidade, o cliente precisa se registrar no site, que lista dados pessoais (nome, número do passaporte, número do cartão de crédito etc.). O site também pode ser visto informações on -line sobre o número de bicicletas em estacionamentos. Para usar o serviço de aluguel, você precisa ter um saldo de cartão bancário não menos de 100 $.
Condições:
1 - Os fundos serão bloqueados na conta do cliente desde o início do aluguel,
2 - Em caso de bicicleta de retorno oportuna para qualquer estação de aluguel, os fundos bloqueados estarão disponíveis novamente para o cliente, enquanto parte dos fundos pode estar sujeita a baixa de acordo com as taxas de serviços.
@RequestMapping(value = { "/order-{numPoint}" }, method = RequestMethod.GET)
public String order(@PathVariable Integer numPoint, ModelMap model) {
Point point = pointService.getPointByNum(numPoint);
model.addAttribute("point", point);
Integer vacant = point.getSlots() - point.getFreeBikes();
if (vacant < 0) {
vacant = 0;
}
List<String> vacantSlots = new ArrayList<String>();
for (int i = 0; i < vacant; i++) {
vacantSlots.add("VACANT SLOT");
}
model.addAttribute("vacantSlots", vacantSlots);
List<Bike> bikes = bikeService.getBikesByPoint(numPoint);
model.addAttribute("bikes", bikes);
String login = (String) session.getAttribute("loggedUser");
Order prossesingOrder = orderService.getProssesingOrderByLogin(login);
if (prossesingOrder == null) {
Order order = new Order();
model.addAttribute("order", order);
return "order";
}
model.addAttribute("order", prossesingOrder);
return "order";
}
@RequestMapping(value = { "/order-{numPoint}" }, method = RequestMethod.POST)
public String order(Order order, @PathVariable Integer numPoint,
BindingResult result, ModelMap model) {
if (order.getId() == null) {
String login = (String) session.getAttribute("loggedUser");
orderService.openOrder(order, numPoint, login);
Order prossesingOrder = orderService.getProssesingOrderByLogin(login);
model.addAttribute("success", "Your order ""
+ prossesingOrder.getId()
+ "" confirmed successfully.");
return "orderSuccess";
}
orderService.closeOrder(order, numPoint);
Order completeOrder = orderService.getOrderById(order.getId());
model.addAttribute("success", "Your order ""
+ completeOrder.getId() + "" completed successfully."
+ " Total cost is " + completeOrder.getTotalCost());
return "orderSuccess";
}
O aluguel de bicicletas requer o seguinte execução:
O aluguel de bicicletas é mais fácil de usar com o Eclipse IDE:
Arquivo -> Importar -> Git -> Projetos de Git> Uri
To create a database, execute script from file https://github.com/babroval/bike-rent/blob/master/src/main/resources/db_bike_script.sql You can do it for example from MySQL Command Line Client: mysql> source C:/db_bike_script.sql
Para contribuir com o aluguel de bicicletas, clone este repo localmente e
Compreenda seu código em uma filial separada.
O aluguel de bicicletas está licenciado sob a licença do MIT.