王超 張琪立 田廣強 李晶晶
(黃河交通學院 河南省焦作市 454000)
隨著學校機房規(guī)模的發(fā)展,傳統(tǒng)的機房管理模式不適應現(xiàn)有的形式,希望借助一個Web 系統(tǒng)機房計費管理效率。
本文針對學校的實際需要,綜合考慮系統(tǒng)的開發(fā)效率與可維護性、可擴展性,基于Springboot 框架,綜合學?,F(xiàn)實需要,設計與開發(fā)了學校機房計費管理系統(tǒng),為機房管理人員的工作效率提高提供了一定的輔助作用。
通過對機房管理人員的調研,總結了機房計費管理系統(tǒng)的主要功能包括:登錄驗證管理、用戶管理、管理員管理、計算機管理、計費管理,歷史交易管理。系統(tǒng)用例如圖1 所示。
登錄驗證:只有機房管理員才能登錄,根據(jù)用戶輸入信息和數(shù)據(jù)庫比對。如果比對成功存儲信息到session中并定向到前臺主頁面。比對失敗則提示錯誤信息。
管理員管理:登錄的管理員可對管理員進行新增、刪除??尚薷囊炎怨芾韱T的密碼信息。
計算機管理:管理員可對機房計算機的編號、所屬機房、計算機的使用狀態(tài)以及計算機的單價信息進行修改,還可添加、刪除對應機房的計算機。
計費管理:操作員輸入計費用戶的相關信息、輸入登記時間、離開時間、選擇計費的計算機,自動生成總費用點擊登記按鈕登記相關信息。計費計算機到期后會自動變色提醒管理員到期。點擊查看指定計算機結賬即可。還可導出待結賬用戶和機器信息。
歷史交易管理:可查詢已交易學生信息,并且點擊指定學生可以查詢該學生的所有交易信息。
此系統(tǒng)后臺基于Springboot 框架,前臺使用Extjs 框架,系統(tǒng)劃分為展示層、業(yè)務控制層、業(yè)務邏輯層、數(shù)據(jù)持久層共四層。
管理員管理:管理員模塊主要是管理員對操作管理人員進行新增、刪除、修改。
計費管理:計費管理包括登記管理功能模塊、用戶管理功能模塊、結賬管理功能模塊。登記管理模塊是管理員對登記學生登記時間、離開時間、計費的計算機,學生信息。結賬管理是管理員結算使用到期的學生。
計算機管理:計算機管理模塊主要是對計算機添加、修改計算機狀態(tài)、刪除計算機。
歷史交易管理:歷史交易管理包括交易學生管理模塊、指定學生交易記錄管理模塊。
學校機房計費管理系統(tǒng)功能架構如圖2 所示。
系統(tǒng)總共包括七個表,分別為管理員表、用戶表、用戶交易歷史表、訂單表、訂單項表、交易表、計算機表。
系統(tǒng)按照功能劃分主要分為管理員管理、計費管理、計算機管理、歷史交易學生管理,指定學生交易歷史管理。其實現(xiàn)主要包括前臺實現(xiàn)和后臺實現(xiàn)兩部分。
圖1
圖2
3.1.1 前臺實現(xiàn)
前臺OperatorData.js 通過添加“添加操作員”、“刪除操作員”、“保存”按鈕,當點擊添加操作時會調用Store 下的insert 方法,點擊保存按鈕則通過向后臺發(fā)送Ajax 請求調用后臺添加管理員方法添加操作員信息。雙擊列模型中的某個學生,修改該用戶信息后點擊保存則通過請調用后臺更新管理員方法即可修改操作員信息。單擊選中列模型中的某個操作員,點擊刪除操作員按鈕,觸發(fā)前臺刪除選中的管理員方法,該方法通過向后臺發(fā)送ajax 請求調用后臺刪除管理員方法刪除選中的操作員。
3.1.2 后臺實現(xiàn)
后臺的添加管理員模塊實現(xiàn)方式是首先將前臺發(fā)的ajax 請求,在后臺控制層調用基本操作控制類的下的添加管理員方法,該方法調用業(yè)務邏輯層里業(yè)務實現(xiàn)類類下的添加新管理員方法,該方法調用數(shù)據(jù)持久層下的管理員數(shù)據(jù)操作類的添加新管理員方法。該方法調用數(shù)據(jù)持久層模板類的save 方法將操作員信息保存到數(shù)據(jù)庫中的管理員表中。后臺的修改數(shù)據(jù)庫模塊實現(xiàn)方式是首先在后臺控制層調用基本操作控制類的更新管理員方法,該方法調用業(yè)務邏輯層業(yè)務實現(xiàn)類類下的更新管理員方法,該方法調用數(shù)據(jù)持久層下的管理員數(shù)據(jù)操作類的下的更新管理員方法。
3.2.1 前臺實現(xiàn)
計費管理管理分為登記和結賬兩個小的模塊,登記模塊前臺實現(xiàn),CheckInForm.js 中點擊登記按鈕時觸發(fā)onCheckinBtnClick方法,該方法通過ajax 請求后臺checkin 登記學生使用相關信息,結賬模塊前臺實現(xiàn),CheckInForm.js 中點擊結賬按鈕時觸發(fā)onCheckOutBtnClick 方法,該方法通過CheckoutWin.show 方法顯示結賬窗口,點擊結賬窗口下的結賬按鈕調用CheckoutWin.js 下的onBmCheckoutBtn 方法,該方法通過向后臺發(fā)送post 請求調用后臺結賬方法處理結賬信息。
3.2.2 后臺實現(xiàn)
后臺的登記模塊實現(xiàn)方式是前臺發(fā)送post 請求調用后臺控制層下登記控制類類下的登記方法,該方法調用業(yè)務邏輯層里業(yè)務實現(xiàn)類類下的創(chuàng)建訂單方法,該方法調用數(shù)據(jù)持久層下的登記訂單類下的創(chuàng)建訂單方法。在該方法下調用數(shù)據(jù)持久層模板類的保存訂單方法保存訂單和訂單項信息到數(shù)據(jù)庫中的訂單表和訂單項表中。后臺結賬模塊實現(xiàn)是前臺發(fā)送post 請求調用后臺控制層下的結賬方法,該方法調用調用業(yè)務邏輯層下的業(yè)務實現(xiàn)類類下的結賬方法。該方法調用數(shù)據(jù)持久層下的交易數(shù)據(jù)操作類下的結賬方法。在該方法下調用數(shù)據(jù)持久層模板類的保存交易信息方法保存交易信息到數(shù)據(jù)庫下的交易表中。
3.3.1 前臺實現(xiàn)
前臺會在frontdesk.js 文件開啟一個定時任務,該定時任務每間隔30 秒就會通過列出待交易計算機方法查詢后臺計算機表中的計算機狀態(tài)字段如果為2 則為待結賬計算機彈窗提醒前臺管理員。
3.3.2 后臺實現(xiàn)
后臺會通過Quartz 這個定時框架中的SimpleTrigger 類的repeatInternal 屬性設置每間隔30 秒執(zhí)行QuartzSession.java 類中的executeTask 方法,該方法通過查詢訂單項表中是否有已登記計算機的到期時間小于等于當前時間的計算機,如果有則更新計算機表,將它的計算機狀態(tài)設置為2 即待結賬狀態(tài)
3.4.1 前臺實現(xiàn)
前臺Computer.js通過添加“添加計算機”、“刪除計算機”、“保存”按鈕,當點擊添加計算機按鈕時會調用Store 下的insert 方法,點擊保存按鈕則通過向后臺發(fā)送ajax 請求調用后臺添加計算機方法添加計算機信息。雙擊列模型中的某個學生,修改計算機信息后點擊保存則通過請調用后臺更新計算機信息方法即可修改計算機信息。
3.4.2 后臺實現(xiàn)
后臺的添加計算機模塊實現(xiàn)方式是首先將前臺發(fā)的ajax 請求,在后臺首先在控制層調用基本操作控制類的下的添加計算機方法,該方法調用業(yè)務邏輯層里業(yè)務實現(xiàn)類類下的添加新計算機方法,該方法通過調用數(shù)據(jù)持久層下的計算機數(shù)據(jù)操作實現(xiàn)類的添加新計算機方法。該方法調用數(shù)據(jù)持久層模板類的保存新計算機方法將計算機信息保存到數(shù)據(jù)庫中的計算機表中。后臺的修改計算機信息模塊實現(xiàn)方式是首先在后臺控制層調用基本操作控制類的更新計算機信息方法,該方法調用業(yè)務邏輯層業(yè)務實現(xiàn)類類下的更新計算機方法,該方法調用數(shù)據(jù)持久層下的計算機數(shù)據(jù)操作類的下的更新計算機方法。該方法調用數(shù)據(jù)持久層模板類的更新計算機信息方法更新計算機信息到數(shù)據(jù)庫中的計算機表中。后臺刪除某個計算機實現(xiàn)過程是首先調用后臺控制層的刪除計算機類下的刪除計算機方法,該方法調用業(yè)務邏輯層里業(yè)務實現(xiàn)類類下的刪除計算機方法,該方法調用數(shù)據(jù)持久層下的計算機數(shù)據(jù)操作類的下的刪除計算機方法。該方法調用數(shù)據(jù)持久層模板類類的刪除計算機方法,將某個計算機信息從后臺計算機表中刪除。
3.5.1 前臺實現(xiàn)
前臺HistoryData.js 通過添加“顯示全部學生歷史檔案”按鈕,當點擊顯示全部學生歷史檔案,則前臺會向后臺發(fā)送Ajax 請求調用后臺查詢交易用戶方法查詢所有交易的學生信息。
3.5.2 后臺實現(xiàn)
后臺的查詢歷史交易學生信息模塊實現(xiàn)方式是首先將前臺發(fā)的ajax 請求,在后臺首先在控制層用戶交易歷史控制類下調用查詢交易用戶方法,該方法調用業(yè)務邏輯層里業(yè)務實現(xiàn)類類下的查詢所有交易過的用戶方法,該方法調用數(shù)據(jù)持久層下的學生歷史交易實現(xiàn)類的查詢所有交易學生方法。該方法查詢所有交易過的學生信息。
3.6.1 前臺實現(xiàn)
前臺PaymentDetailGrid.js 點擊“顯示該學生所有的交易信息”首先獲取HistoryData.js 中選擇的某個學生,如果已選擇學生則通過ds 下的load 方法向后臺發(fā)送ajax 請求,調用后臺查詢歷史交易方法。
3.6.2 后臺實現(xiàn)
后臺的指定學生交易歷史模塊實現(xiàn)方式是首先將前臺發(fā)的ajax請求,在后臺首先在首先在控制層用戶交易歷史控制類下調用查詢歷史交易方法,該方法調用業(yè)務邏輯層里業(yè)務實現(xiàn)類類下的查詢交易歷史方法,該方法調用數(shù)據(jù)持久層下的學生歷史交易實現(xiàn)類的查詢交易歷史方法。通過該方法從交易表中查詢選擇的交易學生的所有交易信息。
本文介紹了學校機房計費管理系統(tǒng)從需求分析、系統(tǒng)設計、核心功能實現(xiàn)。通過實際使用表明此系統(tǒng)給機房管理員的工作帶來了很大幫助。