版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
[7]。該結(jié)構(gòu)的特點(diǎn)是客戶端具有簡單的業(yè)務(wù)邏輯,可以讓用戶輕松訪問,而復(fù)雜的業(yè)務(wù)則交由服務(wù)器層處理。校園志愿者管理系統(tǒng)的架構(gòu)設(shè)計(jì)圖,如圖4.1。圖4.1系統(tǒng)開發(fā)架構(gòu)4.2系統(tǒng)功能設(shè)計(jì)本章以時(shí)序圖說明系統(tǒng)核心功能模塊的交互流程,著重凸顯用戶登錄模塊與管理員操作等關(guān)鍵功能的對(duì)象間消息傳遞機(jī)制,如圖4.2。圖4.2功能層次圖4.3功能模塊設(shè)計(jì)時(shí)序圖將作為可視化工具,清晰呈現(xiàn)系統(tǒng)各組件間的調(diào)用關(guān)系和交互時(shí)序,分別將管理員和志愿者的功能模塊轉(zhuǎn)換為可視化的時(shí)序圖。4.3.1管理員功能模塊1.志愿者報(bào)名審核管理功能模塊志愿者輸入報(bào)名說明后點(diǎn)擊提交,系統(tǒng)將輸入的數(shù)據(jù)添加到數(shù)據(jù)庫中,然后提示志愿者提交成功。管理員修改審核結(jié)果后,將數(shù)據(jù)庫中的審核結(jié)果修改后,提示管理員修改成功。志愿者報(bào)名審核管理時(shí)序圖如圖4.3。圖4.3志愿者報(bào)名審核管理時(shí)序圖2.志愿者信息管理功能模塊志愿者注冊(cè)登錄后,系統(tǒng)將輸入的數(shù)據(jù)添加到數(shù)據(jù)庫中,然后提示志愿者注冊(cè)成功。管理員修改審核學(xué)生相關(guān)結(jié)果后,將數(shù)據(jù)庫中的審核結(jié)果修改后,提示管理員修改成功。學(xué)生信息管理時(shí)序圖如圖4.4。圖4.4學(xué)生信息管理時(shí)序圖3.志愿者活動(dòng)管理功能模塊管理員登錄后,再后臺(tái)頁面的志愿活動(dòng)管理功能處,點(diǎn)擊新增活動(dòng)輸入相關(guān)信息,系統(tǒng)則將輸入的數(shù)據(jù)添加到數(shù)據(jù)庫中。管理員還可對(duì)現(xiàn)目前的活動(dòng)項(xiàng)目進(jìn)行修改或刪除操作,將數(shù)據(jù)庫中的結(jié)果修改或刪除后,則提示管理員操作成功。志愿者活動(dòng)管理功能模塊時(shí)序圖如圖4.5。圖4.5志愿者活動(dòng)管理功能模塊時(shí)序圖4.志愿者留言反饋管理功能模塊留言反饋功能允許學(xué)生提交包含標(biāo)題和內(nèi)容的反饋,系統(tǒng)確認(rèn)提交成功后管理員可查看反饋列表并進(jìn)行處理,處理完成后系統(tǒng)向管理員確認(rèn)并通知學(xué)生;管理員還可以對(duì)反饋進(jìn)行回復(fù),系統(tǒng)將回復(fù)結(jié)果同步通知學(xué)生;學(xué)生則可以隨時(shí)查看自己的全部反饋及回復(fù)歷史,實(shí)現(xiàn)了反饋的提交、管理、回復(fù)和查詢的全流程。志愿者留言反饋管理功能模塊時(shí)序圖如圖4.6。圖4.6志愿者留言反饋管理功能模塊時(shí)序圖5.志愿者積分管理功能模塊積分管理功能包括積分的增加、減少、審核和查詢?nèi)^程。教師向系統(tǒng)提交學(xué)生積分增加或減少的申請(qǐng),申請(qǐng)內(nèi)容包含學(xué)生信息、積分值及理由,系統(tǒng)確認(rèn)提交成功。管理員登錄系統(tǒng)查看并審核這些積分申請(qǐng),審核完成后,系統(tǒng)向管理員反饋結(jié)果,并及時(shí)通知相關(guān)學(xué)生積分變動(dòng)情況。學(xué)生可以隨時(shí)查詢自己的積分總額及詳細(xì)記錄,教師也能查看學(xué)生的積分信息,實(shí)現(xiàn)了積分管理的申請(qǐng)、審核、變更通知及查詢的完整流程。志愿者積分管理功能模塊時(shí)序圖如圖4.6。圖4.6志愿者留言反饋管理功能模塊時(shí)序圖4.3.2志愿者功能模塊1.志愿者交流反饋功能模塊志愿者點(diǎn)擊上傳后,系統(tǒng)會(huì)檢驗(yàn)文件信息,如果不是,系統(tǒng)會(huì)提示文件類型錯(cuò)誤。志愿者輸入留言后點(diǎn)擊立即提交,系統(tǒng)會(huì)把留言信息發(fā)送到數(shù)據(jù)庫中,然后提示留言成功,并將留言信息顯示到頁面中。志愿者交流反饋的時(shí)序圖如圖4.7。圖4.7志愿者交流反饋時(shí)序圖2.志愿者報(bào)名功能模塊志愿者輸入報(bào)名說明后,點(diǎn)擊提交,系統(tǒng)會(huì)查詢所報(bào)名的活動(dòng)人數(shù)是否已滿,若人數(shù)不夠就提示人數(shù)不足。人數(shù)足夠的話,會(huì)將報(bào)名的結(jié)果保存至數(shù)據(jù)庫中,并提示志愿者提交成功。志愿者活動(dòng)報(bào)名的時(shí)序圖如圖4.8。圖4.8志愿者活動(dòng)報(bào)名時(shí)序圖3.個(gè)人中心功能模塊學(xué)生個(gè)人中心功能包括查看和管理個(gè)人信息、活動(dòng)記錄、報(bào)名記錄及消息通知。學(xué)生可以查看和修改包含基本信息及聯(lián)系方式的個(gè)人資料,也能修改密碼保障賬戶安全。學(xué)生能夠查詢自己參與的活動(dòng)詳情,了解活動(dòng)名稱、時(shí)間和狀態(tài),同時(shí)查看報(bào)名情況及審核結(jié)果。系統(tǒng)會(huì)主動(dòng)推送活動(dòng)通知、審核結(jié)果和積分變動(dòng)消息,學(xué)生可隨時(shí)查看消息列表和歷史,確保及時(shí)獲取重要信息。個(gè)人中心功能模塊時(shí)序圖如圖4.9。圖4.9個(gè)人中心功能模塊時(shí)序圖4.志愿者積分功能模塊學(xué)生個(gè)人中心功能包括查看和管理個(gè)人信息、活動(dòng)記錄、報(bào)名記錄及消息通知。學(xué)生可以查看和修改包含基本信息及聯(lián)系方式的個(gè)人資料,也能修改密碼保障賬戶安全。學(xué)生能夠查詢自己參與的活動(dòng)詳情,了解活動(dòng)名稱、時(shí)間和狀態(tài),同時(shí)查看報(bào)名情況及審核結(jié)果。系統(tǒng)會(huì)主動(dòng)推送活動(dòng)通知、審核結(jié)果和積分變動(dòng)消息,學(xué)生可隨時(shí)查看消息列表和歷史,確保及時(shí)獲取重要信息。志愿者積分功能模塊時(shí)序圖如圖4.10。圖4.10志愿者積分功能模塊時(shí)序圖4.4數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)校園志愿者管理系統(tǒng)把MySQL當(dāng)作核心存儲(chǔ)系統(tǒng),以數(shù)據(jù)庫為核心達(dá)成數(shù)據(jù)的存儲(chǔ)、查詢與維護(hù)相關(guān)功能,此數(shù)據(jù)庫不只是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)的集合,更全面地融匯了關(guān)聯(lián)數(shù)據(jù)的存儲(chǔ)機(jī)制,采用選用穩(wěn)定的數(shù)據(jù)庫工具,系統(tǒng)有效提高了查詢效率,強(qiáng)化了數(shù)據(jù)的安全性能,上佳的數(shù)據(jù)庫設(shè)計(jì)作為應(yīng)用系統(tǒng)的堅(jiān)實(shí)基礎(chǔ),可以把E-R模型精準(zhǔn)地轉(zhuǎn)化為數(shù)據(jù)庫表結(jié)構(gòu),且與底層數(shù)據(jù)處理邏輯、操作流程維持高度的一致。4.4.1數(shù)據(jù)庫概念模型校園志愿者管理系統(tǒng)E-R圖,如圖4.2。圖4.2校園志愿者管理系統(tǒng)E-R圖4.4.2數(shù)據(jù)庫邏輯模型其主要的數(shù)據(jù)庫邏輯模型如圖,如圖4.3。圖4.3系統(tǒng)E-R圖4.4.3數(shù)據(jù)庫具體設(shè)計(jì)①congfig表為配置文件表,其中包括了名稱和參數(shù)值,如表4.1所示。表4.1config表字段名稱類型長度字段說明主鍵默認(rèn)值bigint--主鍵主鍵--namevarchar100配置參數(shù)名稱valuevarchar100配置參數(shù)值②token表保存賬號(hào)的基本信息,包括用戶id、用戶名、角色、新增時(shí)間等字段,如表4.2所示。表4.2token表字段名稱類型長度字段說明主鍵默認(rèn)值bigint--主鍵主鍵--useridbigint--用戶idusernamevarchar15用戶名tablenamevarchar10表名rolevarchar1角色(0:管理員,1:志愿者,2:招募單位)--0tokenvarchar15密碼addtimetimestamp--新增時(shí)間--CURRENT_TIMESTAMPexpiratedtimetimestamp--過期時(shí)間--CURRENT_TIMESTAMP③discusszhiyuanzhehuodong表為志愿者活動(dòng)評(píng)論表,包括id、創(chuàng)建時(shí)間、關(guān)聯(lián)表id、用戶id、頭像、用戶名、評(píng)論內(nèi)容、回復(fù)內(nèi)容,如表4.3所示。表4.3discusszhiyuanzhehuodong表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPrefidbigint--關(guān)聯(lián)表iduseridbigint--用戶idavatarurllongtext10頭像nicknamevarchar20用戶名contentlongtext--評(píng)論內(nèi)容replylongtext--回復(fù)內(nèi)容④zhiyuanzhehuodong表為志愿者活動(dòng)表,包括id、創(chuàng)建時(shí)間、活動(dòng)編號(hào)、活動(dòng)名稱、活動(dòng)圖片、活動(dòng)人數(shù)、活動(dòng)條件、活動(dòng)時(shí)間、發(fā)布時(shí)間、是否審核、回復(fù)內(nèi)容等字段,如表4.4所示。表4.4zhiyuanzhehuodong表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPhuodongbianhaovarchar20活動(dòng)編號(hào)huodongmingchengvarchar20活動(dòng)名稱huodongtupianlongtext10活動(dòng)圖片huodongrenshuint--活動(dòng)人數(shù)huodongtiaojianvarchar20活動(dòng)條件huodongshijiandate--活動(dòng)時(shí)間fabushijiandatetime--發(fā)布時(shí)間sfshvarchar20是否審核shhflongtext--回復(fù)內(nèi)容jiaoshigonghaovarchar--教師工號(hào)jiaoshixingmingvarchar--教師姓名⑤xuesheng表為學(xué)生表,包括id、創(chuàng)建時(shí)間、學(xué)號(hào)、密碼、學(xué)生姓名、性別、手機(jī)號(hào)碼、積分,如表4.5所示。表4.5xuesheng表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPxuehaovarchar20學(xué)號(hào)mimavarchar20密碼xueshengxingmingvarchar20學(xué)生姓名xingbievarchar20性別shoujihaomavarchar20手機(jī)號(hào)碼jifendouble--積分⑥users表為管理員表,包括id、創(chuàng)建時(shí)間、用戶名、密碼、角色等字段,如表4.6所示。表4.6users表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPusernamevarchar30用戶名passwordvarchar10密碼rolevarchar10角色⑦menu表為菜單表,包括id、創(chuàng)建時(shí)間、菜單等字段,如表4.7所示。表4.7menu表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPmenujsonlongtext--菜單⑧l(xiāng)iuyanfankui表為留言反饋表,包括id、創(chuàng)建時(shí)間、學(xué)號(hào)、學(xué)生姓名、反饋標(biāo)題、反饋內(nèi)容、反饋時(shí)間、是否審核、回復(fù)內(nèi)容等字段,如表4.8所示。表4.8liuyanfankui表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPxuehaovarchar20學(xué)號(hào)xueshengxingmingvarchar15學(xué)生姓名fankuibiaotivarchar20反饋標(biāo)題fankuineironglongtext--反饋內(nèi)容fankuishijiandatetime--反饋時(shí)間sfshvarchar--是否審核shhflongtext--回復(fù)內(nèi)容⑨jiaoshi表為教師表,包括id、創(chuàng)建時(shí)間、教師工號(hào)、密碼、教師姓名、聯(lián)系電話、性別,如表4.9所示。表4.9type表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPjiaoshigonghaovarchar10教師工號(hào)mimavarchar--密碼jiaoshixingmingvarchar20教師姓名lianxidianhuavarchar20聯(lián)系電話xingbievarchar20性別⑩jianjifen表為減積分表,包括id、創(chuàng)建時(shí)間、學(xué)號(hào)、學(xué)生姓名、積分、理由、日期、是否審核回復(fù)內(nèi)容等字段,如表4.10所示。表4.10jianjifen表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPxuehaovarchar30學(xué)號(hào)xueshengxingmingvarchar10學(xué)生姓名jifenvarchar20積分liyoulongtext100理由riqidate--日期sfshvarchar15是否審核shhflongtext10回復(fù)內(nèi)容?jiajifen表為加積分表,包括學(xué)號(hào)、姓名、積分、理由、日期、是否審核、回復(fù)內(nèi)容等字段,如表4.11所示。表4.11jiajifen表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPxuehaovarchar15學(xué)號(hào)xueshengxingmingvarchar15學(xué)生姓名jifenvarchar5積分liyoulongtext1理由riqidate100日期sfshvarchar15是否審核shhflongtext10回復(fù)內(nèi)容-- --?huodongcanjia表為活動(dòng)參加表,包括活動(dòng)編碼、活動(dòng)名稱、活動(dòng)圖片、活動(dòng)人數(shù)、活動(dòng)條件、活動(dòng)時(shí)間、發(fā)布時(shí)間、教師工號(hào)、教師姓名、學(xué)號(hào)、學(xué)生姓名等字段,如表4.12所示。表4.12huodongcanjia表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint--主鍵主鍵--addtimetimestamp--創(chuàng)建時(shí)間--CURRENT_TIMESTAMPhuodongbianhaovarchar--活動(dòng)編號(hào)huodongmingchengvarchar--活動(dòng)名稱huodongtupianlongtext10活動(dòng)圖片huodongrenshuint--活動(dòng)人數(shù)huodongtiaojianvarchar--活動(dòng)條件huodongshijiandate--活動(dòng)時(shí)間fabushijiandatetime--發(fā)布時(shí)間jiaoshigonghaovarchar200教師工號(hào)jiaoshixingmingvarchar200教師姓名xuehaovarchar200學(xué)號(hào)xueshengxingmingvarchar200學(xué)生姓名4.5小結(jié)本章憑借前期需求分析的成果,首先著手完成系統(tǒng)整體架構(gòu)的框架規(guī)劃,繼而針對(duì)核心業(yè)務(wù)場(chǎng)景做細(xì)致的功能流程分析,在弄明白各模塊交互關(guān)系的基礎(chǔ)上,借助規(guī)范化建模手段構(gòu)建起數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),最終形成囊括交互邏輯和視覺呈現(xiàn)的完整界面預(yù)案。5系統(tǒng)實(shí)現(xiàn)本章著重剖析系統(tǒng)核心功能模塊的技術(shù)實(shí)現(xiàn)方案,運(yùn)用分模塊解析的手段對(duì)平臺(tái)用戶端與管理后臺(tái)進(jìn)行架構(gòu)解析,為直觀地把系統(tǒng)架構(gòu)呈現(xiàn),會(huì)同步展示各模塊功能界面的設(shè)計(jì)圖以及核心代碼片段,借助圖文搭配與代碼剖析的兩個(gè)維度,清晰闡述模塊間的交互邏輯與實(shí)現(xiàn)關(guān)鍵點(diǎn),這種展示舉措不僅可清晰呈現(xiàn)功能流程的視覺化呈現(xiàn)情況,還可借助代碼領(lǐng)域的技術(shù)說明,協(xié)助開發(fā)者深度領(lǐng)會(huì)系統(tǒng)設(shè)計(jì)思路及關(guān)鍵技術(shù)實(shí)施方式。5.1前端功能模塊實(shí)現(xiàn)5.1.1注冊(cè)登錄模塊實(shí)現(xiàn)用戶需要通過登錄和注冊(cè)的操作后,才能進(jìn)入校園志愿者管理系統(tǒng)。首先,學(xué)生用戶在注冊(cè)頁面填入自己的基本信息,包括學(xué)號(hào)、密碼、確認(rèn)密碼、姓名、性別、手機(jī)號(hào)碼相關(guān)信息。 學(xué)生用戶注冊(cè)界面。如圖5.1圖5.1學(xué)生用戶注冊(cè)界面關(guān)鍵代碼: @IgnoreAuth
@PostMapping(value="/register")
publicRregister(@RequestBodyUsersEntityuser){
//ValidatorUtils.validateEntity(user);
if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){
returnR.error("用戶已存在");
}
userService.insert(user);
returnR.ok();
}用戶登錄頁面。如圖5.2圖5.2用戶登錄頁面關(guān)鍵代碼:@IgnoreAuth
@RequestMapping(value="/login")
publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){
UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username));
if(user==null||!user.getPassword().equals(password)){
returnR.error("賬號(hào)或密碼不正確");
}
Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole());
returnR.ok().put("token",token);
}5.1.2系統(tǒng)首頁模塊實(shí)現(xiàn)用戶在登錄、注冊(cè)以后即可進(jìn)入校園志愿者管理系統(tǒng)首頁。首頁里面包含了志愿者搞活動(dòng)、留言反饋、個(gè)人中心等。 系統(tǒng)首頁頁面。如圖5.3圖5.3系統(tǒng)首頁關(guān)鍵代碼:<divclass="projectTitle">校園志愿者服務(wù)管理系統(tǒng)</div>
<divclass="top_right_view">
<el-dropdownclass="avatar-containerright-menu-item"trigger="hover">
<divclass="avatar-wrapper">
<divclass="nickname">歡迎{{$toolUtil.storageGet('adminName')}}</div>
<imgclass="user-avatar"src="@/assets/img/avatar.png">
<el-iconclass="el-icon--right">
<arrow-down/>
</el-icon>
</div>
<template#dropdown>
<el-dropdown-menuslot="dropdown">
<el-dropdown-item@click="centerClick"v-if="roleName!='管理員'">
個(gè)人中心
</el-dropdown-item>
<el-dropdown-item@click="updatepasswordClick">
修改密碼
</el-dropdown-item>
<el-dropdown-itemv-if="roleName!='管理員'">
<spanstyle="display:block;"@click="frontClick">系統(tǒng)前臺(tái)</span>
</el-dropdown-item>
<el-dropdown-item>
<spanstyle="display:block;"@click="onLogout">退出登錄</span>
</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</div></template>5.1.3志愿者活動(dòng)報(bào)名模塊實(shí)現(xiàn)用戶在登錄注冊(cè)以后,點(diǎn)擊志愿者活動(dòng)頁后就可以看到活動(dòng)相關(guān)信息,點(diǎn)擊報(bào)名參加就可以跳轉(zhuǎn)到志愿者活動(dòng)報(bào)名頁面,填寫相關(guān)信息及保存。志愿者活動(dòng)頁面。如圖5.4。關(guān)鍵代碼:@RequestMapping("/add")
publicRadd(@RequestBodyZhiyuanzhehuodongEntityzhiyuanzhehuodong,HttpServletRequestrequest){
zhiyuanzhehuodong.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(zhiyuanzhehuodong);
zhiyuanzhehuodongService.insert(zhiyuanzhehuodong);
returnR.ok();
}5.1.4志愿者活動(dòng)頁模塊實(shí)現(xiàn)用戶點(diǎn)擊個(gè)人中心可以看到學(xué)號(hào)、密碼、學(xué)生姓名、性別、手機(jī)號(hào)等相關(guān)信息。志愿者活動(dòng)頁面。如圖5.4。圖5.4個(gè)人中心頁面關(guān)鍵代碼:@RequestMapping("/update")
@Transactional
publicRupdate(@RequestBodyXueshengEntityxuesheng,HttpServletRequestrequest){
//ValidatorUtils.validateEntity(xuesheng);
xueshengService.updateById(xuesheng);//全部更新
returnR.ok();
}5.2后端功能模塊實(shí)現(xiàn)在· 5.2.1管理員登錄模塊實(shí)現(xiàn)后臺(tái)管理員登錄分為兩個(gè)角色,分別是管理員以及教師,管理員通過輸入相關(guān)賬號(hào)及密碼登錄教師有賬號(hào)的輸入賬號(hào)密碼,沒有賬號(hào)的可點(diǎn)擊注冊(cè)教師注冊(cè)登錄。管理員登錄頁面。如圖5.5圖5.5管理員登錄頁面 關(guān)鍵代碼:@IgnoreAuth
@RequestMapping(value="/login")
publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){
UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username));
if(user==null||!user.getPassword().equals(password)){
returnR.error("賬號(hào)或密碼不正確");
}
Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole());
returnR.ok().put("token",token);
}5.2.2學(xué)生賬號(hào)管理模塊實(shí)現(xiàn)后臺(tái)管理員登錄后點(diǎn)擊學(xué)生賬號(hào)管理可瀏覽到學(xué)生學(xué)號(hào)、學(xué)生姓名、性別、手機(jī)號(hào)碼、積分等相關(guān)信息,可對(duì)學(xué)生賬號(hào)做增刪改查功能。學(xué)生賬號(hào)管理模塊。如圖5.6圖5.6學(xué)生賬號(hào)管理·關(guān)鍵代碼:@RequestMapping("/list")
publicRlist(UsersEntityuser){
EntityWrapper<UsersEntity>ew=newEntityWrapper<UsersEntity>();
ew.allEq(MPUtil.allEQMapPre(user,"user"));
returnR.ok().put("data",userService.selectListView(ew));
}
/**
*信息
*/
@RequestMapping("/info/{id}")
publicRinfo(@PathVariable("id")Stringid){
UsersEntityuser=userService.selectById(id);
returnR.ok().put("data",user);
}
/**
*獲取用戶的session用戶信息
*/
@RequestMapping("/session")
publicRgetCurrUser(HttpServletRequestrequest){
Longid=(Long)request.getSession().getAttribute("userId");
UsersEntityuser=userService.selectById(id);
returnR.ok().put("data",user);
}
/**
*保存
*/
@PostMapping("/save")
publicRsave(@RequestBodyUsersEntityuser){
//ValidatorUtils.validateEntity(user);
if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){
returnR.error("用戶已存在");
}
userService.insert(user);
returnR.ok();
}
/**
*修改
*/
@RequestMapping("/update")
publicRupdate(@RequestBodyUsersEntityuser){
//ValidatorUtils.validateEntity(user);
UsersEntityu=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()));
if(u!=null&&u.getId()!=user.getId()&&u.getUsername().equals(user.getUsername())){
returnR.error("用戶名已存在。");
}
userService.updateById(user);//全部更新
returnR.ok();
}
/**
*刪除
*/
@RequestMapping("/delete")
publicRdelete(@RequestBodyLong[]ids){
userService.deleteBatchIds(Arrays.asList(ids));
returnR.ok();
}
}5.2.3志愿者報(bào)名管理模塊實(shí)現(xiàn)后臺(tái)管理員點(diǎn)擊志愿者活動(dòng)管理可查看到活動(dòng)編號(hào)、活動(dòng)名稱、活動(dòng)圖片、活動(dòng)人數(shù)等相關(guān)信息,還可對(duì)志愿者活動(dòng)進(jìn)行增刪改查的功能。志愿者報(bào)名管理模塊。如圖5.7圖5.7支援者報(bào)名管理關(guān)鍵代碼:@RequestMapping("/save")
publicRsave(@RequestBodyZhiyuanzhehuodongEntityzhiyuanzhehuodong,HttpServletRequestrequest){
zhiyuanzhehuodong.setId(newDate().getTime()+newDouble(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(zhiyuanzhehuodong);
zhiyuanzhehuodongService.insert(zhiyuanzhehuodong);
returnR.ok();
}
*審核
*/
@RequestMapping("/shBatch")
@Transactional
publicRupdate(@RequestBodyLong[]ids,@RequestParamStringsfsh,@RequestParamStringshhf){
List<ZhiyuanzhehuodongEntity>list=newArrayList<ZhiyuanzhehuodongEntity>();
for(Longid:ids){
ZhiyuanzhehuodongEntityzhiyuanzhehuodong=zhiyuanzhehuodongService.selectById(id);
zhiyuanzhehuodong.setSfsh(sfsh);
zhiyuanzhehuodong.setShhf(shhf);
list.add(zhiyuanzhehuodong);
}
zhiyuanzhehuodongService.updateBatchById(list);
returnR.ok();
}
/**
*刪除
*/
@RequestMapping("/delete")
publicRdelete(@RequestBodyLong[]ids){
zhiyuanzhehuodongService.deleteBatchIds(Arrays.asList(ids));
returnR.ok();
}5.2.4志愿者留言反饋管理模塊實(shí)現(xiàn)后臺(tái)管理員點(diǎn)擊留言反饋管理可查看到反饋標(biāo)題、反饋時(shí)間、審核回復(fù)、審核狀態(tài)等相關(guān)信息,還可對(duì)留言反饋進(jìn)行刪除的功能。志愿者反饋管理模塊。如圖5.8圖5.8志愿者反饋管理關(guān)鍵代碼:@RequestMapping("/update")
@Transactional
publicRupdate(@RequestBodyLiuyanfankuiEntityliuyanfankui,HttpServletRequestrequest){
//ValidatorUtils.validateEntity(liuyanfankui);
liuyanfankuiService.updateById(liuyanfankui);//全部更新
returnR.ok();
}
/**
*審核
*/
@RequestMapping("/shBatch")
@Transactional
publicRupdate(@RequestBodyLong[]ids,@RequestParamStringsfsh,@RequestParamStringshhf){
List<LiuyanfankuiEntity>list=newArrayList<LiuyanfankuiEntity>();
for(Longid:ids){
LiuyanfankuiEntityliuyanfankui=liuyanfankuiService.selectById(id);
liuyanfankui.setSfsh(sfsh);
liuyanfankui.setShhf(shhf);
list.add(liuyanfankui);
}
liuyanfankuiService.updateBatchById(list);
returnR.ok();
}
/**
*刪除
*/
@RequestMapping("/delete")
publicRdelete(@RequestBodyLong[]ids){
liuyanfankuiService.deleteBatchIds(Arrays.asList(ids));
returnR.ok();
}5.3小結(jié)本章主要結(jié)合系統(tǒng)設(shè)計(jì)對(duì)系統(tǒng)進(jìn)行了代碼實(shí)現(xiàn),并簡要介紹了各個(gè)主要功能模塊的工作流程和實(shí)現(xiàn)邏輯6系統(tǒng)測(cè)試6.1系統(tǒng)測(cè)試目的校園志愿者管理系統(tǒng)的軟件測(cè)試是對(duì)系統(tǒng)各個(gè)模塊以及功能展開全面測(cè)試,涉及功能測(cè)試、性能測(cè)試、安全測(cè)試、兼容性測(cè)試等,實(shí)施系統(tǒng)測(cè)試,旨在找出管理系統(tǒng)潛在的毛病和差錯(cuò),保障系統(tǒng)運(yùn)行達(dá)成穩(wěn)定、可靠、安全的要求,滿足學(xué)校及志愿者的實(shí)際期望。校園志愿者管理系統(tǒng)測(cè)試的主要目的包括:1.驗(yàn)證正確性:審定系統(tǒng)的各項(xiàng)功能(志愿登錄注冊(cè)、志愿者報(bào)名、志愿者留言反饋、積分管理等)是否契合需求規(guī)格,保證操作流程連貫,數(shù)據(jù)處理精準(zhǔn)可靠。2.驗(yàn)證可行性:對(duì)系統(tǒng)于校園網(wǎng)絡(luò)環(huán)境下的技術(shù)可行性及運(yùn)營成本加以評(píng)估,保證系統(tǒng)符合實(shí)施推廣的實(shí)際要求。3.發(fā)現(xiàn)錯(cuò)誤和缺陷:采用模擬學(xué)生、志愿者以及管理員的真實(shí)操作,找出系統(tǒng)里存在的功能毛病、權(quán)限漏洞或數(shù)據(jù)差錯(cuò),諸如報(bào)名、審核、活動(dòng)發(fā)布等功能的異?,F(xiàn)象。4.提高可靠性:利用測(cè)試發(fā)現(xiàn)并修復(fù)異常操作、數(shù)據(jù)沖突或系統(tǒng)崩潰等問題,夯實(shí)系統(tǒng)的穩(wěn)定性,防止系統(tǒng)故障對(duì)志愿者服務(wù)及管理產(chǎn)生影響。5.優(yōu)化性能:對(duì)系統(tǒng)在高并發(fā)訪問(類似活動(dòng)報(bào)名高峰期)時(shí)的響應(yīng)速度、處理能力進(jìn)行測(cè)試,查找性能瓶頸點(diǎn),改進(jìn)查詢效率及頁面的加載速率,保障系統(tǒng)平穩(wěn)流暢。6.確保安全性:實(shí)施身份認(rèn)證、權(quán)限控制以及數(shù)據(jù)加密等安全測(cè)試,防止未被授權(quán)的訪問和數(shù)據(jù)泄露隱患,維護(hù)學(xué)生和志愿者的隱私信息不被非法占有。6.2測(cè)試過程本校園志愿者管理系統(tǒng)采用SpringBoot框架開發(fā),利用SpringBoot自帶的測(cè)試工具SpringTest進(jìn)行單元測(cè)試和集成測(cè)試。為全面保障系統(tǒng)的功能正確性和穩(wěn)定性,設(shè)計(jì)了一系列針對(duì)前端界面和后端管理后臺(tái)的測(cè)試用例,涵蓋功能驗(yàn)證、權(quán)限校驗(yàn)、數(shù)據(jù)處理等關(guān)鍵場(chǎng)景。6.2.1系統(tǒng)功能測(cè)試本節(jié)重點(diǎn)展示本系統(tǒng)的功能測(cè)試,如表6.1所示。另一方面本系統(tǒng)也進(jìn)行了性能測(cè)試。表6.1系統(tǒng)功能測(cè)試用例表編號(hào)測(cè)試描述操作與輸入預(yù)期結(jié)果測(cè)試結(jié)果1測(cè)試輸入正確的賬號(hào)和密碼是否成功登錄/注冊(cè)輸入賬號(hào)以及碼賬號(hào):123456789密碼:123456直接進(jìn)入系統(tǒng)首頁測(cè)試通過2測(cè)試輸入錯(cuò)誤的賬號(hào)和密碼是否成功登錄注冊(cè)輸入賬號(hào)以及碼賬號(hào):56789密碼:12456彈出密碼或賬號(hào)錯(cuò)誤提示框測(cè)試通過6.2.2后臺(tái)管理測(cè)試表6.2后臺(tái)管理測(cè)試用例表編號(hào)測(cè)試描述測(cè)試輸入預(yù)期輸出測(cè)試結(jié)果1測(cè)試管理員登錄輸入正確賬號(hào)和密碼輸入賬號(hào)以及碼賬號(hào):admin密碼:123456進(jìn)入后臺(tái)界面測(cè)試通過2測(cè)試輸入信息能否更改學(xué)生信息點(diǎn)擊學(xué)生管理里的修改按鈕,輸入信息修改成功測(cè)試通過3測(cè)試志愿者提交報(bào)名后,管理員審核是否能通過點(diǎn)擊志愿者活動(dòng)管理里的審核按鈕,輸入回復(fù)點(diǎn)擊通過。審核成功測(cè)試通過4測(cè)試志愿者管理活動(dòng)選中點(diǎn)擊刪除是否能可行點(diǎn)擊志愿者活動(dòng)管理,選中刪除目標(biāo)后點(diǎn)擊刪除刪除成功測(cè)試通過5測(cè)試志愿者管理活動(dòng)選中點(diǎn)擊修改活動(dòng)內(nèi)容是否能可行點(diǎn)擊志愿者活動(dòng)管理里的修改按鈕,輸入信息修改成功測(cè)試通過6批量刪除志愿者管理員選中復(fù)選框,點(diǎn)擊刪除,點(diǎn)擊確定操作成功測(cè)試通過7留言反饋審核,留言拒絕通過點(diǎn)擊留言反饋管理,點(diǎn)擊審核輸入審核回復(fù),點(diǎn)擊拒絕操作成功測(cè)試通過8加減積分審核管理點(diǎn)擊積分管理,選擇要審核的人員,回復(fù)審核內(nèi)容,點(diǎn)擊通過操作成功測(cè)試通過9測(cè)試輸入信息能否
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)車輛庫存管理制度
- 2026天津?yàn)I海高新區(qū)管委會(huì)招聘應(yīng)急處置崗雇員11人備考題庫及完整答案詳解1套
- 2025四川省旅游投資集團(tuán)有限責(zé)任公司招聘3人備考題庫及完整答案詳解1套
- 2025年山東省地質(zhì)礦產(chǎn)勘查開發(fā)局所屬事業(yè)單位公開招聘人員備考題庫(21名)及答案詳解(考點(diǎn)梳理)
- 2025中國鐵路上海局集團(tuán)有限公司上海直屬站客運(yùn)實(shí)習(xí)生招聘?jìng)淇碱}庫及完整答案詳解一套
- 2025廣西柳州柳北區(qū)錦繡街道辦事處招聘公益性崗位1人備考題庫及答案詳解一套
- 涂裝工廠生產(chǎn)管理制度
- 2025云南臨滄雙江自治縣地方產(chǎn)業(yè)發(fā)展服務(wù)中心招聘公益性崗位人員1人備考題庫及答案詳解(考點(diǎn)梳理)
- 2026年西北工業(yè)大學(xué)國際合作處招聘?jìng)淇碱}庫及完整答案詳解一套
- 2026江西南昌東站、南昌西站隨車保潔招聘50人備考題庫【退休返聘】及一套答案詳解
- 2024年華能山東發(fā)電有限公司招聘筆試參考題庫含答案解析
- 高三英語定語從句公開課課件
- 學(xué)前教育-幼兒園戶外建構(gòu)游戲安全與對(duì)策的研究論文
- 門急診病歷質(zhì)控檢查評(píng)分標(biāo)準(zhǔn)
- 04S519小型排水構(gòu)筑物1
- 光纖激光打標(biāo)機(jī)說明書
- 勞動(dòng)者個(gè)人職業(yè)健康監(jiān)護(hù)檔案
- 《兩角和與差的正弦、余弦、正切公式》示范公開課教學(xué)PPT課件【高中數(shù)學(xué)人教版】
- 治理現(xiàn)代化下的高校合同管理
- 境外宗教滲透與云南邊疆民族地區(qū)意識(shí)形態(tài)安全研究
- GB/T 28920-2012教學(xué)實(shí)驗(yàn)用危險(xiǎn)固體、液體的使用與保管
評(píng)論
0/150
提交評(píng)論