扫码关注官方订阅号
比如我们网站有很多订单 , 但是 管理权限的客服有很多人 .
如何防止多人同时编辑呢
人生最曼妙的风景,竟是内心的淡定与从容!
多状态嘛,编辑的时候,把状态改成编辑中,其他人不可以操作,完成了再把它状态修改下,这个是比较容易操作的。
比较科学的做法
1.提交方式是ajax 2.订单增加last_update_dateline字段存时间戳,每次修改更新该字段 3.提交订单时对比时间戳,如果晚于last_update_dateline,提示ajax弹框提示用户已经被修改过,是刷新加载新的订单内容,还是继续提交。 get√ ~
这种场景,多人同时编辑避免不了的, 决解办法可以参考SVN的做法,用户正式提交前告诉用户,他提交的版本和此时在服务器的版本之间的差异,让他来确认提交,或者继续修改
提交的时候做最近时间的确认,看是否与你提取数据的时候一直,并且用最新数据提示用户是否需要覆盖
两个比较容易实现的方法: 1.把订单编辑操作设置权限。可以按订单的类型、时间、区域等划分; 2.修改订单的显示条件。如果一个订单正在编辑中,可以有一个唯一状态,此时订单列表不显示该订单;
补充楼上。 编辑时记录进入时刻。 如果有人在进入时刻之后提交了数据,则提示刚刚有人提交过。
就像上厕所, 每次只能一个人用; 厕所里有人就把门关上; 其他人要用的话就要在后面排着; 有的人着急就插队?
这个比较容易实现吧.
在订单列表里查询订单状态,如果是正在处理 就把订单灰掉; 客服点击订单之后就把订单状态改过正在处理状态,客服完成后或者取消修改,订单状态依次修改为 已处理/ 未处理. 然后就是细节的逻辑判断了;
是不允许多人同时编辑呢,还是解决多人同时编辑的冲突。如果是不允许那就给订单设置一个编辑中的状态,定好时间戳不久应该行吧。如果是解决多人编辑冲突,那就可以仿照github的分支,已有的就是主分支,每一个编辑的人都会创建一个分支,编辑完成之后合并到主分支。这样也应该行吧。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
多状态嘛,编辑的时候,把状态改成编辑中,其他人不可以操作,完成了再把它状态修改下,这个是比较容易操作的。
比较科学的做法
1.提交方式是ajax
2.订单增加last_update_dateline字段存时间戳,每次修改更新该字段
3.提交订单时对比时间戳,如果晚于last_update_dateline,提示ajax弹框提示用户已经被修改过,是刷新加载新的订单内容,还是继续提交。
get√ ~
这种场景,多人同时编辑避免不了的,
决解办法可以参考SVN的做法,用户正式提交前告诉用户,他提交的版本和此时在服务器的版本之间的差异,让他来确认提交,或者继续修改
提交的时候做最近时间的确认,看是否与你提取数据的时候一直,并且用最新数据提示用户是否需要覆盖
两个比较容易实现的方法:
1.把订单编辑操作设置权限。可以按订单的类型、时间、区域等划分;
2.修改订单的显示条件。如果一个订单正在编辑中,可以有一个唯一状态,此时订单列表不显示该订单;
补充楼上。
编辑时记录进入时刻。
如果有人在进入时刻之后提交了数据,则提示刚刚有人提交过。
就像上厕所, 每次只能一个人用; 厕所里有人就把门关上; 其他人要用的话就要在后面排着; 有的人着急就插队?
这个比较容易实现吧.
在订单列表里查询订单状态,如果是正在处理 就把订单灰掉; 客服点击订单之后就把订单状态改过正在处理状态,客服完成后或者取消修改,订单状态依次修改为 已处理/ 未处理. 然后就是细节的逻辑判断了;
是不允许多人同时编辑呢,还是解决多人同时编辑的冲突。如果是不允许那就给订单设置一个编辑中的状态,定好时间戳不久应该行吧。如果是解决多人编辑冲突,那就可以仿照github的分支,已有的就是主分支,每一个编辑的人都会创建一个分支,编辑完成之后合并到主分支。这样也应该行吧。