基于Springboot框架的学校机房计费管理系统的设计与实现

2020-03-15 02:44王超张琪立田广强李晶晶
电子技术与软件工程 2020年23期
关键词:结账计费前台

王超 张琪立 田广强 李晶晶

(黄河交通学院 河南省焦作市 454000)

随着学校机房规模的发展,传统的机房管理模式不适应现有的形式,希望借助一个Web 系统机房计费管理效率。

本文针对学校的实际需要,综合考虑系统的开发效率与可维护性、可扩展性,基于Springboot 框架,综合学校现实需要,设计与开发了学校机房计费管理系统,为机房管理人员的工作效率提高提供了一定的辅助作用。

1 需求分析

通过对机房管理人员的调研,总结了机房计费管理系统的主要功能包括:登录验证管理、用户管理、管理员管理、计算机管理、计费管理,历史交易管理。系统用例如图1 所示。

登录验证:只有机房管理员才能登录,根据用户输入信息和数据库比对。如果比对成功存储信息到session中并定向到前台主页面。比对失败则提示错误信息。

管理员管理:登录的管理员可对管理员进行新增、删除。可修改已注册管理员的密码信息。

计算机管理:管理员可对机房计算机的编号、所属机房、计算机的使用状态以及计算机的单价信息进行修改,还可添加、删除对应机房的计算机。

计费管理:操作员输入计费用户的相关信息、输入登记时间、离开时间、选择计费的计算机,自动生成总费用点击登记按钮登记相关信息。计费计算机到期后会自动变色提醒管理员到期。点击查看指定计算机结账即可。还可导出待结账用户和机器信息。

历史交易管理:可查询已交易学生信息,并且点击指定学生可以查询该学生的所有交易信息。

2 系统设计

2.1 系统技术架构设计

此系统后台基于Springboot 框架,前台使用Extjs 框架,系统划分为展示层、业务控制层、业务逻辑层、数据持久层共四层。

2.2 系统功能结构设计

管理员管理:管理员模块主要是管理员对操作管理人员进行新增、删除、修改。

计费管理:计费管理包括登记管理功能模块、用户管理功能模块、结账管理功能模块。登记管理模块是管理员对登记学生登记时间、离开时间、计费的计算机,学生信息。结账管理是管理员结算使用到期的学生。

计算机管理:计算机管理模块主要是对计算机添加、修改计算机状态、删除计算机。

历史交易管理:历史交易管理包括交易学生管理模块、指定学生交易记录管理模块。

学校机房计费管理系统功能架构如图2 所示。

2.3 系统的数据库设计

系统总共包括七个表,分别为管理员表、用户表、用户交易历史表、订单表、订单项表、交易表、计算机表。

3 系统功能实现

系统按照功能划分主要分为管理员管理、计费管理、计算机管理、历史交易学生管理,指定学生交易历史管理。其实现主要包括前台实现和后台实现两部分。

图1

图2

3.1 管理员管理分为前台和后台

3.1.1 前台实现

前台OperatorData.js 通过添加“添加操作员”、“删除操作员”、“保存”按钮,当点击添加操作时会调用Store 下的insert 方法,点击保存按钮则通过向后台发送Ajax 请求调用后台添加管理员方法添加操作员信息。双击列模型中的某个学生,修改该用户信息后点击保存则通过请调用后台更新管理员方法即可修改操作员信息。单击选中列模型中的某个操作员,点击删除操作员按钮,触发前台删除选中的管理员方法,该方法通过向后台发送ajax 请求调用后台删除管理员方法删除选中的操作员。

3.1.2 后台实现

后台的添加管理员模块实现方式是首先将前台发的ajax 请求,在后台控制层调用基本操作控制类的下的添加管理员方法,该方法调用业务逻辑层里业务实现类类下的添加新管理员方法,该方法调用数据持久层下的管理员数据操作类的添加新管理员方法。该方法调用数据持久层模板类的save 方法将操作员信息保存到数据库中的管理员表中。后台的修改数据库模块实现方式是首先在后台控制层调用基本操作控制类的更新管理员方法,该方法调用业务逻辑层业务实现类类下的更新管理员方法,该方法调用数据持久层下的管理员数据操作类的下的更新管理员方法。

3.2 计费管理分为前台和后台

3.2.1 前台实现

计费管理管理分为登记和结账两个小的模块,登记模块前台实现,CheckInForm.js 中点击登记按钮时触发onCheckinBtnClick方法,该方法通过ajax 请求后台checkin 登记学生使用相关信息,结账模块前台实现,CheckInForm.js 中点击结账按钮时触发onCheckOutBtnClick 方法,该方法通过CheckoutWin.show 方法显示结账窗口,点击结账窗口下的结账按钮调用CheckoutWin.js 下的onBmCheckoutBtn 方法,该方法通过向后台发送post 请求调用后台结账方法处理结账信息。

3.2.2 后台实现

后台的登记模块实现方式是前台发送post 请求调用后台控制层下登记控制类类下的登记方法,该方法调用业务逻辑层里业务实现类类下的创建订单方法,该方法调用数据持久层下的登记订单类下的创建订单方法。在该方法下调用数据持久层模板类的保存订单方法保存订单和订单项信息到数据库中的订单表和订单项表中。后台结账模块实现是前台发送post 请求调用后台控制层下的结账方法,该方法调用调用业务逻辑层下的业务实现类类下的结账方法。该方法调用数据持久层下的交易数据操作类下的结账方法。在该方法下调用数据持久层模板类的保存交易信息方法保存交易信息到数据库下的交易表中。

3.3 到期提醒分为前台和后台

3.3.1 前台实现

前台会在frontdesk.js 文件开启一个定时任务,该定时任务每间隔30 秒就会通过列出待交易计算机方法查询后台计算机表中的计算机状态字段如果为2 则为待结账计算机弹窗提醒前台管理员。

3.3.2 后台实现

后台会通过Quartz 这个定时框架中的SimpleTrigger 类的repeatInternal 属性设置每间隔30 秒执行QuartzSession.java 类中的executeTask 方法,该方法通过查询订单项表中是否有已登记计算机的到期时间小于等于当前时间的计算机,如果有则更新计算机表,将它的计算机状态设置为2 即待结账状态

3.4 计算机管理分为前台和后台

3.4.1 前台实现

前台Computer.js通过添加“添加计算机”、“删除计算机”、“保存”按钮,当点击添加计算机按钮时会调用Store 下的insert 方法,点击保存按钮则通过向后台发送ajax 请求调用后台添加计算机方法添加计算机信息。双击列模型中的某个学生,修改计算机信息后点击保存则通过请调用后台更新计算机信息方法即可修改计算机信息。

3.4.2 后台实现

后台的添加计算机模块实现方式是首先将前台发的ajax 请求,在后台首先在控制层调用基本操作控制类的下的添加计算机方法,该方法调用业务逻辑层里业务实现类类下的添加新计算机方法,该方法通过调用数据持久层下的计算机数据操作实现类的添加新计算机方法。该方法调用数据持久层模板类的保存新计算机方法将计算机信息保存到数据库中的计算机表中。后台的修改计算机信息模块实现方式是首先在后台控制层调用基本操作控制类的更新计算机信息方法,该方法调用业务逻辑层业务实现类类下的更新计算机方法,该方法调用数据持久层下的计算机数据操作类的下的更新计算机方法。该方法调用数据持久层模板类的更新计算机信息方法更新计算机信息到数据库中的计算机表中。后台删除某个计算机实现过程是首先调用后台控制层的删除计算机类下的删除计算机方法,该方法调用业务逻辑层里业务实现类类下的删除计算机方法,该方法调用数据持久层下的计算机数据操作类的下的删除计算机方法。该方法调用数据持久层模板类类的删除计算机方法,将某个计算机信息从后台计算机表中删除。

3.5 历史交易学生管理分为前台和后台

3.5.1 前台实现

前台HistoryData.js 通过添加“显示全部学生历史档案”按钮,当点击显示全部学生历史档案,则前台会向后台发送Ajax 请求调用后台查询交易用户方法查询所有交易的学生信息。

3.5.2 后台实现

后台的查询历史交易学生信息模块实现方式是首先将前台发的ajax 请求,在后台首先在控制层用户交易历史控制类下调用查询交易用户方法,该方法调用业务逻辑层里业务实现类类下的查询所有交易过的用户方法,该方法调用数据持久层下的学生历史交易实现类的查询所有交易学生方法。该方法查询所有交易过的学生信息。

3.6 指定学生交易历史管理分为前台和后台

3.6.1 前台实现

前台PaymentDetailGrid.js 点击“显示该学生所有的交易信息”首先获取HistoryData.js 中选择的某个学生,如果已选择学生则通过ds 下的load 方法向后台发送ajax 请求,调用后台查询历史交易方法。

3.6.2 后台实现

后台的指定学生交易历史模块实现方式是首先将前台发的ajax请求,在后台首先在首先在控制层用户交易历史控制类下调用查询历史交易方法,该方法调用业务逻辑层里业务实现类类下的查询交易历史方法,该方法调用数据持久层下的学生历史交易实现类的查询交易历史方法。通过该方法从交易表中查询选择的交易学生的所有交易信息。

4 结论

本文介绍了学校机房计费管理系统从需求分析、系统设计、核心功能实现。通过实际使用表明此系统给机房管理员的工作带来了很大帮助。

猜你喜欢
结账计费前台
5G网络独立组网中融合计费方案的研究
基于云计算和微服务架构的高速公路计费系统
生活中的分段计费
结账
公路电助力 从幕后走向前台
孟晚舟:从前台打杂到华为副总裁
先结账,再冬眠
前台、后台精彩花絮停不了
网站前台设计分包合同中应注意的问题
基于AM3354的电动汽车充电监控计费系统电表通信的实现