
Alquiler automático de bicicletas para la ciudad
Para usar una de las muchas bicicletas en las estaciones de bicicletas de la ciudad, el cliente debe registrarse en el sitio, que enumera los datos personales (nombre, número de pasaporte, número de tarjeta de crédito, etc.). El sitio también se puede ver información en línea sobre la cantidad de bicicletas en los estacionamientos. Para usar el servicio de alquiler, debe tener un saldo de tarjeta bancaria no menos de 100 $.
Condiciones:
1 - Los fondos se bloquearán en la cuenta del cliente desde el comienzo del alquiler,
2 - En el caso de la bicicleta de devolución oportuna a cualquier estación de alquiler, los fondos bloqueados estarán disponibles nuevamente para el cliente, mientras que parte de los fondos pueden estar sujetos a cancelaciones de acuerdo con las tarifas de los servicios.
@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";
}
El alquiler de bicicletas requiere lo siguiente para ejecutar:
El alquiler de bicicletas es más fácil de usar con Eclipse IDE:
Archivo -> importar -> git -> proyectos de Git> URI
Para crear una base de datos, ejecute el script desde el archivo https://github.com/babroval/bike-rent/blob/master/src/main/resources/db_bike_script.sql Puede hacerlo por ejemplo desde el cliente de línea de comandos mysql: mysql> fuente c: /db_bike_script.sql
Para contribuir al alquiler de bicicletas, clona este repositorio localmente y
Comprometer su código en una rama separada.
El alquiler de bicicletas tiene licencia bajo la licencia MIT.