座位预约,用户需要临时离开,离开后1个小时之内必须回来,怎么实现后台用的springboot

# 座位预约,用户需要临时离开,离开后1个小时之内必须回来,怎么实现****

使用rabbitmq的死信队列,死信队列的特征是消息达到过期时间,转发到绑定的队列,所以新建两个队列,一个死信,过期时间1小时,一个普通队列,过期转发到普通队列,然后消费普通队列的消息。可以保证1小时准确

我用rabbitmq死信队列做的图书馆座位临时离开,超过一个小时就违约,现在完成了超过一个小时死信队列就进入另一个队列,但是如果用户在规定时间返回了这个怎么操作啊请大佬们给个思路

可以参考购物下单。 我下单了没有支付。库存被我锁住,如果半小时内也没有支付,就把库存还回去。就是这个临时离开动作要明确

数据库一个表就行吧
记录下,XX时间预约ing,如果一个小时之内没有更新,那就作废

可以用消息队列实现。
也可以用redis缓存实现,预约存入缓存 设置ttl,超时就是查不到数据。

用户预约座位肯定是有表的,当用户暂时离开时,更改预约状态为暂离。
同时运用分布式部署,启一个定时任务,quartz就可以,每分钟执行一次,扫描要过期的预约座位,读取到要过期的位置就更改用户预约表状态为已过期,主表座位则重新为空闲状态。