手记

使用EasyUI开发银行业绩统计系统[1]-功能和结构

因为本系列重点在于演示EasyUI与后台如何配合使用,所以功能设计无须十分复杂。基本描述如下:

1,机构管理。
人员都是依赖机构存在的,所以将人员划分到机构里面。基本上机构划分为三层,总行-支行-网点\营销部门,这也是一个地区性银行的标准配置。

2,人员、角色、权限管理
将所有功能细分为权限,角色对应权限列表,一个人员只能拥有一个角色。当然,人员还需要和机构挂钩。

3,功能(权限)
总行拥有一个超级管理员。主要负责机构、人员、角色、权限管理。以及角色-业绩对应关系的维护和查询。支行有用一个支行管理员,主要负责支行机构、人员的录入,及网点\营销部门业绩录入人员的指定。

OK,说的有点乱啊,咱再从使用角度来整理下。

1,首先是网点/营销部门业绩录入人员录入本机构的当日业绩。

2,支行管理员尽可查询、统计下属机构的业绩。

3,总行查询管理员可以查询、统计、修正所有机构业绩,且可以修改业绩录入要素(业绩内容,比如存款?保险?基金?)。

大体功能就是这样了,然后大体描述下系统的结构:

数据库Mysql,往上根据表-实体对应关系有一个数据库操作层,然后通过数据库服务层暴露数据库操作的接口。(PS:此处稍微描述下,数据库操作层是针对数据库表结构的,而数据库服务层是针对我们的业务需求的,最简单的例子,可能我们数据库操作层有一个方法是根据用户ID返回用户信息,但是数据库服务层就可能直接提供根据用户名、密码校验用户信息是否正确的功能)。

当然,因为EasyUI是通过json数据格式与后台交互的,所以在数据库服务层可能会加上数据格式转换这一块的功能。之所以说可能,是因为现在还没写代码,不确定,只是个整体的设想。

再向上,猫哥大体想的是一个功能(权限)对应一个jsp页面,然后Servlet的分配是个大学问。因为jsp页面跟权限现在一一对应了,所以用户登录之后通过角色-权限对应关系就能知道是否可以访问某个jsp页面,但是Servlet怎么区分不同角色是否可以访问呢。最简单的想法就是一个jsp对应一个Servlet,这样会导致Servlet很多,怎么对Servlet进行合理的分类呢?猫哥的设想是只有一个Servlet作为控制器,然后Servlet根据请求的method不同直接转发给action进行具体业务处理,然后每个Action是对request进行操作的,而且每个Action也是对应一个权限的,这样应该就解决大部分问题了。只需要定义一个IAction接口,规定Action能做的事情就行了。

最终一个权限对应一个jsp对应一个Action,在Action加载之前需要检查是否拥有权限。

当然,有这个必须吗?还有一种折中的解决方案,使用过滤器过滤掉未合法登录的用户的所有请求,然后使用日志记录可能会影响系统正常运行的动作。这样可以直接使用Servlet接受请求,返回结果。

回到最初,我们是系统没有那么高的安全性要求,所以采用过滤器+操作日志的方法实现权限管理就够了。

OVER。

3人推荐
随时随地看视频
慕课网APP