我正试图建立一个预约系统,但有一段时间我坚持住了
问题:
在cron的帮助下,我定义了接下来7天的可用插槽。我有多个用户服务多个地点。
例如,if - P1位置有两个用户U1和U2 - P2位置有唯一的U1用户。
现在对于P1位置,我可以为同一个位置接受2个订单,因为P1位置上有两个用户处于活动状态,但是如果P2请求post订单,那么我也可以这样做。
但是在理想的情况下,对于所有位置,我只能接受两个订单,因为我只有两个用途。
有谁知道我怎么能解决这个问题吗?这样我就不能再接更多的订单了。
发布于 2018-10-11 12:28:54
对于有多个用户的许多应用程序来说,这是一个相当常见的问题。最简单的解决方案是在插入之前检查约会是否可用,如果接受,则返回错误。您可以在检查和插入之间维护数据库级别的锁,以确保没有插入另一个请求。在此之后,这是一个提高用户友好性的问题,您可以在选择约会时添加临时锁定,但在确认预约之前添加一个临时锁定,这样用户就可以在预订工作流中尽早而不是在最后被拒绝。您还可以编写应用程序,以便它定期轮询数据库,查看可用插槽是否已更改,以帮助防止陈旧信息显示不再存在的选项。
https://softwareengineering.stackexchange.com/questions/379830
复制相似问题