版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
本章將會簡單介紹本醫(yī)聯(lián)體系統(tǒng)的前期調(diào)查工作,了解此系統(tǒng)開發(fā)的意義,并研究了近幾年國內(nèi)外的發(fā)展,為后期的開發(fā)打下基礎(chǔ)。我國的醫(yī)療資源仍然緊缺,常常患者排隊都需要兩三小時的時間,給患者的生活帶來影響。黨的“二十大”報告明確提出要“促進(jìn)優(yōu)質(zhì)醫(yī)療資源擴(kuò)容和區(qū)域均衡布局”[1]。醫(yī)聯(lián)體是將藥物,預(yù)約掛號、預(yù)約體檢等方便的服務(wù)放到小程序上,方便當(dāng)?shù)鼐用竦慕】敌枨?。醫(yī)聯(lián)體的出現(xiàn)可緩解社會現(xiàn)實(shí)問題,提供當(dāng)?shù)鼐用窨床⌒?,均化醫(yī)療資源。輕量化、便捷化、智能化[2],是微信小程序的特點(diǎn),可以為醫(yī)聯(lián)體系統(tǒng)提供更好的信息化支撐。因此本課題將借助互聯(lián)網(wǎng)的優(yōu)勢,結(jié)合醫(yī)療服務(wù)的特點(diǎn),設(shè)計與實(shí)現(xiàn)醫(yī)聯(lián)體小程序,為當(dāng)?shù)鼐用裉峁┚€上掛號、線上預(yù)約、線上購藥等功能,緩解當(dāng)?shù)匕傩铡翱床‰y、看病貴”的社會現(xiàn)實(shí)問題[3],同時優(yōu)化當(dāng)?shù)蒯t(yī)療資源分配,讓居民都能享受到優(yōu)秀的醫(yī)療服務(wù)。從2017年開始,國家衛(wèi)生計生委就開始了醫(yī)聯(lián)體的建設(shè)。2018年,國家出臺了118家醫(yī)聯(lián)體試點(diǎn),2019年,國家衛(wèi)健委又下發(fā)了醫(yī)聯(lián)體試點(diǎn)通知,即通過橫向和縱向的資源整合,提高醫(yī)療資源的使用效率。因國情差異和改革方向的獨(dú)特性,各國采取了不同的整合模式,取得顯著成效的典型模式主要有:美國凱撒醫(yī)療集團(tuán)模式、英國國家醫(yī)療服務(wù)模式、德國公共合同型服務(wù)模式、新加坡醫(yī)療集團(tuán)模式和日本分工合作服務(wù)模式[4]??傮w而言,在醫(yī)聯(lián)體服務(wù)模式和技術(shù)研究上,我國都取得了一定的成就。然而,隨著就診需求的日益增加,仍需要更多深入的研究,以應(yīng)對醫(yī)療資源配置區(qū)域失衡的問題。本研究旨在優(yōu)化醫(yī)療資源分配,給當(dāng)?shù)鼐用窠邮茚t(yī)療服務(wù)帶來便捷,對附近醫(yī)聯(lián)機(jī)構(gòu)的服務(wù)一目了然,結(jié)合了醫(yī)療機(jī)構(gòu)與患者的需求,提供線上預(yù)約等便捷功能。通過設(shè)計和實(shí)現(xiàn)一款基于JAVA的SpringBoot框架和mybatis持久層框架的醫(yī)聯(lián)體小程序,以提升患者享受醫(yī)療資源的便捷程度。主要工作涵蓋了多個方面。本文將側(cè)重于小程序的前臺和后臺設(shè)計。在前臺用戶端,我們將實(shí)現(xiàn)用戶登錄、體檢預(yù)約、線上購藥、服務(wù)預(yù)約等一系列功能,以滿足當(dāng)?shù)鼐用竦男枨?。在后臺管理員端,我們將實(shí)現(xiàn)首頁設(shè)置、用戶信息和商品信息管理、商品大類信息、商品狀態(tài)、修改商品等功能,以便管理員更高效地處理和維護(hù)系統(tǒng)數(shù)據(jù)。本文的結(jié)構(gòu)分為八個章節(jié):第1章講了本人選擇這個課題的原因,實(shí)習(xí)期間的工作環(huán)境給我啟發(fā)很大,并回顧國內(nèi)外研究現(xiàn)狀。本章后半部分是這個課題研究的一些內(nèi)容和章節(jié)的安排。第2章介紹開發(fā)工具,這一章節(jié)對開發(fā)醫(yī)聯(lián)體系統(tǒng)所用到的開發(fā)框架、編程語言和開發(fā)過程中的使用工具進(jìn)行了介紹。第3章進(jìn)行需求分析,通過可行性分析和非性能分析,對此系統(tǒng)的開發(fā)進(jìn)行估算,用例規(guī)約、活動圖等對醫(yī)聯(lián)體系統(tǒng)功能進(jìn)行了需求確認(rèn)。第4章描述系統(tǒng)總體設(shè)計。醫(yī)聯(lián)體系統(tǒng)屬于前后端分離,對前端UI、數(shù)據(jù)層、緩存層等整體架構(gòu)進(jìn)行總體分析。通過系統(tǒng)整體架構(gòu)、功能框架、程序流程和數(shù)據(jù)庫設(shè)計來體現(xiàn)。第5章描述系統(tǒng)詳細(xì)設(shè)計。這一章節(jié)使用UML圖分析了醫(yī)聯(lián)體系統(tǒng)的功能模塊和數(shù)據(jù)庫設(shè)計。第6章系統(tǒng)實(shí)現(xiàn)。這一章節(jié)對醫(yī)聯(lián)體系統(tǒng)的部分主要界面以及部分核心代碼進(jìn)行了展示,并分析了實(shí)現(xiàn)的過程。第7章系統(tǒng)測試。這一章節(jié)對醫(yī)聯(lián)體系統(tǒng)的測試目的、方法、功能測試和壓力測試進(jìn)行了介紹。第8章總結(jié)與展望。對本課題所有的成果進(jìn)行了回顧,并對今后的研究進(jìn)行了展望。本章詳細(xì)介紹了系統(tǒng)開發(fā)所采用的關(guān)鍵工具和技術(shù)。前端開發(fā)方面,利用微信開發(fā)者工具實(shí)現(xiàn)了直觀的頁面交互和良好的用戶體驗(yàn)。后端開發(fā)選擇了IntelliJIDEA,充分利用其智能編輯和版本控制功能,提高了代碼質(zhì)量和工作效率。數(shù)據(jù)庫的設(shè)計和維護(hù)采用了Navicat,為系統(tǒng)提供了直觀、高效的解決方案。系統(tǒng)的后端開發(fā)框架選擇了SpringBoot,簡化了開發(fā)流程,同時保障了系統(tǒng)的穩(wěn)定性和可拓展性。微信小程序作為服務(wù)載體,具有便捷、高效、普及等特點(diǎn),可以為醫(yī)聯(lián)體提供更好的信息化支撐。本節(jié)主要介紹系統(tǒng)所使用到的開發(fā)工具。微信開發(fā)者工具微信開發(fā)者工具是一個整合的開發(fā)環(huán)境,它的目的是使微信的開發(fā),調(diào)試,發(fā)布過程變得簡單。該系統(tǒng)的前端是在微信開發(fā)工具的基礎(chǔ)上開發(fā)的,充分利用其豐富的功能和便捷的操作方式。微信小程序由類似于HTML的語言WXML用于編寫頁面的顯示結(jié)構(gòu)[5],由類似于CSS的語言WXS用于描述顯示的style,以及使用JavaScript控制頁面邏輯[6],JavaScript是一個跨平臺的面向?qū)ο蟮哪_本語言[7]。微信開發(fā)者工具提供了實(shí)時的代碼編輯和預(yù)覽功能,使開發(fā)人員能夠直觀地查看小程序在不同設(shè)備上的效果。在本系統(tǒng)中,這一特性為設(shè)計和優(yōu)化頁面交互提供了便利,確保用戶在前臺端獲得良好的使用體驗(yàn)。同時,微信開發(fā)者工具支持實(shí)時修改代碼并保存,使開發(fā)者能夠高效地進(jìn)行調(diào)試和改進(jìn)。2.1.2Idea開發(fā)工具IntelliJIDEA是一個功能強(qiáng)大的集成開發(fā)環(huán)境(IDE),由JetBrains公司發(fā)布。在此基礎(chǔ)上,選用了IntelliJIDEA作為本系統(tǒng)的開發(fā)工具。該IDE提供了智能的代碼編輯功能,例如,代碼填充、智能重構(gòu)等,使系統(tǒng)的開發(fā)效率得到了明顯的提升。IntelliJIDEA具有像Git這樣的強(qiáng)大版本管理工具,支持團(tuán)隊協(xié)作,方便版本管理和代碼合并,確保了代碼的一致性。綜上所述,IntelliJIDEA作為后端開發(fā)工具,為開發(fā)人員提供了高效、智能的開發(fā)環(huán)境,有助于確保系統(tǒng)的穩(wěn)定性和可維護(hù)性。2.1.3Navicat數(shù)據(jù)庫管理工具NavicateforMySQL是我認(rèn)為非常好用的可視化MySQL工具之一。該工具不但可以利用SQL語句的命令來管理數(shù)據(jù)庫,軟件的界面也非常簡潔,使用起來很舒適不容易看錯命令和數(shù)據(jù)。同時用戶可以非常方便地選擇多種格式導(dǎo)入導(dǎo)出數(shù)據(jù),例如JSON文件、HTML文件、ODBC、CSV、Excel文件、DBase文件等[8]。本節(jié)主要介紹本醫(yī)聯(lián)體小程序平臺開發(fā)過程中所使用的部分主要技術(shù)。2.2.1SpringBoot框架SpringBoot是一個以Spring框架為基礎(chǔ),旨在簡化并加快Java應(yīng)用的建設(shè)速度的開發(fā)框架。在后端開發(fā)中,我們選用SpringBoot作為主體框架。SpringBoot提供了現(xiàn)成可用的功能和慣例大于配置的設(shè)計概念,Java應(yīng)用的開發(fā)流程效率得到了提升。自動配置和快速集成讓開發(fā)者更專注于業(yè)務(wù)邏輯的實(shí)現(xiàn),提高了開發(fā)效率。接口層的作用是連接前端,它通過刪除、發(fā)送、接受等方式發(fā)送請求。服務(wù)層是對后端進(jìn)行邏輯處理的。數(shù)據(jù)庫層是直接與MySQL連接的[9]。工具層是裝有對一些邏輯處理的工具,例如返回的參數(shù)類、JWT工具類、Redis方法調(diào)用類等[10]。綜上所述,SpringBoot作為本系統(tǒng)的后端開發(fā)框架,提供了簡單、快速的開發(fā)體驗(yàn),滿足了系統(tǒng)對可靠性和擴(kuò)展性的需求。2.2.2微信小程序微信小程序是一種輕量級的應(yīng)用程序,用戶無需下載安裝即可在微信內(nèi)直接使用。本系統(tǒng)以微信小程序?yàn)檩d體,為社區(qū)養(yǎng)老服務(wù)提供了便捷的入口。微信小程序具有快速啟動和輕便的特點(diǎn),用戶無需離開微信平臺即可享受系統(tǒng)提供的便捷醫(yī)療服務(wù)。在醫(yī)聯(lián)體小程序中,當(dāng)?shù)鼐用窨梢苑奖愕剡M(jìn)行體檢預(yù)約、線上購藥、自我檢查等操作,緩解看病難等社會問題。2.2.3MySQL數(shù)據(jù)庫MySQL作為本系統(tǒng)的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),以其開源、高性能和穩(wěn)定性而備受推崇。其出色的擴(kuò)展性能夠使它容易地滿足大型數(shù)據(jù)存儲。目Redis應(yīng)用的場景非常多,例如:數(shù)據(jù)過期處理、網(wǎng)站訪問統(tǒng)計、任務(wù)隊列、緩存、分布式集群架構(gòu)中的會話分離等[9]。2.2.4:Vue.js+ElementPlusVue.js是目前很受歡迎的一個前端框架,前端頁面的渲染通過ElementPlus進(jìn)行也是十分方便。Vue.js的特點(diǎn)包括輕量級、漸進(jìn)式框架、使用虛擬DOM。同時Vue.js包含著多套技術(shù)棧,而本次項(xiàng)目中主要使用了npm、vue-cli。ElementPlus在ElementUI基礎(chǔ)上更加了更多的組件和自定義功能,可將組件全局引入或按需引入[11]。本章介紹了系統(tǒng)開發(fā)所采用的主要工具和技術(shù)。Navicat是一種簡單而有效的數(shù)據(jù)庫管理工具,為醫(yī)聯(lián)體系統(tǒng)的數(shù)據(jù)庫編寫和修改提供了直觀且高效的解決方法。在醫(yī)聯(lián)體后臺管理系統(tǒng)上,系統(tǒng)選擇了SpringBoot作為主要開發(fā)語言,通過其簡化的開發(fā)流程和強(qiáng)大的擴(kuò)展性確保了系統(tǒng)的穩(wěn)定性和可拓展性。通過Vue.js+ElementPlus,實(shí)現(xiàn)后臺管理系統(tǒng)的界面設(shè)計。微信小程序作為系統(tǒng)的載體,通過其輕便、便捷的特性為用戶提供了直觀、友好的醫(yī)聯(lián)體服務(wù)入口。MySQL作為數(shù)據(jù)庫后端,以其高性能和可擴(kuò)展性為系統(tǒng)提供了穩(wěn)定、高效的數(shù)據(jù)存儲支持。本章主要對醫(yī)聯(lián)體系統(tǒng)進(jìn)行需求分析。通過可行性、用例分析、活動圖來逐一解剖每個功能的需求和特性,為后面的開發(fā)打好基礎(chǔ)。3.1.1經(jīng)濟(jì)可行性分析本系統(tǒng)的經(jīng)濟(jì)可行性主要體現(xiàn)在成本控制和預(yù)期收益之間的平衡。項(xiàng)目的開發(fā)成本主要包括個人工作時間、云服務(wù)費(fèi)用、軟件許可等。這些成本相對較低,且項(xiàng)目的長期效益顯著。通過對資金的有效分配,確保了項(xiàng)目在有限的投入下能夠獲得長期回報。預(yù)期的效益主要來自醫(yī)聯(lián)體帶來的醫(yī)療服務(wù)質(zhì)量的提升,為當(dāng)?shù)鼐用裉峁└憬莸姆?wù),促進(jìn)醫(yī)療事業(yè)的現(xiàn)代化,這些將為項(xiàng)目帶來可觀的社會效益。3.1.2技術(shù)可行性分析技術(shù)可行性關(guān)注項(xiàng)目是否能夠在實(shí)際開發(fā)中達(dá)到預(yù)期目標(biāo)。采用微信開發(fā)者工具、IntelliJIDEA、Navicat等成熟工具,以及SpringBoot、vue3和MySQL等先進(jìn)技術(shù)進(jìn)行開發(fā),保障了項(xiàng)目在技術(shù)上的可行性。這些技術(shù)的應(yīng)用既保證了系統(tǒng)的高效性和可維護(hù)性,又降低了技術(shù)實(shí)現(xiàn)的風(fēng)險。項(xiàng)目的技術(shù)選型符合行業(yè)標(biāo)準(zhǔn),使其具備了應(yīng)對未來需求變化的能力。3.1.3操作可行性分析操作可行性關(guān)注項(xiàng)目在實(shí)際應(yīng)用中的易用性和用戶接受度。系統(tǒng)采用微信小程序作為用戶接入端,考慮到微信的普及程度和用戶友好性,極大提高了操作的可行性。界面設(shè)計簡潔直觀,經(jīng)過實(shí)地調(diào)查和用戶需求分析,保證了系統(tǒng)操作的用戶友好性。系統(tǒng)管理員通過后臺管理工具可以輕松實(shí)現(xiàn)對各項(xiàng)功能的維護(hù)和信息查看,確保系統(tǒng)運(yùn)營平穩(wěn)。這些操作層面的可行性分析確保了項(xiàng)目在實(shí)際運(yùn)行中具備較高的可操作性和用戶滿意度。需求分析是項(xiàng)目開發(fā)的關(guān)鍵步驟,目的是為了更好地把握用戶的需要,對系統(tǒng)的設(shè)計起到一定的指導(dǎo)作用。醫(yī)聯(lián)體系統(tǒng)的需求分析,從兩個角度來進(jìn)行,一個是購買服務(wù),一個是后臺管理服務(wù)。對于用戶購買來說,系統(tǒng)要求提供登錄、體檢預(yù)約、線上購藥、醫(yī)院掛號、訂單信息查看等功能,以滿足當(dāng)?shù)鼐用竦尼t(yī)療服務(wù)需求。為提高用戶體驗(yàn),需求分析還涉及界面友好性和操作簡便性。對于后臺管理,系統(tǒng)要求提供首頁輪播圖設(shè)置、商品大類和商品信息管理、訂單狀態(tài)修改、用戶管理等功能,以便管理員能夠高效地維護(hù)系統(tǒng)運(yùn)行。綜合而言,需求分析從用戶和管理員角度出發(fā),全面細(xì)致地明確了醫(yī)聯(lián)體小程序的功能和特性,為后續(xù)的設(shè)計和開發(fā)提供了明確的指導(dǎo)。本節(jié)主要介紹系統(tǒng)各類用戶的權(quán)限以及重要功能。3.3.1管理員用例分析管理員用例主要展示了管理員在醫(yī)聯(lián)體后臺管理系統(tǒng)中的一些操作。以下是對管理員在醫(yī)聯(lián)體后臺管理系統(tǒng)中的一些用例的描述:登錄:管理員輸入正確的賬號密碼登入醫(yī)聯(lián)體首頁,輸入有效的身份驗(yàn)證信息,以確保系統(tǒng)安全。商品大類管理:管理員可在醫(yī)聯(lián)體后臺管理系統(tǒng)新增商品大類,并對商品大類的信息和圖片進(jìn)行修改和刪除。商品小類管理:管理員可在醫(yī)聯(lián)體后臺管理系統(tǒng)新增商品小類,并對商品小類進(jìn)行修改和刪除。商品信息管理:管理員可添加商品,并對商品的庫存、圖片、輪播圖、是否熱賣等進(jìn)行修改和刪除商品。訂單信息管理:可查看使用者的訂單信息,給訂單發(fā)貨、退貨等修改訂單狀態(tài)。用戶信息管理:可查看所有登錄過微信小程序用戶的昵稱、最后登錄時間和注冊時間。修改密碼:管理員可對管理員賬號的密碼進(jìn)行修改。這些用例就是管理員在醫(yī)聯(lián)體系統(tǒng)中的主要操作和功能,涵蓋了管理層面的各項(xiàng)功能,使管理員能夠高效地管理醫(yī)聯(lián)體系統(tǒng)。如下圖3-1所示。3.3.2普通用戶用例分析普通用戶用例圖主要呈現(xiàn)了用戶在醫(yī)聯(lián)體小程序中的各項(xiàng)操作和功能。以下是對用戶用例圖中主要用例的描述:授權(quán):用戶進(jìn)入小程序,輸入有效的身份驗(yàn)證信息,確保訪問權(quán)限和系統(tǒng)安全。個人中心:授權(quán)后用戶可以在小程序進(jìn)入右下角的界面,查看和管理個人信息,包括訂單信息和收貨地址等。商品信息:用戶在醫(yī)聯(lián)體小程序能夠查看商品的基本信息,包括商品介紹圖、庫存、輪播圖、是否熱賣等。訂單信息:用戶可以在“我的”界面查看訂單信息,了解訂單包括的物品和當(dāng)前的狀態(tài)。添加醫(yī)療服務(wù):使用者可以將需要的藥品、掛號或者預(yù)約服務(wù)放入購物車。下單支付:使用者可以在購物車界面支付訂單或在商品界面點(diǎn)擊立即下單。這些用例繪制了普通用戶在醫(yī)聯(lián)體小程序中的功能,如下圖3-1:圖STYLEREF1\s3-1管理員與普通用戶用例析取圖本小節(jié)將對用戶授權(quán)、提交訂單、付款等情況通過用例規(guī)約和活動圖進(jìn)行分析,對執(zhí)行某項(xiàng)行動時所遇到的特定情況設(shè)定限制。3.4.1用戶授權(quán)用例規(guī)約及活動圖通過用例規(guī)約表(如表3-1)對小程序用戶授權(quán)用例進(jìn)行了規(guī)范,結(jié)合活動圖(如圖3-2)對系統(tǒng)里的使用者功能流程進(jìn)行規(guī)劃和限制。表3-1用戶授權(quán)用例規(guī)約表用例名稱用戶授權(quán)參與者小程序使用者續(xù)上表3-1用例描述用戶進(jìn)入小程序,選擇是否授權(quán)前置條件用戶的微信處于登錄的狀態(tài)后置條件用戶選擇是按鈕,授權(quán)基本事件流用戶通過入口進(jìn)入本小程序在右下角點(diǎn)擊“我的”,會彈出授權(quán)小窗口使用者點(diǎn)擊“是”按鈕,授權(quán)給本醫(yī)聯(lián)體小程序;若選擇否按鈕,則退出授權(quán)。備選事件流如果用戶沒有給醫(yī)聯(lián)體小程序授權(quán),則無法選擇收貨地和支付商品,提醒用戶需授權(quán)登錄若用戶的信息授權(quán)成功,則可以正常使用醫(yī)聯(lián)體所有功能3.4.2用戶提交訂單、付款用例規(guī)約及活動圖通過用例規(guī)約表(如表3-2)對用戶提交訂單用例進(jìn)行了規(guī)范,結(jié)合活動圖(如圖3-3)對系統(tǒng)里的提交訂單和付款功能流程進(jìn)行規(guī)劃和限制。表3-2用戶提交訂單、付款用例規(guī)約表用例名稱醫(yī)聯(lián)體系統(tǒng)用戶提交訂單、付款用例參與者普通用戶用例描述用戶選擇商品,下單,確認(rèn)并提交訂單,成功支付,等待發(fā)貨前置條件用戶已登錄,購物車不為空后置條件無基本事件流用戶進(jìn)入購物車點(diǎn)擊提交訂單續(xù)上表3-2填寫收獲地址、收貨人、電話等確認(rèn)訂單,付款成功備選事件流已成功付款,更新用戶訂單列表支付失敗,返回待支付頁,提示支付失敗圖STYLEREF1\s3-2用戶授權(quán)活動圖圖STYLEREF1\s3-3用戶提交訂單、付款活動圖3.4.3管理員添加商品信息用例規(guī)約及活動圖表STYLEREF1\s3-4管理員添加商品信息用例規(guī)約用例名稱系統(tǒng)管理員添加商品用例規(guī)約參與者系統(tǒng)管理員用例描述系統(tǒng)管理員添加商品前置條件已成功登錄后置條件無續(xù)上表3-4基本事件流點(diǎn)擊添加商品輸入商品信息點(diǎn)擊確定,跳轉(zhuǎn)到商品列表界面?zhèn)溥x事件流無圖STYLEREF1\s3-4管理員添加商品活動圖非功能需求在系統(tǒng)設(shè)計中是同樣重要的一部分,它包括了系統(tǒng)的可靠性、安全性、可維護(hù)性等方面的要求。對于醫(yī)聯(lián)體小程序而言,以下是一些關(guān)鍵的非功能需求:系統(tǒng)應(yīng)具備高度的可用性和可靠性,以確保用戶在任何時候都能方便地訪問系統(tǒng)服務(wù)。系統(tǒng)應(yīng)能夠持續(xù)穩(wěn)定運(yùn)行,降低因系統(tǒng)故障導(dǎo)致服務(wù)中斷的可能性。其次,安全性是醫(yī)聯(lián)體小程序不可忽視的非功能需求。系統(tǒng)應(yīng)采用合適的身份驗(yàn)證和數(shù)據(jù)加密機(jī)制,確保用戶信息和交互數(shù)據(jù)的安全性,防范潛在的網(wǎng)絡(luò)攻擊和數(shù)據(jù)泄露風(fēng)險??删S護(hù)性也是一個關(guān)鍵的非功能需求。系統(tǒng)應(yīng)設(shè)計成易于維護(hù)和升級,方便后續(xù)功能的添加和系統(tǒng)的擴(kuò)展。這包括清晰的代碼結(jié)構(gòu)、充分的文檔和容易理解的系統(tǒng)架構(gòu)。綜合考慮這些非功能需求,醫(yī)聯(lián)體小程序能夠更好地保障用戶的使用體驗(yàn)、信息安全,并為系統(tǒng)的可持續(xù)發(fā)展提供基礎(chǔ)支持。本章主要進(jìn)行了需求分析,其中通過可行性、用例分析、活動圖來逐一解剖每個功能的需求和特性,為后面的開發(fā)打好基礎(chǔ)。為了醫(yī)聯(lián)體小程序能夠更好地保障用戶的使用體驗(yàn)、信息安全,并為系統(tǒng)的可持續(xù)發(fā)展提供基礎(chǔ)支持。本章主要介紹了系統(tǒng)的總體設(shè)計,從整體的角度出發(fā),結(jié)合架構(gòu)圖、功能架構(gòu)圖和流程圖,設(shè)計本系統(tǒng)。本醫(yī)聯(lián)體系統(tǒng)的整體架構(gòu)設(shè)計圖如圖4-1所示。根據(jù)用戶的不同,該系統(tǒng)可以被分成兩個層次,一個是一般用戶,另一個是管理員。該醫(yī)聯(lián)體系統(tǒng)采取了目前比較流行的前端和后端相分離的開發(fā)方式。從整體來看,微信小程序的前端是一個可視層,前、后端的交互是一個控制器,后端是一個數(shù)據(jù)模型。無論從前端和后端的單個視角,還是從全局的視角來看,整個系統(tǒng)都是相對獨(dú)立的,這樣既可以增強(qiáng)系統(tǒng)的可維護(hù)性,又可以增強(qiáng)代碼的重用與擴(kuò)充能力。在前端應(yīng)用了vue3、ElementPlus等技術(shù),vue3簡潔靈活,可以提高前端頁面的開發(fā)效率。在后端應(yīng)用了MVC的開發(fā)模式,并使用了目前比較流行開發(fā)語言java。本課題數(shù)據(jù)庫采用MySQL,提高本醫(yī)聯(lián)體系統(tǒng)的運(yùn)行效率。圖4-1系統(tǒng)整體架構(gòu)設(shè)計圖本醫(yī)聯(lián)體系統(tǒng)的功能劃分為兩大模塊:即管理者端與使用者端,共計16個子功能點(diǎn)。系統(tǒng)的功能如圖4-2所示。其中用戶部分功能模塊包含:普通用戶登錄、熱賣展示、醫(yī)療服務(wù)菜單、購物車、商品詳細(xì)信息、訂單提交、支付、個人中心、訂單查看。后臺管理的功能分為:登錄、用戶管理、服務(wù)大類管理、商品小類管理、醫(yī)療服務(wù)管理、訂單管理、修改密碼等。圖4-2系統(tǒng)功能結(jié)構(gòu)圖本小節(jié)將繪制醫(yī)聯(lián)體系統(tǒng)的各個模塊功能的程序流程圖。4.3.1登錄流程圖系統(tǒng)管理員需要輸入使用者賬號及密碼才能登入,確保訪問權(quán)限和系統(tǒng)安全。圖4-3給出了特定的流程圖。用戶可使用已授權(quán)的微信登錄進(jìn)行醫(yī)聯(lián)體小程序。具體流程圖如圖4-4。圖4-3管理員登錄流程圖圖4-4用戶授權(quán)小程序流程圖4.3.2管理員修改密碼、頭像流程圖管理員需要正確輸入原密碼密碼后才能進(jìn)行修改密碼。具體流程圖如圖4-5。管理員通過點(diǎn)擊右上角頭像,上傳新頭像進(jìn)行修改系統(tǒng)頭像。具體流程圖如圖4-6。圖4-5管理員修改密碼流程圖圖4-6管理員修改頭像流程圖4.3.3管理員管理商品大類、商品小類流程圖管理員點(diǎn)擊左側(cè)菜單欄里的商品大類,會顯示出商品大類的圖片、名稱等,可通過大類信息右側(cè)的功能按鈕來管理商品大類。具體流程圖如圖4-7。管理員點(diǎn)擊左側(cè)菜單欄里的商品小類,會顯示出商品小類的名稱和所屬大類等,可通過小類信息右側(cè)的功能按鈕來管理商品小類。具體流程圖如圖4-8。圖4-7管理員修改商品大類流程圖圖4-8管理員修改商品小類流程圖4.3.4管理員查詢商品、修改商品流程圖管理員點(diǎn)擊左側(cè)菜單欄里的商品,會顯示出所有商品信息,可通過商品信息上的搜索框查詢醫(yī)療服務(wù)。具體流程圖如圖4-9。管理員在進(jìn)入商品管理頁后,按下“編輯”按鈕,輸入新的醫(yī)療服務(wù)信息,以修改商品。具體流程圖如圖4-10。圖4-9管理員查詢商品流程圖圖4-10管理員修改商品流程圖4.3.5管理員查詢訂單、修改訂單狀態(tài)流程圖管理員點(diǎn)擊左側(cè)菜單欄里的訂單,會顯示出訂單的訂單號、總金額、收貨地址等,可通過訂單信息上的搜索框查詢訂單。具體流程圖如圖4-11。管理員進(jìn)入訂單管理頁面后,點(diǎn)擊發(fā)貨、退款等按鈕,進(jìn)行修改訂單狀態(tài)。具體流程圖如圖4-12。圖4-11管理員查詢訂單流程圖圖4-12管理員修改訂單狀態(tài)流程圖4.3.6用戶添加購物車、支付訂單流程圖用戶進(jìn)入小程序后,選擇需要的商品加入購物車,購物車數(shù)量會發(fā)生變化。具體流程圖如圖4-13。用戶支付訂單,具體流程圖如圖4-14。圖4-13用戶添加購物車流程圖圖4-14用戶支付訂單流程圖本節(jié)根據(jù)系統(tǒng)的需求分析抽象出用戶、商品大類、商品小類、商品、商品輪播圖、管理員等實(shí)體,實(shí)體及其特征屬性具體如下:用戶:用戶頭像的圖片URL,最后登錄時間,注冊時間等,用戶唯一標(biāo)識為主鍵。如下圖4-15所示。圖4-15用戶實(shí)體和與屬性商品大類:商品大類名稱,編號,圖片,備注。如下圖4-16所示。圖4-16商品大類實(shí)體和與屬性商品小類:商品小類名稱,商品小類編號,編號,備注。如下圖4-17所示。圖4-17商品小類實(shí)體和與屬性商品:商品實(shí)體共16個屬性,編號為主鍵,其他屬性如下圖4-18所示。圖4-18商品實(shí)體和與屬性商品輪播圖:圖片,編號,所屬商品ID,排序。如下圖4-19所示。圖4-19商品輪播圖實(shí)體和與屬性管理員:ID,賬號,密碼。如下圖4-20所示。圖4-20管理員信息實(shí)體和與屬性本章主要介紹了醫(yī)聯(lián)體系統(tǒng)的總體設(shè)計,使用架構(gòu)把醫(yī)聯(lián)體系統(tǒng)分為四層,并分類總結(jié)出來。系統(tǒng)功能框架圖則是將功能分為管理者和使用者兩個部分,總共16個小功能,后面部分包括程序流程圖以及數(shù)據(jù)庫概要設(shè)計。在系統(tǒng)架構(gòu)設(shè)計方面,采用前后端分離的方式。在系統(tǒng)功能框架方面,將系統(tǒng)劃分為用戶模塊和管理模塊兩個模塊。本章是對系統(tǒng)的詳細(xì)設(shè)計進(jìn)行說明與介紹,將醫(yī)聯(lián)體系統(tǒng)中的實(shí)體抽象出來,通過類圖介紹。系統(tǒng)活動的運(yùn)作流程則使用時序圖來表現(xiàn)。結(jié)合E-R圖和數(shù)據(jù)表對系統(tǒng)的實(shí)體與其屬性進(jìn)行分析。本小節(jié)將對系統(tǒng)的主要類進(jìn)行詳細(xì)的分析與介紹。用戶類用戶類,即User類,包含6個屬性(id、openid、nickName、avatarUrl、registerDate、lastLoginDate),主要用于實(shí)現(xiàn)用戶登錄的功能。用戶類如圖5-1所示。圖5-1用戶類圖5.1.2商品類產(chǎn)品類,即Product類,包含11個屬性(id、name、price、stocke、proPic、isHot、isSwiper、swiperPic、swiperSprt、typeid、hotDateTime),主要用于產(chǎn)品信息管理、產(chǎn)品展示等功能,產(chǎn)品類圖如圖5-2所示。圖5-2商品類圖5.1.3訂單類訂單類,即Order類,包含10個屬性(id、orderNo、userid、totalPrice、address、consignee、telNumber、createDate、payDate、status),主要用于訂單管理,訂單類圖如圖5-3所示。圖5-3訂單類圖5.1.4商品類別類商品類別類,分為商品大類和商品小類,包含8個屬性(id、cname、remark、image)(id、name、remark、bigTypeId),主要用于分類管理,類別類如圖5-4所示。圖5-4商品類別類圖5.1.5用戶登錄功能設(shè)計首先,根據(jù)appid和secret來確定與這個請求的聯(lián)系;其次,如果連接被拒絕,那么服務(wù)器就會收到一個被拒絕的信息,如果連接被建立了,那么就會通過代碼來獲得它的openid,并且把它返回給服務(wù)器。用戶登錄憑證時序圖如圖5-5所示。圖SEQ圖\*ARABIC5-5用戶登錄憑證時序圖5.1.6用戶購買商品功能設(shè)計用戶進(jìn)入醫(yī)聯(lián)體小程序,加載出對應(yīng)的商品大類及熱賣商品信息,選擇商品大類進(jìn)入商品菜單頁,并選擇需要的商品加入購物車,用戶購買商品功能時序圖如圖5-6所示。圖5-6用戶購買商品功能時序圖5.1.7訂單功能設(shè)計管理員可以在后臺管理界面中,點(diǎn)擊“訂單管理”,可查看所有使用者的訂單信息,包括收貨地,聯(lián)系電話和名稱等。如果使用者沒有提交過訂單,則顯示一片空白,不會有信息顯示。訂單功能時序圖如圖5-7所示。圖5-7訂單功能時序圖本小節(jié)主要介紹了的數(shù)據(jù)庫設(shè)計。以E-R圖表為基礎(chǔ),詳細(xì)地描述了該數(shù)據(jù)庫的設(shè)計流程,并以數(shù)據(jù)表格的形式展現(xiàn)了該數(shù)據(jù)庫的特征。概念設(shè)計通過E-R圖系統(tǒng)地分析本醫(yī)聯(lián)體系統(tǒng)的數(shù)據(jù)需求,以生成良好的數(shù)據(jù)庫。本系統(tǒng)抽象出用戶、訂單、商品大類、商品小類、商品等實(shí)體,通過用戶選購E-R圖,如圖5-8所示,描述了選購中涉及的實(shí)體、屬性和實(shí)體間的關(guān)系。通過商品E-R圖,如圖5-9所示,描述了商品大類、商品小類、商品等實(shí)體間的關(guān)系及其屬性。圖5-8用戶E-R圖圖5-9商品E-R圖5.2.2邏輯設(shè)計本小節(jié)將結(jié)合E-R圖,對本醫(yī)聯(lián)體系統(tǒng)數(shù)據(jù)庫中包含的數(shù)據(jù)表以及數(shù)據(jù)的含義以及作業(yè)進(jìn)行說明,如表5-1所示,介紹了用戶實(shí)體的七個屬性的名、類型、長度、注釋等信息。表5-1用戶表名類型長度是否主鍵可否為空注釋idInt11是否用戶編號openidvarchar30否否用戶唯一標(biāo)識nickNamevarchar50否否用戶昵稱avatarUrlvarchar200否否用戶頭像圖片的URLregisterDatedatetime否否注冊日期lastLoginDatedatetime否否最后登錄日期商品大類表,如表5-2所示,介紹了商品大類實(shí)體的四個屬性,每個屬性的字段名稱、含義、類型等信息。表5-2商品大類表名類型長度是否主鍵可否為空注釋idInt255是否編號續(xù)上表5-2Namevarchar255否否商品大類名稱remarkvarchar255否否備注imagevarchar255否否大類封面圖片商品小類表,如表5-3所示,介紹了商品小類實(shí)體的四個屬性,每個屬性的字段名稱、含義、類型等信息。表5-3商品小類表名類型長度是否主鍵可否為空注釋idInt11是否編號Namevarchar50否商品小類名稱remarkvarchar255否否備注bigTypeldInt11否否商品大類編號商品表,如表5-4所示,介紹了商品實(shí)體的十四個屬性的名、類型、長度、注釋等信息。表5-4商品表名類型長度是否主鍵可否為空注釋idInt11是否編號Namevarchar100否否商品名稱pricedecima8否否商品價格stockInt11否否庫存proPicvarchar255否否商品圖片isHotbit1否否是否熱賣商品isSwiperbit1否否是否輪播商品swiperPicvarchar255否可商品輪播圖片swiperSortint11否否輪播排序typeldint11否可商品類別編號hotDateTimedatetime否可設(shè)置熱賣日期productIntrolmgsvarchar2000否可商品介紹圖片productParalmgsvarchar2000否可商品規(guī)格參數(shù)圖片descriptionvarchar2000否否商品描述訂單表,如表5-5所示,介紹了訂單實(shí)體中屬性的名、類型、長度、注釋等信息。表5-5訂單表名類型長度是否主鍵可否為空注釋idInt11是否編號續(xù)上表5-5orderNovarchar100否否訂單號userldvarchar200否否openld微信用戶IDtotalPricedecimal8否否總價addressvarchar300否否收貨地址consigneevarchar20否否收貨人telNumbervarchar20否否聯(lián)系電話createDatedatetime否否訂單創(chuàng)建時間payDatedatetime否否訂單支付日期statusint11否否訂單狀態(tài)訂單詳細(xì)表,如表5-6所示,介紹了訂單詳細(xì)實(shí)體的七個屬性,每個屬性的名、類型、長度、注釋等信息。表5-6訂單詳細(xì)表名類型長度是否主鍵可否為空注釋idInt11是否編號mldInt11否否訂單主表IDgoodsldInt11否否商品IDgoodsNumberInt11否否商品購買數(shù)量goodsPricedecimal8否否商品單價goodsNamevarchar100否否商品名稱goodspicvarchar255否否商品圖片商品輪播圖表,如表5-7所示,介紹了商品輪播圖實(shí)體屬性的各個字段名稱、含義、類型等信息。表5-7商品輪播圖表名類型長度是否主鍵可否為空注釋idInt11是否編號Imagevarchar255否否圖片sortint11否否排序productidInt11否否所屬商品ID管理員信息表,如表5-8所示,介紹了管理員表中的三個屬性,分別為id、userName和password。表5-8管理員信息表名類型長度是否主鍵可否為空注釋idInt11是否編號userNamevarchar22否否圖片passwordvarchar22否否排序在這一章節(jié)中,重點(diǎn)介紹了該系統(tǒng)的各個功能模塊,并通過類圖和時序圖來說明。用E-R來介紹系統(tǒng)中的各個實(shí)體以及它們之間的關(guān)系。通過一個數(shù)據(jù)表格,將每一個實(shí)體屬性的字段名、含義、類型等都清楚地列出。本章設(shè)計并實(shí)現(xiàn)了醫(yī)聯(lián)體小程序,包括商品信息、商品大類排布、購物車、支付、訂單等模塊。系統(tǒng)通過前后端交互,實(shí)現(xiàn)了信息的動態(tài)管理,前端借助小程序呈現(xiàn)主體頁面和主要功能,后端采用SpringBoot框架提供接口支持,為醫(yī)療機(jī)構(gòu)和當(dāng)?shù)鼐用裉峁┝烁咝У木歪t(yī)解決方案。本節(jié)主要介紹管理員功能的實(shí)現(xiàn)。后臺管理登錄界面在登入界面填寫賬號、密碼,信息發(fā)送到數(shù)據(jù)庫比對,驗(yàn)證成功后即可成功登錄該系統(tǒng),錯誤的話會有紅色字體提示失敗原因,具體情況如圖6-1所示。圖6-1管理員登錄界面后臺管理首頁管理員成功登錄后,跳轉(zhuǎn)至醫(yī)聯(lián)體平臺首頁界面,如下圖6-2所示。頁面左側(cè)菜單分為五個部分。最上面的是用戶管理:管理員可以查看登錄醫(yī)聯(lián)體小程序的用戶信息,包括ID、昵稱、頭像等。第二部分為商品類別管理:可對商品大類的名稱、描述和圖片進(jìn)行編輯,對商品小類的名稱、所屬大類、描述進(jìn)行編輯。第三部分為商品管理,幫助用戶更快捷購買商品,還可以修改商品信息等。第四部分為發(fā)貨、退款管理:可查看使用者的訂單的狀態(tài)信息,管理員點(diǎn)擊發(fā)貨或退貨改變訂單狀態(tài)。圖6-2后臺管理系統(tǒng)首頁商品大類管理模塊商品大類管理界面為管理員提供了便捷的商品大類信息管理功能。界面主要包括商品大類名稱、商品大類圖片、描述,以及查詢、修改、更換圖片和刪除等操作選項(xiàng)。管理員可通過名稱或編號快速查詢商品大類信息,提高信息檢索效率。界面通過索引優(yōu)化數(shù)據(jù)訪問,加速檢索過程。界面圖如下圖6-3所示。圖6-3商品大類管理界面商品小類管理模塊商品小類管理界面為管理員提供了便捷的商品小類信息管理功能。界面主要包括商品小類名稱、所屬大類、描述,以及查詢、修改、和刪除等操作選項(xiàng)。管理員可通過名稱或編號快速查詢商品小類信息,提高信息檢索效率。界面圖如下圖6-4所示。圖6-4商品小類管理界面商品管理模塊商品管理界面為管理員提供了便捷的商品信息管理功能。界面主要包括商品詳細(xì)信息,以及查詢、更換圖片、幻燈設(shè)置、修改、刪除和輪播圖設(shè)置操作選項(xiàng)。管理員可通過名稱或編號快速查詢商品信息,提高信息檢索效率。界面圖如下圖6-5所示。圖6-5商品管理界面訂單管理模塊訂單管理界面使管理人員可以方便地對訂單進(jìn)行管理。界面主要包括訂單號、用戶昵稱、訂單總價、訂單狀態(tài)、收貨人信息等,以及詳細(xì)、發(fā)貨和退貨等操作選項(xiàng)。管理員可通過訂單號快速查詢訂單信息,提高信息檢索效率。界面圖如下圖6-6所示。圖6-6訂單管理界面本節(jié)主要介紹管理員功能的實(shí)現(xiàn)以及核心代碼。小程序首頁實(shí)現(xiàn)小程序首頁的頂部是搜索欄,可根據(jù)關(guān)鍵字搜索。輪播圖主要用于宣傳。主體部分用于展示商品大類,包括商品大類名稱、圖案。點(diǎn)擊導(dǎo)航欄任意圖標(biāo)可跳轉(zhuǎn)到對應(yīng)商品菜單,可選擇展示商品大類里的所有商品。點(diǎn)擊商品圖可進(jìn)入其詳細(xì)頁。實(shí)現(xiàn)效果圖,如圖6-7所示。圖6-7醫(yī)聯(lián)體小程序首頁小程序首頁實(shí)現(xiàn)步驟:①設(shè)置請求的URL接口路徑,前端發(fā)送請求時調(diào)用方法;②后端將接收到的數(shù)據(jù)列表存儲在的鍵中;③前端顯示數(shù)據(jù)庫里的數(shù)據(jù),并美化界面。核心代碼如下:/*查詢輪播商品*/@GetMapping("/findSwiper")//請求的URL路徑為"/findSwiper"時,會調(diào)用下面的findswiper()publicRfindswiper(){List<Product>swiperProductList=productService.list(newQueryWrapper<Product>().eq("isSwiper",true).orderByAsc("swiperSort"));Map<String,Object>map=newHashMap<>();map.put("message",swiperProductList);//將輪播商品列表存儲在名為“message”的鍵中returnR.ok(map);}/*商品搜索*/@GetMapping("/search")publicRsearch(Stringq){List<Product>productList=productService.list(newQueryWrapper<Product>().like("name",q));//從productService中查詢所有名稱中包含參數(shù)“q”的商品。結(jié)果存儲在productList變量中。Map<String,Object>map=newHashMap<>();map.put("message",productList);returnR.ok(map);}}/**查詢熱賣商品大類*/@GetMapping("/findHot")//當(dāng)HTTPGET請求的URL路徑為"/findHot"時,會調(diào)用下面的findHot()方法publicRfindHot(){Page<Product>page=newPage<>(0,8);//創(chuàng)建一個新的Page對象,用于分頁。Page<Product>pageProduct=productService.page(page,newQueryWrapper<Product>().eq("isHot",true).orderByAsc("hotDateTime"));//使用productService的page方法來執(zhí)行分頁查詢。List<Product>hotProductList=pageProduct.getRecords();Map<String,Object>map=newHashMap<>();//創(chuàng)建一個新的HashMap對象,用于存儲返回的數(shù)據(jù)。map.put("message",hotProductList);returnR.ok(map);}菜單商品頁的實(shí)現(xiàn)商品菜單頁包括兩個部分,分別是左側(cè)商品大類列表和右邊商品小類下的商品。用戶在菜單頁商品,可點(diǎn)擊商品進(jìn)入商品詳細(xì)頁,在商品詳細(xì)頁可將商品加入購物車,在商品詳細(xì)頁有商品介紹圖片和商品規(guī)格介紹。效果圖如圖6-8所示。圖6-8商品菜單頁菜單頁實(shí)現(xiàn)步驟:①查詢所有商品大類,獲取所有菜單信息;②對于每個大類,通過其ID查詢關(guān)聯(lián)的小類列表;③對于每個小類,通過其ID查詢關(guān)聯(lián)的產(chǎn)品列表;④前端顯示后端發(fā)送的數(shù)據(jù),將所有商品菜單顯示出來。核心代碼如下:/*查詢所有商品大類*/@GetMapping("/findAll")publicRfindAll(){List<BigType>bigTypesList=bigTypeService.list();Map<String,Object>map=newHashMap<>();map.put("message",bigTypesList);returnR.ok(map);}/*獲取所有菜單信息*/@GetMapping("/findCategories")publicRfindCategories(){//定義一個名為findCategories的公共方法List<BigType>bigTypesList=bigTypeService.list();for(BigTypebigType:bigTypesList){List<SmallType>smallTypeList=smallTypeService.list(newQueryWrapper<SmallType>().eq("bigTypeId",bigType.getId()));//對于每個大類,通過其ID查詢關(guān)聯(lián)的小類列表。bigType.setSmallTypeList(smallTypeList);for(SmallTypesmallType:smallTypeList){List<Product>productList=productService.list(newQueryWrapper<Product>().eq("typeId",smallType.getId()));//對于每個小類,通過其ID查詢關(guān)聯(lián)的產(chǎn)品列表smallType.setProductList(productList);}}Map<String,Object>map=newHashMap<>();map.put("message",bigTypesList);returnR.ok(map);}購物車頁面實(shí)現(xiàn)用戶選好商品后,填寫收貨信息,點(diǎn)擊結(jié)算,跳轉(zhuǎn)到此確認(rèn)訂單頁,再點(diǎn)擊去付款,生成訂單。如圖6-9所示。圖6-9購物車頁面購物車實(shí)現(xiàn)步驟:①點(diǎn)擊事件,商品加入;②驗(yàn)證醫(yī)療服務(wù)是否重復(fù);③醫(yī)療服務(wù)增加,購物車新增緩存。代碼如下://點(diǎn)擊按鈕購物車新增物品handleCartAdd(){this.setCartadd();wx.showToast({title:'加入成功',icon:'success',mark:true})},//點(diǎn)擊立即購買handleBuy(){this.setCartadd();wx.switchTab({url:'/pages/cart/index',})},//加入購物車setCartadd(){letcart=wx.getStorageSync('cart')||[];console.log("cart="+cart);letindex=cart.findIndex(v=>v.id==ductInfo.id);if(index==-1){//購物車不存在當(dāng)前商品ductInfo.num=1;ductInfo.checked=true;cart.push(ductInfo);}else{//商品存在cart[index].num++;}wx.setStorageSync('cart',cart);//把購物車添加到緩存中}訂單頁面實(shí)現(xiàn)訂單頁主要用于查看訂單,用戶在訂單列中可選擇查看未支付、退換貨、已發(fā)貨的訂單信息。如圖6-10所示。圖6-10訂單頁訂單頁實(shí)現(xiàn)步驟:①獲取openid,查詢用戶所有訂單;②在數(shù)據(jù)庫新增訂單和訂單詳細(xì);③在前端將用戶的所有訂單信息顯示出來。核心代碼如下:@RequestMapping("/create")@TransactionalpublicRcreate(@RequestBodyOrderorder,@RequestHeader(value="token")Stringtoken){System.out.println("token="+token);System.out.println("order="+order);//數(shù)據(jù)庫新增訂單信息Claimsclaims=JwtUtils.validateJWT(token).getClaims();if(claims!=null){System.out.println("openid="+claims.getId());order.setUserId(claims.getId());}order.setOrderNo("JAVA"+DateUtil.getCurrentDateStr());order.setCreateDate(newDate());OrderDetail[]goods=order.getGoods();orderService.save(order);//添加訂單詳情到數(shù)據(jù)庫for(inti=0;i<goods.length;i++){OrderDetailorderDetail=goods[i];orderDetail.setMId(order.getId());orderDetailService.save(orderDetail);}Map<String,Object>resultMap=newHashMap<>();resultMap.put("orderNo",order.getOrderNo());returnR.ok(resultMap);}本章成功實(shí)現(xiàn)了一套多功能的醫(yī)聯(lián)體小程序,包括商品大類管理、商品小類管理、商品信息管理、訂單信息管理、等多個模塊。系統(tǒng)通過前后端協(xié)同工作,實(shí)現(xiàn)了數(shù)據(jù)的動態(tài)展示和管理,提供了直觀且用戶友好的界面。醫(yī)聯(lián)體系統(tǒng)的圖片結(jié)合部分代碼來展示其實(shí)現(xiàn)的過程,更好的理解這一套系統(tǒng)。本章節(jié)主要介紹本醫(yī)聯(lián)體系統(tǒng)的測試目的、測試方法,制定了全面的測試計劃,確保系統(tǒng)在各種場景下穩(wěn)定運(yùn)行。通過模擬用戶的實(shí)際操作,驗(yàn)證了系統(tǒng)的核心功能。測試目的是確保醫(yī)聯(lián)體小程序的各個模塊和功能能夠在真實(shí)環(huán)境中正常運(yùn)行,并且滿足用戶需求和系統(tǒng)設(shè)計規(guī)范。首先,測試旨在驗(yàn)證系統(tǒng)的功能性,包括商品菜單顯示、商品管理、購物車、訂單、更換圖片等各模塊的基本操作和交互。測試圍繞系統(tǒng)的核心業(yè)務(wù)流程展開,驗(yàn)證其在各種使用情境下的正確性和穩(wěn)定性。在進(jìn)行功能測試時,首要目標(biāo)是驗(yàn)證系統(tǒng)是否能夠正確執(zhí)行用戶期望的操作。這包括用戶登錄進(jìn)入系統(tǒng)、等核心功能。同時,對管理員權(quán)限下的訂單管理和醫(yī)療服務(wù)管理也進(jìn)行了測試用例的編寫和驗(yàn)證。白盒測試則側(cè)重于系統(tǒng)內(nèi)部邏輯,確保程序的各個部分都按照設(shè)計要求協(xié)同工作。但本次系統(tǒng)測試我主要采用了黑盒測試的方法,讓其他人在我沒指導(dǎo)的情況下,獨(dú)自使用醫(yī)聯(lián)體系統(tǒng),測試操作是否可行,順便驗(yàn)證本系統(tǒng)是否簡單易上手。以下是一些其他人操作醫(yī)聯(lián)體系統(tǒng)的功能測試樣例,通過這些測試用例,可以驗(yàn)證系統(tǒng)在各個功能方面的穩(wěn)定性和正確性。失敗的用例說明還是有些后臺的代碼不夠穩(wěn)定,在后續(xù)的工作中會對失敗的用例進(jìn)行回顧和修復(fù)。表7-1功能測試用例序號目的測試步驟期望結(jié)果實(shí)際結(jié)果01后臺管理系統(tǒng)登錄輸入賬號密碼,點(diǎn)擊登錄成功成功02用戶管理界面,輸入昵稱搜索用戶輸入昵稱搜索用戶成功成功03添加商品大類點(diǎn)擊添加商品大類,輸入信息成功失敗04修改商品大類點(diǎn)擊修改,輸入信息成功成功05添加商品小類點(diǎn)擊添加商品小類,輸入信息成功成功06修改商品小類點(diǎn)擊修改,輸入信息成功成功07添加商品點(diǎn)擊添加商品,輸入信息成功成功08修改商品信息點(diǎn)擊修改,輸入信息成功成功09更換商品圖片點(diǎn)擊更換圖片,上次圖片成功成功10設(shè)置商品熱賣點(diǎn)擊熱賣按鈕成功成功11設(shè)置商品輪播點(diǎn)擊輪播設(shè)置,輸入信息成功成功12修改訂單狀態(tài)點(diǎn)擊發(fā)貨成功成功續(xù)上表7-113修改訂單狀態(tài)點(diǎn)擊退貨成功成功14修改管理員密碼輸入原密碼和新密碼成功成功15小程序授權(quán)登錄點(diǎn)擊個人中心,提示登錄,點(diǎn)擊確定成功成功本節(jié)展示醫(yī)聯(lián)體平臺部分壓力測試,以檢驗(yàn)該軟件的穩(wěn)定與可靠度。壓力測試是為了衡量軟件在負(fù)荷很大環(huán)境下的抗壓能力和故障后的恢復(fù)能力,并減小醫(yī)聯(lián)體系統(tǒng)在危急情況下崩潰的概率。表7-2壓力測試用例客戶端模型名稱說明實(shí)際結(jié)果備注服務(wù)器性能測試服務(wù)登錄100人逐步遞增的方式,查看1萬并發(fā)情況,功能是否正常正常測試通過首頁瀏覽正常測試通過瀏覽產(chǎn)品正常測試通過添加購物車正常測試通過下單正常測試通過付款正常測試通過在本章中,制定了全面的測試計劃,確保系統(tǒng)在各種場景下穩(wěn)定運(yùn)行。通過模擬用戶的實(shí)際操作,驗(yàn)證了系統(tǒng)的核心功能,保證了系統(tǒng)的運(yùn)行流程和正確性。但可能因?yàn)闇y試設(shè)備簡陋,會有些許不足。本章將對這段時間的努力成果做個匯總,并對每一章所完成的工作進(jìn)行了回顧。從立題初期到完成都是在上班時間完成,工作的內(nèi)容也給了我很大的啟發(fā)和幫助。本系統(tǒng)設(shè)計之初是為了均化醫(yī)療資源,根據(jù)業(yè)務(wù)需求,選擇使用微信小程序開發(fā)。結(jié)合了當(dāng)?shù)鼐用癖U辖】档那闆r和需求,旨在為當(dāng)?shù)鼐用裉峁┮豢钶p量級、使用便捷的應(yīng)用系統(tǒng)。本系統(tǒng)主要為當(dāng)?shù)鼐用裉峁┚€上購藥、線上掛號等服務(wù),就診時可使用本應(yīng)用提前掛號,省去排隊等候的時間,生病行動不便,也可使用本應(yīng)用線上購藥,方便又省心。用戶使用本小程序不僅能快速了解附近醫(yī)療機(jī)構(gòu)的醫(yī)療服務(wù)信息,還能提前預(yù)約醫(yī)聯(lián)服務(wù),為醫(yī)療機(jī)構(gòu)和用戶帶來便利。在設(shè)計階段,我注重了系統(tǒng)的可擴(kuò)展性和用戶友好性。通過合理設(shè)計數(shù)據(jù)庫結(jié)構(gòu)和采用微服務(wù)架構(gòu),我確保了系統(tǒng)的靈活性和易維護(hù)性。在用戶界面設(shè)計上,我著重考慮了用戶的使用習(xí)慣,通過簡潔清晰的界面提高了系統(tǒng)的易用性。在系統(tǒng)實(shí)現(xiàn)過程中,我選擇了現(xiàn)代化的技術(shù),如IDEA、SpringBoot框架、Vue3等,以保證系統(tǒng)的高效開發(fā)和部署。數(shù)據(jù)庫選擇了MySQL,小程序則是通過微信開發(fā)者工具來實(shí)現(xiàn)。在測試階段,我制定了全面的測試計劃,確保系統(tǒng)在各種場景下穩(wěn)定運(yùn)行。通過模擬用戶的實(shí)際操作,驗(yàn)證了系統(tǒng)的核心功能,保證了系統(tǒng)的運(yùn)行流程和正確性。本醫(yī)聯(lián)體應(yīng)用的操作性強(qiáng)、適用范圍廣,用戶不僅可以線上購藥、線上預(yù)約等,還可以緩解醫(yī)療機(jī)構(gòu)的看病壓力,及時調(diào)整醫(yī)聯(lián)資源分配,方便當(dāng)?shù)鼐用窈歪t(yī)療機(jī)構(gòu)。但是,由于本人的能力和時間有限,目前只實(shí)現(xiàn)系統(tǒng)的部分功能,因此仍有待于進(jìn)一步的補(bǔ)充與完善。本醫(yī)聯(lián)體應(yīng)用能夠完善的功能如下:地圖功能:用戶可在小程序上瀏覽附近的醫(yī)院,并導(dǎo)航到目的地。線上就診功能:醫(yī)生可在遠(yuǎn)程幫助患者就診,提高醫(yī)生工作效率,患者可以更便捷地享受到高質(zhì)量醫(yī)療服務(wù)。精準(zhǔn)推送功能:主要有三個板塊,天氣預(yù)報、醫(yī)療政策、醫(yī)保。針對不同的區(qū)域,推送不同的氣象預(yù)報、當(dāng)?shù)卣t(yī)療政策、醫(yī)保支付、繳費(fèi)時間等。李麗清,楊蘇樂,萬里晗,盧祖洵.基于fsQCA組態(tài)視角的我國醫(yī)療資源配置效率提升路徑分析[J].中國全科醫(yī)學(xué),2024,27(4):413-419.陳勇,姚燕珠.微信小程序在檔案移動服務(wù)中的應(yīng)用研究[J].檔案與建設(shè),2023(1):70-722.柯佳,陳瀟君.“互聯(lián)網(wǎng)+”在醫(yī)聯(lián)體的應(yīng)用實(shí)踐研究[J].中國醫(yī)院,2023,27(3):10-13劉鋼.VB.NET程序設(shè)計基礎(chǔ)[M].北京:高等教育出版.2021,5:10-12.葉江峰,姜雪,井淇,雷祎.整合型醫(yī)療服務(wù)模式的國際比較及其啟示[J].管理評 論,2019,0(6):199-212.邢榕珊,匡芳君.微信小程序設(shè)計[J].計算機(jī)時代,2018(2018年08):9-12.雷磊.微信小程序開發(fā)入門與實(shí)踐[M].清華大學(xué)出版社,2018.WilsonJ.Node.js8theRightWay:Practical,Server-sideJavascriptthatScales[M].PragmaticBookshelf,2018.趙光亮,舒小松.NavicatforMySQL平臺中的SQL語言分析與應(yīng)用[J].無線互聯(lián)科技,2017(19).屈曉,周挺,吳楷,林聲廣.一種SpringBoot基于嵌入式設(shè)備的輔助醫(yī)療App的設(shè)計與實(shí)現(xiàn)[J].電腦知識與技術(shù),2023,19(29):55-5866.Vinoski,Steve.RESTfulWebServicesDevelopmentChecklist[J].IEEEInternetComputing,2008,12(6):96-95.魏江東,涂繼輝,賴少東,等.基于WebSocket和Redis的移動目標(biāo)軌跡跟蹤系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].計算機(jī)時代,2021(8):76-79,83.調(diào)用統(tǒng)一下單,預(yù)支付的模塊代碼如下:publicRpreparePay(@RequestBodyStringorderNo)throwsException{System.out.println("orderNo="+orderNo);Orderorder=orderService.getOne(newQueryWrapper<Order>().eq("orderNo",orderNo));System.out.println("appid="+weixinpayProperties.getAppid());System.out.println("mch_id="+weixinpayProperties.getMch_id());System.out.println("nonce_str="+StringUtil.getRandomString(32));System.out.println("body="+"醫(yī)聯(lián)體商品購買測試");System.out.println("out_trade_no="+orderNo);System.out.println("total_fee="+order.getTotalPrice().movePointRight(2));System.out.println("spbill_create_ip="+"");System.out.println("notify_url="+weixinpayProperties.getNotify_url());System.out.println("trade_type="+"JSAPI");System.out.println("openid="+order.getUserId());System.out.println("sign=");Map<String,Object>map=newHashMap<>();map.put("appid",weixinpayProperties.getAppid());map.put("mch_id",weixinpayProperties.getMch_id());map.put("nonce_str",StringUtil.getRandomString(32));map.put("body","醫(yī)聯(lián)體商品購買測試");map.put("out_trade_no",orderNo);//map.put("total_fee",order.getTotalPrice().movePointRight(2));map.put("total_fee",1);map.put("spbill_create_ip","");map.put("notify_url",weixinpayProperties.getNotify_url());map.put("trade_type","JSAPI");map.put("openid",order.getUserId());map.put("sign",getSign(map));//參數(shù)轉(zhuǎn)成xmlStringxml=XmlUtil.genXml(map);System.out.println("xml="+xml);HttpResponse httpResponse =HttpClientUtil.sendXMLDataByPost(weixinpayProperties.getUrl().toString(),xml);StringhttpE
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 277人浙江中醫(yī)藥大學(xué)臨床醫(yī)學(xué)院及直屬附屬醫(yī)院公開招聘人員備考題庫(2026年第一批)及答案詳解參考
- 2026年深圳市龍崗區(qū)衛(wèi)生健康局下屬事業(yè)單位招聘9人備考題庫及答案詳解1套
- 企業(yè)設(shè)備維護(hù)與保養(yǎng)制度
- 中央團(tuán)校(中國青年政治學(xué)院)2026年度高校畢業(yè)生公開招聘9人備考題庫及答案詳解1套
- 2026年皮山縣人民醫(yī)院招聘備考題庫及參考答案詳解
- 養(yǎng)老院入住退住規(guī)定制度
- 2026年漳州市龍文區(qū)碧湖街道社區(qū)衛(wèi)生服務(wù)中心公開招聘工作人員工作備考題庫及答案詳解參考
- 企業(yè)員工培訓(xùn)與素質(zhì)發(fā)展目標(biāo)路徑制度
- 企業(yè)內(nèi)部保密責(zé)任制度
- 2025年鐵路運(yùn)輸安全操作流程
- 2026年寧夏賀蘭工業(yè)園區(qū)管委會工作人員社會化公開招聘備考題庫附答案詳解
- 盤州市教育局機(jī)關(guān)所屬事業(yè)單位2025年公開考調(diào)工作人員備考題庫完整答案詳解
- 2025-2026四年級上科學(xué)期末檢測試題
- 遼寧省鞍山市2025-2026學(xué)年八年級上學(xué)期1月期末語文試卷
- 班級演唱會課件
- 2025馬年元旦新春晚會活動策劃
- 交警新警執(zhí)法培訓(xùn)
- 2025年京東慧采廠直考試京東自營供應(yīng)商廠直考試題目及答案
- 急性毒性測試:類器官芯片的快速響應(yīng)
- 骨科護(hù)理標(biāo)準(zhǔn)操作流程手冊
- 產(chǎn)品推廣專員培訓(xùn)
評論
0/150
提交評論