首页 新闻 会员 周边 捐助

这种情况怎么设计:下级管理员的所有操作都需要上级管理员确认

0
[已关闭问题]

下级管理员的所有操作(比如修改某个用户的数据,但是他的操作不立即生效的)都是记录在数据库,上级管理员看到后点一下“确认”就生效,这个怎么设计呢

问题补充: 最好是不修改原先的表结构,因为比较多,系统比较大,会涉及到很多地方
拖鞋王子的主页 拖鞋王子 | 初学一级 | 园豆:38
提问于:2010-03-16 14:14
< >
分享
其他回答(2)
0

加个status字段标志着, 当为0时就是添加到数据库, 当管理员确认后, update这个字段为1, 规则就是0这临时数据,1才为生效数据

风浪 | 园豆:2996 (老鸟四级) | 2010-03-16 14:16
如果下级管理员不修改数据,这是个好办法。要是修改数据的话,比如一个回复,原先内容为"aaaaa",因为已生效,status=1。下级管理员把它改成了"bbbbb",因为他是下级的,所以status=0了。 但是这时候用户那里看到的是什么呢?"aaaaa"?已经被覆盖;"bbbbb"?还没有生效。
支持(0) 反对(0) vons | 园豆:1033 (小虾三级) | 2010-03-17 00:02
0

几种思路:

1 把下级管理员的操作按规则写成字符串存放在数据库或文件中,高级管理员可以解析文本并且执行操作。

2 把所有操作都封装到单独的类,如果是下级程序员访问此类,则缓存。高级程序员读取缓存,逐个操作。

更方便灵活的办法是把下级管理员操作数据库的SQL语句文本或者存储过程名和参数记录下来,可让其附带一段文字说明。待上级管理员处理。

vons | 园豆:1033 (小虾三级) | 2010-03-16 23:48
0
  • 最简单的就是做一个类似Log的表,记录相关的操作,等上级确认后才生效即将Log的数据更新至真正的数据表,和工作流类似。
  • 2个数据库,一个是正在运行的数据库,一个是差异数据库,2个数据库正常情况下是完全一致,若下级操作了数据,在未得到上级申请的时候那2个数据库是不一致,只有得到了上级确认后2个数据库的数据完全一致
guichuan | 园豆:247 (菜鸟二级) | 2010-03-24 15:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册