Middle+
42
Come liberare un posto prenotato se l'utente non ha pagato entro 20 minuti?
Le aziende dove è stato chiesto
Risposta dell'AI
sobes.tech AI
Для освобождения забронированного места при неоплате в течение 20 минут можно использовать планировщик задач или таймеры:
- При бронировании создаётся запись с отметкой времени.
- Запускается фоновая задача (например, ScheduledExecutorService в Java), которая периодически проверяет просроченные бронирования.
- Если прошло более 20 минут без оплаты, бронирование снимается, и место освобождается.
Пример с использованием ScheduledExecutorService:
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.scheduleAtFixedRate(() -> {
// Логика проверки и освобождения мест
List<Booking> expired = bookingService.findExpiredBookings(Duration.ofMinutes(20));
expired.forEach(booking -> bookingService.cancelBooking(booking));
}, 0, 5, TimeUnit.MINUTES);