关于J2EE项目中存在的问题,请各位给与解惑,先谢了!
问题是这样的:
系统简化的可分为三个角色:
1 学生用户
2 院系用户
3 研院用户
每一种角色用户至少有10人以上。
那请问以下:
1 由于院系的工作人员有10人,每个人都有登录系统的帐号,同可以在不同的工作区同进登录
且每个人都可以给同一个学生填写审核结果,那么,
当院系A工作人员正在给一名学生填写审核结果,还没有提交(指没有提交给服务端)时,
有院系B工作人员又给同一名学生填写审核结果,
当A工作人员这时将审核结果为“通过”提交。
那B工作人员再提交,将会复盖过A工作人员的结果,要避免这种情况,
那我的业务罗辑程序的代码是不是要这么写呢?
方式1 填写院系审核结果逻辑
院系审核结果变量=从数据库中取出院系审核结果
IF 院系审核结果变时 != 空 THEN
将院系审核结果(用户提交的)更新到数据库
ELSE
Throws new 业务异常(“已有院系填写了审核结果,你不能再填写”)
END IF
方式2 填写院系审核结果逻辑
将院系审核结果(用户提交的)更新到数据库
哪一种比较好呢?
问题2 ,由于,院系工作人员一次审核很多学生,所以我们在做系统界面时,将
在页面上有多个学生的输入框,一次向服务器提交多个学生的审核结果,
那当有多个院系工作人员同时使用系统,一次对多个学生提交审核结果,
也会出现复盖结果的情况,我们的代码又如何写呢?有两种方式
方式1 对院系的一次提交的多个学生审核结果作如下操作
FOR 多个学生审核结果
院系审核结果变量=从数据库中取出院系审核结果
IF 院系审核结果变时 != 空 THEN
将院系审核结果(用户提交的)更新到数据库
ELSE
记录哪些学生审核不成功
END IF
END FOR
返回给用户,哪些已有院系填写了审核结果,你不能再填写
方式2 FOR 多个学生审核结果
将院系审核结果(用户提交的)更新到数据库
END FOR
哪一种比较好呢?
第一种方式的编程是最好的,那么,将出现要两访操作表问题,我每一次在更新前都得先访问一次数据库,得到数据库的的记录最新的数据,再根据数据的状态,决定操作。
第二种,就直接更接操作,但会出现复盖数据的情况。
问一下,各位,你们在做这类的系统时,是如何解决这种,多个角色下多个用户,操作同一个数据的业务问题。
万分感谢!