让我们在管理面板中说,一个编辑任何实体的用户说产品是一种方法,如果另一个试图编辑相同实体/产品信息的用户能够收到通知或“其他人已经在编辑该实体/产品信息”一样,所以请他等”。
答案 0 :(得分:0)
您需要一种将实体标记为忙碌的方式。
一种好方法:在实体表中添加两列。
busy_user INT either a user id or zero
busy_until TIMESTAMP the time when the busy setting expires, in case the user goes away
然后,当用户尝试编辑项目时,您可以执行以下操作:
busy_user
非零且不是当前用户,并且busy_until > NOW()
拒绝编辑请求;该项目很忙。busy_user
设置为当前用户的ID。将busy_until设置为NOW() + INTERVAL 5 MINUTE
用户完成编辑后,将busy_user
设置为零。