基于微信小程序的上門維修系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于微信小程序的上門維修系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于微信小程序的上門維修系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于微信小程序的上門維修系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于微信小程序的上門維修系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

[7]中提到維護管理系統(tǒng)(MMS)是扎霍大學(xué)的一個在線網(wǎng)站。該項目的主要目的是安排維修單位收到的請求然后修復(fù)派遣維修人員前去修理。MMS包括一個用戶界面和一個管理員界面。維修請求是通過用戶界面提交的,然后被管理員接收并分配給相應(yīng)的維修人員。管理員可以監(jiān)視每個請求的狀態(tài)并進行必要的操作。MMS還提供了一些其他功能,如維修歷史記錄、維修人員的技能記錄和維修部件的存貨管理等。這些功能有助于提高維修過程的效率和準(zhǔn)確性,同時降低維修成本。1.3主要研究內(nèi)容本設(shè)計在IDEA開發(fā)工具中基于SpringBoot框架,以Tomcat作為服務(wù)器,通過MySQL數(shù)據(jù)庫對數(shù)據(jù)進行存儲和管理,使用Java語言和前端Vue技術(shù)設(shè)計實現(xiàn)上門維修系統(tǒng),該系統(tǒng)應(yīng)具有?維修人員管理、用戶管理、用??戶報修管理??、維修進度管理、報修信息管理、??評價記錄管理、公告信息管理的功能。需要完成的事項有:1、根據(jù)近年來國內(nèi)外相關(guān)的文獻資料,確定設(shè)計的路線和技術(shù)工具;2、對系統(tǒng)需求進行分析,以確定系統(tǒng)的主要功能模塊和整體結(jié)構(gòu);3、選用MySQL數(shù)據(jù)庫進行數(shù)據(jù)存儲;4、對各個功能模塊進 行具體設(shè)計和開發(fā),來確保實現(xiàn)所預(yù)期功能;5、全面測試系統(tǒng)功能并完善系統(tǒng),確保穩(wěn)定可靠性。第2章關(guān)鍵技術(shù)簡介2.1Java簡介Java是一種廣泛使用的計算機編程語言,可以在不同的計算機系統(tǒng)和設(shè)備上運行,無需重新編寫代碼。Java在計算機領(lǐng)域應(yīng)用廣泛,尤其是在企業(yè)級應(yīng)用和互聯(lián)網(wǎng)應(yīng)用程序開發(fā)中。它具有高度的可移植性、安全性和可靠性,因此廣泛用于桌面應(yīng)用程序、服務(wù)器端編程、嵌入式系統(tǒng)和移動設(shè)備應(yīng)用程序等方面。Java編程語言的語法簡單、清晰,易于學(xué)習(xí)和使用,同時也提供了大量的類庫和開發(fā)工具,使得開發(fā)人員能夠更加高效地完成各種開發(fā)任務(wù)。Java也被廣泛應(yīng)用于學(xué)術(shù)界和教育領(lǐng)域,成為計算機科學(xué)教育的重要組成部分。2.2MySQL簡介MySQL目前屬于Oracle甲骨文公??司,M??ySQ??L稱之??為關(guān)??系型數(shù)??據(jù)庫、??微軟的??SQL?? Server。MySQL數(shù)據(jù)??庫能夠??支持在??多種操??作系統(tǒng)??上運行??,包括??Solaris、MacOS、??FreeBSD和Windows??,Li??nux??通通支??持。核??心功能??就是處??理數(shù)據(jù)??,其中??提供空??間供數(shù)??據(jù)存儲??又是其??主要主??要功能??之一。??數(shù)據(jù)庫??一般也??不直接??面向數(shù)??據(jù)存儲??,存儲??是交給??表/索??引這類??對象完??成的。??MyS??QL數(shù)??據(jù)庫是??一種C??/S模??型(即??客戶端??和服務(wù)??端模型??),客??戶端通??過賬號??、密碼??來連接??服務(wù)器??,連接??成功之??后才可??以進行??數(shù)據(jù)庫??的操作??(CR??UD:??增加、??刪除、??變更、??查詢)??。My??SQL??的服務(wù)??端采用??IO復(fù)??用和可伸??縮的連??接池,實??現(xiàn)了網(wǎng)??絡(luò)高并發(fā)的經(jīng)典模型。2.3B/S模式B/S(Brower/Server,瀏覽器/服務(wù)器)模式又稱B/S結(jié)構(gòu),是Web興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式??蛻魴C上只需要安裝一個瀏覽器,服務(wù)器上安裝SQLServer,Oracle,MySql等數(shù)據(jù)庫;瀏覽器通過WebServer同數(shù)據(jù)庫進行數(shù)據(jù)交互。B/S模式與傳統(tǒng)的C/S模式(客戶端/服務(wù)器模式)相比,其具有以下優(yōu)點:1、跨平臺性:由于客戶端使用瀏覽器作為接口,因此B/S模式的應(yīng)用程序可以運行在任何支持瀏覽器的操作系統(tǒng)上。2、維護簡單:B/S模式將大部分的邏輯處理放在服務(wù)器端完成,客戶端只需要提供簡單的顯示和輸入功能,這樣就能減少客戶端的維護難度。第3章系統(tǒng)分析3.1可行性分析3.1.1技術(shù)可行性本次開發(fā)是基于微信小程序的上門維修系統(tǒng),以Tomcat作為服務(wù)器,所使用的語言是Java語言,選用MySQL數(shù)據(jù)庫進行系統(tǒng)的數(shù)據(jù)存儲,在開發(fā)過程中主要基于SpringBoot框架,采用Vue的前端技術(shù),最后利用IDEA完成系統(tǒng)的開發(fā),這些技術(shù)已經(jīng)成熟并且已經(jīng)廣泛的應(yīng)用于類似系統(tǒng)的開發(fā)中,有大量的案例可以借鑒。借助于網(wǎng)上的資料和相關(guān)文獻,我使用這些技術(shù)去開發(fā)系統(tǒng)是沒有問題的。3.1.2經(jīng)濟可行性從經(jīng)濟的角度來看,我所借鑒的文獻都是免費獲得的,所使用的開發(fā)工具也是網(wǎng)上可以免費獲得到的,唯一的投入就是設(shè)計系統(tǒng)的設(shè)備,但是我現(xiàn)在已經(jīng)有設(shè)備了,所以不需要更高的投入,但是這個系統(tǒng)開發(fā)出來之后,可以帶來更好的便利程度,所以這是一種低投入、高回報的系統(tǒng),所以具有經(jīng)濟可行性。3.1.3操作可行性此系統(tǒng)在開發(fā)的過程中將會遵循界面簡潔明了、直觀的原則,一旦開發(fā)完成,用戶不需要擁有專業(yè)的知識也不需要經(jīng)過培訓(xùn)就能上手使用。??整個系??統(tǒng)必須??簡單、??高效,??并對用??戶有不??同級別??的使用??權(quán)限管??理?;??于這些??考慮,??我可??以確定??這個開發(fā)是可操作的。3.2需求分析系統(tǒng)功能需求分析提供了實施軟件功能要求的相關(guān)信息,通過良好的分析活動,可以避免或報告早期錯誤,提高軟件生產(chǎn)效率,降低開發(fā)成本并提高軟件質(zhì)量。這對于軟件開發(fā)來說是非常重要的。3.2.1功能需求分析在上門維修系統(tǒng)中,將為用戶、維修人員、管理員三種角色提供服務(wù)(1)用戶、維修人員可以進行注冊,用戶、維修人員、管理員在登錄后可以在個人中心修改個人信息和賬號密碼。(2)管理員可以對公告信息進行管理,用戶可以查看和搜索管理員添加的公告。(3)用戶可??以通過??用戶報??修在報修類型中來填??寫自己??的問題??和住址,管理員可以對報修類型和用戶報修信息進行管理。(4)管理員可在維修進度管理界面派??單,維修人員接到派單后可對維修信息進行查看,完成維修后,維修員可以提交維修進度。(5)訂單結(jié)束后,用戶可以給維修人員評分并填寫評價,管理員可以在評價記錄管理中對維修人員進行評價,維修人員可以在評價記錄中查看用戶和管理員的評價。用戶用例圖如圖3.1所示。登錄注冊登錄注冊用戶報修維修進度查看公告查看用戶評價圖3.1用戶用例圖管理員用例圖如圖3.2所示。用戶管理用戶管理登錄系統(tǒng)管理報修信息管理維修人員管理評價記錄管理維修進度管理維修類型管理圖3.2管理員用例圖維修信息查看登錄注冊維修進度提交評價記錄查看維修信息查看登錄注冊維修進度提交評價記錄查看圖3.3維修人員用例圖3.2.2非功能需求分析上門維修系統(tǒng)在設(shè)計中滿足以上功能性需求以外,在非功能性需求上還有以下要求:(1)安全性:系統(tǒng)對用戶的權(quán)????限??進行????管理??,????不同的????用??戶具????有身??份????和權(quán)限????也??有所????差別??只????能進行????其??權(quán)限????范圍??內(nèi)????的操作????。??同時????為了??保????證和維????護??數(shù)據(jù)????的安??全????,需要????提??前做好數(shù)據(jù)備份。(2)易用性:系統(tǒng)界面簡??潔美觀??,????功能設(shè)????計??合理????,因??此????用戶在????平??臺界????面進??行????操作時????十??分簡????單,??容????易上手????。??用戶????進入??首????頁后可????根??據(jù)提????示進??行????注冊登????錄??,然????后可??以根據(jù)頁面提示進行報修?????,并可以快速了解報修進度。(3)可擴展性:由于業(yè)務(wù)會不斷變化,因此??要求信??息系統(tǒng)??具有很??高的架??構(gòu)可擴??展性和??業(yè)務(wù)可??擴展性??。系統(tǒng)??從其內(nèi)??部業(yè)務(wù)??擴展和??外部業(yè)??務(wù)接入??的可擴??展性來??看都需??要具有??很高的??業(yè)務(wù)可??擴展性??提供標(biāo)??準(zhǔn)、開??放、合理的接口。3.3流程分析3.3.1用戶登錄流程根據(jù)需求分析,設(shè)計用戶登錄流程圖,如圖3.4所示。輸入賬號密碼輸入賬號密碼是否正確否是登錄成功開始結(jié)束圖3.4用戶登錄流程圖3.3.2報修流程上門維修服務(wù)是通過用戶通過提交報修信息再由管理員對其分配維修人員,進而維修人員上門維修,從而實現(xiàn)用戶報修的目的,報修流程如圖3.5所示。輸入報修信息輸入報修信息是否完成否是用戶登錄開始結(jié)束管理員派單維修人員維修圖3.5報修流程圖3.3.3維修員維修流程維修員登錄后,管理員將用戶提交的報修信息派單給維修員,維修員可以查看報修信息,完成維修后,若還有新的報修信息,則繼續(xù)進行上門維修服務(wù),最后維修員可以查看用戶的評價。維修員維修流程圖如圖3.6所示。是否有新的報修信息是否有新的報修信息否是維修員登錄開始結(jié)束管理員派單上門維修查看維修信息完成維修查看用戶評價提交維修進度圖3.6維修員維修流程圖第4章系統(tǒng)設(shè)計4.1功能結(jié)構(gòu)設(shè)計根據(jù)需求分析的結(jié)果,遵循高內(nèi)聚低耦合的原則,將上門維修系統(tǒng)分為維修類型管理、報修信息管理、??評價記錄管理、維修人員管理、維修進度管理、用戶管理??、用??戶報修管理??。其功能結(jié)構(gòu)圖如圖4.1所示:基于微信小程序的上門維修系基于微信小程序的上門維修系統(tǒng)管理員管理

維修人員管理用戶管理用戶報修管理維修類型管理維修進度管理報修信息管理評價記錄管理公告信息管理圖4.1系統(tǒng)功能模塊圖4.2數(shù)據(jù)庫設(shè)計4.2.1概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計是數(shù)據(jù)庫設(shè)計過程中的重要階段,其主要任務(wù)是將現(xiàn)實世界中的實體、屬性和關(guān)系轉(zhuǎn)換成數(shù)據(jù)庫中的表、字段和外鍵。在概念結(jié)構(gòu)設(shè)計中,E-R圖是一種常用的工具,它通過圖形化的方式展示實體之間的關(guān)系和屬性,使得數(shù)據(jù)庫設(shè)計更加直觀和易于理解。同時,E-R圖還可以幫助設(shè)計者發(fā)現(xiàn)現(xiàn)實世界中實體之間的復(fù)雜關(guān)系,從而設(shè)計出更加高效和優(yōu)秀的數(shù)據(jù)庫結(jié)構(gòu)。概念結(jié)構(gòu)設(shè)計可以幫助設(shè)計者準(zhǔn)確地表示現(xiàn)實世界中的實體和它們之間的關(guān)系,并將這些關(guān)系轉(zhuǎn)化為數(shù)據(jù)庫結(jié)構(gòu)。通過概念結(jié)構(gòu)設(shè)計,可以更好地保證數(shù)據(jù)庫的數(shù)據(jù)完整性和一致性,同時也可以提高數(shù)據(jù)庫的查詢效率和維護性。上門維修系統(tǒng)的實體圖設(shè)計如下:管理員賬號密碼

角色

1.管理員實體管理員賬號密碼

角色

圖4.2管理員實體屬性圖用戶賬號密碼

郵箱

姓名

性別

用戶賬號密碼

郵箱

姓名

性別

用戶名

電話

圖4.3用戶實體屬性圖維修人員賬號密碼

姓名

性別

電話

維修人員賬號密碼

姓名

性別

電話

工號

圖4.4維修人員實體屬性圖4.報修實體屬性圖,如圖4.5所示。報修報修報修時間報修地址

報修類型

報修用戶

報修圖片

圖4.5報修信息實體屬性圖評價記錄維修工號

報修用戶

評價內(nèi)容評價記錄維修工號

報修用戶

評價內(nèi)容

維修評分

評價時間

報修單號

維修進度維修評價維修費用

維修工號

報修用戶

維修進度維修評價維修費用

維修工號

報修用戶

維修時間報修信息

報修用戶提交維修類型11nn報修用戶提交維修類型11nn包含維修員維修進度擁有11提交n評價記錄提交查看1n11n包含11查看1n圖4.6各實體聯(lián)系E-R圖4.2.2邏輯結(jié)構(gòu)設(shè)計在邏輯結(jié)構(gòu)中,主要任務(wù)是對數(shù)據(jù)進行建模和設(shè)計,包括制定數(shù)據(jù)實體和它們之間的關(guān)系,以及為每個實體設(shè)置相應(yīng)的表和字段。根據(jù)不同的訪問類型,存儲結(jié)構(gòu)可以分為索引表和順序表,每個表包含不同的查詢結(jié)果。在上門維修系統(tǒng)中,基于E-R圖的抽象數(shù)據(jù)實體和實體之間的關(guān)系模板被轉(zhuǎn)化為具體的邏輯結(jié)構(gòu)數(shù)據(jù)。每個實體被映射為數(shù)據(jù)庫中的一個表,每個表包含不同的字段和屬性,以便于數(shù)據(jù)的存儲和查詢。針對不同的業(yè)務(wù)需求和訪問類型,可以設(shè)計相應(yīng)的索引表和順序表,以加快數(shù)據(jù)的檢索和訪問速度。具體表設(shè)計如下:(1)配置文件表config“配置文件表config”是用來存儲用戶配置文件的信息。config的結(jié)構(gòu)如表4.1所示。表4.1配置文件表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵namevarchar20配置參數(shù)名稱valuevarchar100配置參數(shù)值(2)公告信息表news“公告信息表news”是用來存儲公告信息。news的結(jié)構(gòu)如表4.2所示。表4.2公告信息表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPtitlevarchar20標(biāo)題introductionlongtext100簡介picturelongtext4294967295圖片contentlongtext100內(nèi)容(3)用戶表yonghu“用戶表yonghu”是用來存儲用戶的信息。yonghu的結(jié)構(gòu)如表4.3所示。表4.3用戶表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPyonghumingvarchar20用戶名mimavarchar20密碼xingmingvarchar5姓名xingbievarchar3性別touxianglongtext4294967295頭像shoujivarchar11手機(4)維修員表weixiuyuan“維修員表weixiuyuan”是用來存儲維修員的信息。weixiuyuan的結(jié)構(gòu)如表4.4所示。表4.4維修員表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPweixiugonghaovarchar20維修工號mimavarchar20密碼xingmingvarchar5姓名xingbievarchar10性別zhaopianlongtext4294967295照片lianxidianhuavarchar11聯(lián)系電話(5)維修進度表weixiujindu“維修進度表weixiujindu”是用來存儲維修進度的信息。weixiujindu的結(jié)構(gòu)如表4.5所示。表4.5維修進度表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPbaoxiudanhaovarchar20報修單號baoxiumingchengvarchar20報修名稱weixiutupianlongtext4294967295維修圖片weixiuneironglongtext4294967295維修內(nèi)容weixiujinduvarchar20維修進度weixiufeiyongint維修費用weixiushijiandatetime維修時間weixiupingjiavarchar100維修評價yonghumingvarchar20用戶名dizhivarchar100地址weixiugonghaovarchar20維修工號xingmingvarchar5姓名useridbigint用戶id(6)token表token“token表token”是用來存儲token的信息。token的結(jié)構(gòu)如表4.6所示。表4.6token表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵useridbigint用戶idusernamevarchar20用戶名tablenamevarchar20表名rolevarchar20角色tokenvarchar20密碼addtimetimestamp新增時間CURRENT_TIMESTAMPexpiratedtimetimestamp過期時間CURRENT_TIMESTAMP(7)評價記錄表pingjiajilu“評價記錄表pingjiajilu”是用來存儲評價記錄的信息。pingjiajilu的結(jié)構(gòu)如表4.7所示。表4.7評價記錄表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPbaoxiudanhaovarchar20報修單號weixiutupianlongtext4294967295維修圖片weixiupingfenvarchar20維修評分weixiugonghaovarchar20維修工號weixiufeiyongint維修費用pingjianeironglongtext100評價內(nèi)容pingjiariqidate評價日期yonghumingvarchar20用戶名shhflongtext100回復(fù)內(nèi)容ispayvarchar4是否支付未支付(8)報修信息表baoxiuxinxi“報修信息表baoxiuxinxi”是用來存儲報修信息的信息。baoxiuxinxi的結(jié)構(gòu)如表4.8所示。表4.8報修信息表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPbaoxiudanhaovarchar20報修單號baoxiumingchengvarchar20報修名稱baoxiuleixingvarchar10報修類型baoxiutupianlongtext4294967295報修圖片baoxiuneironglongtext100報修內(nèi)容baoxiuzhuangtaivarchar20報修狀態(tài)baoxiuriqidate報修日期yonghumingvarchar20用戶名shoujivarchar11手機dizhivarchar50地址useridbigint用戶id(9)報修類型表baoxiuleixing“報修類型表baoxiuleixing”是用來存儲報修類型的信息。baoxiuleixing的結(jié)構(gòu)如表4.9所示。表4.9報修類型表字段名稱類型長度字段說明主鍵默認(rèn)值idbigint主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPbaoxiuleixingvarchar200報修類型第5章系統(tǒng)實現(xiàn)5.1登錄注冊若用戶為首次進??入系統(tǒng)??,在點??擊個??人中心??時會自??動跳轉(zhuǎn)??到用戶??登錄注??冊界面??,用戶??注冊需??要輸入??用戶賬??號、用??戶姓名??、密碼??、姓名??、年齡??、用戶??手機等??信息,??用戶注??冊界面??如圖5.1所??示;??用戶進??行登錄??操作時??,需要??輸入賬??號和密??碼,??然后單??擊“登??錄”按??鈕。如??果未輸??入用戶??名或密??碼,系??統(tǒng)將提??示輸入??用戶名??和密碼??。用戶??登錄界??面如圖5.2所示??;維修員注??冊界面??如圖5.3所示,??維修員??登錄界??面如圖5.4所示??;管理??員在登??錄后臺??管理系??統(tǒng)時,??輸入正??確的用??戶名和??密碼后??,頁面??會跳轉(zhuǎn)??到后臺??管理主??頁。當(dāng)??你輸入??一個用??戶名或??密碼不??正確,??提示框??會提示??用戶名或密??碼錯誤??。管理??員登錄界面如圖5.5所示。圖5.1用戶注冊界面圖5.2用戶登錄界面圖5.3維修員注冊界面圖5.4維修員登錄界面圖5.5管理員登錄界面實現(xiàn)該功能的部分關(guān)鍵代碼如下(用戶注冊登錄)。@IgnoreAuth @RequestMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",username)); if(user==null||!user.getMima().equals(password)){ returnR.error("賬號或密碼不正確"); }Stringtoken=tokenService.generateToken(user.getId(),username,"yonghu","用戶"); returnR.ok().put("token",token); } @IgnoreAuth@RequestMapping("/register")publicRregister(@RequestBodyYonghuEntityyonghu){ //ValidatorUtils.validateEntity(yonghu);YonghuEntityuser=yonghuService.selectOne(newEntityWrapper<YonghuEntity>().eq("yonghuzhanghao",yonghu.getYonghuzhanghao())); if(user!=null){returnR.error("注冊用戶已存在"); } LonguId=newDate().getTime(); yonghu.setId(uId);yonghuService.insert(yonghu);returnR.ok();}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));returnR.ok().put("data",page);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}5.2報修信息管理用戶登錄成功進入系統(tǒng)后,點擊“報修信息”按鈕,進入報修信息界面,輸入報修名稱可以進行查詢,也可以選擇報修種類查看,點擊報修信息可了解詳情。用戶報修信息界面如圖5.6所示。圖5.6用戶報修信息界面管理員登錄成功進入系統(tǒng)后,點擊“報修信息管理”按鈕,進入報修信息管理界面,輸入報修名稱可以對報修信息進行查詢,可對單個報修信息進行修改、刪除、派單等操作。報修信息管理界面如圖5.7所示。圖5.7報修信息管理界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/query")publicRquery(BaoxiuxinxiEntitybaoxiuxinxi){EntityWrapper<BaoxiuxinxiEntity>ew=newEntityWrapper<BaoxiuxinxiEntity>(); ew.allEq(MPUtil.allEQMapPre(baoxiuxinxi,"baoxiuxinxi")); BaoxiuxinxiViewbaoxiuxinxiView=baoxiuxinxiService.selectView(ew); returnR.ok("查詢報修信息成功").put("data",baoxiuxinxiView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyBaoxiuxinxiEntitybaoxiuxinxi,HttpServletRequestrequest){//ValidatorUtils.validateEntity(baoxiuxinxi);baoxiuxinxiService.updateById(baoxiuxinxi);returnR.ok();}@RequestMapping("/delete")PublicRdelete(@RequestBodyLong[]ids){baoxiuxinxiService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,BaoxiuxinxiEntitybaoxiuxinxi, HttpServletRequestrequest){ StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("yonghu")){ baoxiuxinxi.setYonghuming((String)request.getSession().getAttribute("username")); }EntityWrapper<BaoxiuxinxiEntity>ew=newEntityWrapper<BaoxiuxinxiEntity>(); PageUtilspage=baoxiuxinxiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,baoxiuxinxi),params),params));returnR.ok().put("data",page);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){BaoxiuxinxiEntitybaoxiuxinxi=baoxiuxinxiService.selectById(id);returnR.ok().put("data",baoxiuxinxi);}5.3維修進度管理用戶登錄成功進入系統(tǒng)后,點擊“維修進度”按鈕,進入維修進度界面,輸入報修單號可以進行查詢,點擊進入維修進度可了解詳情。用戶維修進度界面如圖5.8所示。圖5.8用戶維修進度界面維修員登錄成功進入系統(tǒng)后,點擊“維修進度管理”按鈕,進入維修進度管理界面,輸入維修進度、報修單號、報修名稱可對維修進度信息進行查詢,如圖5.9所示;并可以對單個維修進度進行修改等操作,如圖5.10所示。圖5.9維修進度管理界面圖5.10維修員修改維修進度界面管理員登錄成功進入系統(tǒng)后,點擊“維修進度管理”按鈕,進入維修進度管理界面,可以對維修進度進行查詢、修改、刪除、批量刪除等操作。維修進度管理界面如圖5.11所示。圖5.11維修進度管理界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/query")publicRquery(WeixiujinduEntityweixiujindu){EntityWrapper<WeixiujinduEntity>ew=newEntityWrapper<WeixiujinduEntity>(); ew.allEq(MPUtil.allEQMapPre(weixiujindu,"weixiujindu"));WeixiujinduViewweixiujinduView=weixiujinduService.selectView(ew); returnR.ok("查詢維修進度成功").put("data",weixiujinduView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyWeixiujinduEntityweixiujindu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(weixiujindu);weixiujinduService.updateById(weixiujindu);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){weixiujinduService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,WeixiujinduEntityweixiujindu,HttpServletRequestrequest){StringtableName=request.getSession().getAttribute("tableName").toString();if(tableName.equals("yonghu")){weixiujindu.setYonghuming((String)request.getSession().getAttribute("username"));}if(tableName.equals("weixiuyuan")){weixiujindu.setWeixiugonghao((String)request.getSession().getAttribute("username"));}EntityWrapper<WeixiujinduEntity>ew=newEntityWrapper<WeixiujinduEntity>();PageUtilspage=weixiujinduService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,weixiujindu),params),params));returnR.ok().put("data",page);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){WeixiujinduEntityweixiujindu=weixiujinduService.selectById(id);returnR.ok().put("data",weixiujindu);}5.4評價記錄管理維修員登錄成功進入系統(tǒng)后,點擊“評價記錄管理”按鈕,進入評價記錄管理界面,輸入報修單號、維修評分等信息就可以對評價記錄進行查詢等操作。維修員評價記錄界面如圖5.12所示。圖5.12維修員評價記錄界面管理員登錄成功進入系統(tǒng)后,點擊“評價記錄管理”按鈕,進入評價記錄管理界面,輸入報修名稱、維修評分等信息可以對評價記錄信息進行查詢,可對評價記錄進行修改、刪除、批量刪除等操作。評價記錄管理界面如圖5.13所示。圖5.13評價記錄管理界面用戶登錄成功進入系統(tǒng)后,在訂單完成后,可以對維修員進行評分以及評價。用戶評價界面如圖5.14所示。圖5.14用戶評價界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/query")publicRquery(PingjiajiluEntitypingjiajilu){EntityWrapper<PingjiajiluEntity>ew=newEntityWrapper<PingjiajiluEntity>(); ew.allEq(MPUtil.allEQMapPre(pingjiajilu,"pingjiajilu")); PingjiajiluViewpingjiajiluView=pingjiajiluService.selectView(ew); returnR.ok("查詢評價記錄成功").put("data",pingjiajiluView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyPingjiajiluEntitypingjiajilu,HttpServletRequestrequest){//ValidatorUtils.validateEntity(pingjiajilu);pingjiajiluService.updateById(pingjiajilu);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){pingjiajiluService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,PingjiajiluEntitypingjiajilu, HttpServletRequestrequest){ StringtableName=request.getSession().getAttribute("tableName").toString(); if(tableName.equals("weixiuyuan")){ pingjiajilu.setWeixiugonghao((String)request.getSession().getAttribute("username")); } if(tableName.equals("yonghu")){ pingjiajilu.setYonghuming((String)request.getSession().getAttribute("username")); }EntityWrapper<PingjiajiluEntity>ew=newEntityWrapper<PingjiajiluEntity>(); PageUtilspage=pingjiajiluService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,pingjiajilu),params),params));returnR.ok().put("data",page);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){PingjiajiluEntitypingjiajilu=pingjiajiluService.selectById(id);returnR.ok().put("data",pingjiajilu);}5.5報修類型管理管理員登錄成功進入系統(tǒng)后,點擊“報修類型管理”按鈕,進入報修類型管理界面,如圖5.15所示,輸入報修類型等信息可以對報修類型進行詳細查看、修改、刪除、批量刪除等操作。圖5.15報修類型管理界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/query")publicRquery(BaoxiuleixingEntitybaoxiuleixing){EntityWrapper<BaoxiuleixingEntity>ew=newEntityWrapper<BaoxiuleixingEntity>();ew.allEq(MPUtil.allEQMapPre(baoxiuleixing,"baoxiuleixing"));BaoxiuleixingViewbaoxiuleixingView=baoxiuleixingService.selectView(ew); returnR.ok("查詢報修類型成功").put("data",baoxiuleixingView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyBaoxiuleixingEntitybaoxiuleixing,HttpServletRequestrequest){//ValidatorUtils.validateEntity(baoxiuleixing);baoxiuleixingService.updateById(baoxiuleixing);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){baoxiuleixingService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@RequestMapping("/lists")publicRlist(BaoxiuleixingEntitybaoxiuleixing){ EntityWrapper<BaoxiuleixingEntity>ew=newEntityWrapper<BaoxiuleixingEntity>(); ew.allEq(MPUtil.allEQMapPre(baoxiuleixing,"baoxiuleixing"));returnR.ok().put("data",baoxiuleixingService.selectListView(ew));}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){BaoxiuleixingEntitybaoxiuleixing=baoxiuleixingService.selectById(id);returnR.ok().put("data",baoxiuleixing);}5.6用戶管理管理員登錄成功進入系統(tǒng)后,點擊“用戶管理”按鈕,進入用戶管理界面,如圖5.16所示,輸入用戶名、電話等信息可以對用戶信息進行詳細查看、修改、刪除、批量刪除等操作。圖5.16用戶管理界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));returnR.ok().put("data",page);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){YonghuEntityyonghu=yonghuService.selectById(id);returnR.ok().put("data",yonghu);}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));returnR.ok().put("data",page);}5.7維修員管理管理員登錄成功進入系統(tǒng)后,點擊“維修員管理”按鈕,進入維修員管理界面,如圖5.17所示,輸入維修員工號等信息可以對對維修員信息進行詳細查看、修改、刪除、批量刪除等操作。圖5.17維修員管理界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,WeixiuyuanEntityweixiuyuan,HttpServletRequestrequest){EntityWrapper<WeixiuyuanEntity>ew=newEntityWrapper<WeixiuyuanEntity>(); PageUtilspage=weixiuyuanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,weixiuyuan),params),params));returnR.ok().put("data",page); }@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){WeixiuyuanEntityweixiuyuan=weixiuyuanService.selectById(id);returnR.ok().put("data",weixiuyuan);}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,WeixiuyuanEntityweixiuyuan, HttpServletRequestrequest){EntityWrapper<WeixiuyuanEntity>ew=newEntityWrapper<WeixiuyuanEntity>(); PageUtilspage=weixiuyuanService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,weixiuyuan),params),params));returnR.ok().put("data",page);}5.8公告信息管理用戶登錄成功進入系統(tǒng)后,點擊“首頁”按鈕,進入公告信息界面,如圖5.18所示??梢詫嫘畔⑦M行詳細查看、評論等操作。圖5.18公告信息界面管理員登錄成功進入系統(tǒng)后,點擊“系統(tǒng)管理”按鈕,進入公告信息管理界面,如圖5.19所示。輸入標(biāo)題進行查詢,并對公告信息進行新增、詳細查看、修改、刪除、批量刪除等操作。圖5.19公告信息管理界面實現(xiàn)該功能的關(guān)鍵代碼如下。@RequestMapping("/query")publicRquery(NewsEntitynews){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); ew.allEq(MPUtil.allEQMapPre(news,"news")); NewsViewnewsView=newsService.selectView(ew); returnR.ok("查詢公告信息成功").put("data",newsView);}@RequestMapping("/update")@TransactionalpublicRupdate(@RequestBodyNewsEntitynews,HttpServletRequestrequest){//ValidatorUtils.validateEntity(news);newsService.updateById(news);returnR.ok();}@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){newsService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,NewsEntitynews, HttpServletRequestrequest){EntityWrapper<NewsEntity>ew=newEntityWrapper<NewsEntity>(); PageUtilspage=newsService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,news),params),params));returnR.ok().put("data",page);}@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid){NewsEntitynews=newsService.selectById(id);returnR.ok().put("data",news);}

第6章系統(tǒng)測試6.1測試方法每一個功能模塊和前端運行界面設(shè)計后,系統(tǒng)在正式使用前都需要一系列功能和性能測試,順序保證系統(tǒng)運行可靠穩(wěn)定,便于正式使用前對系統(tǒng)進行校正和改進。因此,本次系統(tǒng)測試采用黑盒測試進行。6.2功能測試6.2.1用戶登錄先點擊注冊用戶,輸入信息,賬戶:liming123,密碼:liming2000,姓名:李明,性別選擇男,手機號點擊注冊,顯示注冊成功,如圖6.1所示,若輸入錯誤格式的手機號則會提示“手機應(yīng)輸入手機格式”,如圖6.2所示。圖6.1注冊成功圖圖6.2注冊失敗圖使用賬號名為“l(fā)iming123”進行登錄,密碼:liming2000,則登錄成功。若使用錯誤密碼登錄,則登錄失敗,顯示“賬號或密碼不正確”,如圖6.3所示。圖6.3登錄失敗圖6.2.2公告信息管理管理員可以在公告信息管理界面如圖6.4所示,點擊“新增”按鈕,可以添加新的公告,其界面如圖6.5所示。用戶可以在公告信息界面中查詢管理員發(fā)布的公告信息,如圖6.6所示,并對內(nèi)容進行查看,如圖6.7所示。圖6.4管理員公告信息管理界面圖圖6.5管理員添加公告信息圖圖6.6用戶搜索公告圖圖6.7用戶查看公告信息圖6.2.3報修類型管理管理員可以在報修類型管理界面如圖6.8所示,點擊“新增”按鈕,然后在報修類型中添加“水管”,如圖6.9所示,“水管”將出現(xiàn)在報修類型管理界面和用戶報修類型界面中,如圖6.10所示。圖6.8管理員添加報修類型圖圖6.9報修類型管理界面圖圖6.10用戶報修類型界面圖6.2.4報修信息管理用戶在報修信息界面添加需要報修的物品,輸入信息,報修名稱:路由器,報修類型選擇路由器,添加圖片,選擇報修日期,填寫地址:人民路255號,添加內(nèi)容:路由器損壞。再點擊提交,如圖6.11所示。提交成功后,管理員可以在報修信息管理界面看到這個報修信息,圖6.12所示。圖6.11用戶提交報修信息圖圖6.12報修信息管理界面圖6.2.5用戶管理在用戶管理界面中,管理員可以對用戶信息進行管理。例如管理員進行了新增用戶的操作,如圖6.13所示,用戶端可以登錄并與用戶管理中的信息一致,如圖6.14所示。圖6.13管理員添加用戶圖圖6.14用戶端信息圖管理員對用戶進行刪除操作,如圖6.15所示,則使用原先的用戶名和密碼進行登錄將提示“賬號或密碼不正確”,如圖6.16所示圖6.15管理員刪除用戶圖圖6.16刪除用戶后登錄失敗圖6.2.6維修員管理在維修員管理界面上,管理員可以對維修員信息進行管理。例如管理員通過輸入信息進行新增維修員的操作,如圖6.17所示。添加之后,新增的維修員可以登錄并與管理員后臺信息一致,如圖6.18所示。圖6.17管理員后臺添加維修員圖圖6.18維修員個人信息圖管理員對維修員進行刪除操作,如圖6.21所示,則使用原先的維修工號和密碼進行登錄將提示“賬號或密碼不正確”,如圖6.22所示。圖6.19管理員刪除維修員圖圖6.20維修員登錄失敗圖6.2.7維修進度管理管理員可以將用戶提交的報修信息派單給維修人員,如圖6.21、圖6.22所示。圖6.21管理員派單圖圖6.22維修人員收到派單圖當(dāng)用戶提交報修信息后,用戶可以在維修進度界面上查詢他們的維修進度,如圖6.23所示,而管理員可以在維修進度管理界面上查看所有訂單的進度情況,如圖6.24所示。圖6.23維修進度管理界面圖圖6.24用戶查看維修進度圖6.2.8評價記錄管理在訂單完成后,用戶可以對該訂單進行評價,并對維修人員進行評分,如圖6.25所示。管理員可以在評價記錄管理界面上查看用戶的評價,并將反饋傳達給相應(yīng)的維修人員。如圖6.26、圖6.27所示。圖6.25用戶評價圖圖6.26管理員回復(fù)評價圖圖6.27維修人員收到反饋圖6.3測試結(jié)論經(jīng)過對基于微信小程序的上門維修系統(tǒng)的多個測試用例進行全面測試,我們發(fā)現(xiàn)系統(tǒng)在測試過程中能夠很好的呈現(xiàn)正確的數(shù)據(jù)給用戶。從系統(tǒng)的功能和使用上來看,基本上都能夠達到我們當(dāng)初預(yù)期的結(jié)果。結(jié)論在這個設(shè)計中,我實現(xiàn)了一款基于微信小程序的上門維修系統(tǒng)。首先,我介紹了該系統(tǒng)的實際意義和現(xiàn)狀,并介紹了開發(fā)中所使用的相關(guān)技術(shù)和基本原理。隨后,我分析了開發(fā)該系統(tǒng)的可行性并對系統(tǒng)需求進行了分析。接著,我設(shè)計了系統(tǒng)的總體框架和確定了數(shù)據(jù)存儲管理系統(tǒng)為MySQL數(shù)據(jù)庫。在編碼實現(xiàn)階段,使用IDEA開發(fā)工具完成了系統(tǒng)的實現(xiàn)。我對整個實現(xiàn)過程做了詳細說明,也分別對用戶、管理員和維修員的功能界面做出了展示。最后,我對系統(tǒng)的每個功能模塊進行了測試,測試結(jié)果基本能達到預(yù)期結(jié)果。系統(tǒng)的問題和未來工作方向:1、從實際應(yīng)用角度來看,系統(tǒng)的功能和業(yè)務(wù)還可以進一步完善;2、雖然通過

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論