基于Vuejs和Element的五山餐廳預(yù)制菜管理系統(tǒng)_第1頁(yè)
基于Vuejs和Element的五山餐廳預(yù)制菜管理系統(tǒng)_第2頁(yè)
基于Vuejs和Element的五山餐廳預(yù)制菜管理系統(tǒng)_第3頁(yè)
基于Vuejs和Element的五山餐廳預(yù)制菜管理系統(tǒng)_第4頁(yè)
基于Vuejs和Element的五山餐廳預(yù)制菜管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

PAGE63摘要眾所周知,隨著城市化進(jìn)程的加速,人們的生活節(jié)奏加快,工作壓力增大,時(shí)間成為一種稀缺資源。外賣和外出用餐的盛行、餐飲服務(wù)行業(yè)的市場(chǎng)需求不斷擴(kuò)大、互聯(lián)網(wǎng)技術(shù)的發(fā)展和消費(fèi)習(xí)慣的改變、生鮮電商行業(yè)蓬勃發(fā)展。預(yù)制菜作為生鮮食品的一種形式,可以通過生鮮電商平臺(tái)銷售,滿足消費(fèi)者線上購(gòu)買食品的需求。預(yù)制菜的出現(xiàn)滿足了快節(jié)奏現(xiàn)代生活的需求,為人們節(jié)約烹飪時(shí)間,提供了方便快捷的解決方案。消費(fèi)者對(duì)食品的要求也逐漸提升。預(yù)制菜作為高品質(zhì)、個(gè)性化的食品產(chǎn)品,可以滿足消費(fèi)者對(duì)健康、營(yíng)養(yǎng)、便捷的需求,促進(jìn)了消費(fèi)升級(jí)?;谀壳胺?wù)預(yù)制菜系統(tǒng)領(lǐng)域的系統(tǒng)相對(duì)稀缺,本預(yù)制菜系統(tǒng)主要面向使用預(yù)制菜進(jìn)行活動(dòng)生產(chǎn)和盈利的餐廳。更具針對(duì)性,打造專業(yè)化、專一化的預(yù)制菜管理信息系統(tǒng)。本課題設(shè)計(jì)一個(gè)基于五山餐廳的預(yù)制菜管理系統(tǒng),建立一個(gè)專門針對(duì)預(yù)制菜管理的系統(tǒng)。本文設(shè)計(jì)和實(shí)現(xiàn)了預(yù)制菜管理系統(tǒng)的管理服務(wù)平臺(tái)的餐廳訂購(gòu)平臺(tái)。項(xiàng)目后臺(tái)首先使用的是:SpringCloud搭建微服務(wù)架構(gòu),將每個(gè)不同的業(yè)務(wù)板塊細(xì)化分成許多不一樣的微服務(wù),被細(xì)分出來的每個(gè)微服務(wù)均注冊(cè)到Eureka注冊(cè)中心上,每個(gè)細(xì)分獨(dú)立出來的微服務(wù)架構(gòu)不僅持續(xù)了項(xiàng)目的可擴(kuò)展性,使得開發(fā)者無論何時(shí)都能夠增添新的功能模塊。預(yù)制菜管理系統(tǒng)的前端使用當(dāng)前流行的VUE框架和Element-UI組件庫(kù),通過HTTP協(xié)議進(jìn)行數(shù)據(jù)傳輸,發(fā)送和獲取的數(shù)據(jù)均使用JSON格式的字符串進(jìn)行封裝。數(shù)據(jù)庫(kù)選用支持創(chuàng)建數(shù)據(jù)庫(kù)Navicat的MySQL關(guān)系數(shù)據(jù)庫(kù)。本文實(shí)現(xiàn)了預(yù)制菜管理系統(tǒng)的用戶下單功能、倉(cāng)庫(kù)菜品入庫(kù)出庫(kù)管理功能、查看營(yíng)業(yè)流水賬目查看功能,管理系統(tǒng)可以按需購(gòu)買服務(wù),僅需支付合理的費(fèi)用即可擁有自己的管理系統(tǒng),降低了信息化的成本。系統(tǒng)還實(shí)現(xiàn)了用戶的注冊(cè)登錄修改注銷功能、數(shù)據(jù)查看等輔助功能,提高了預(yù)制菜管理系統(tǒng)的實(shí)際使用體驗(yàn),加強(qiáng)了預(yù)制菜管理系統(tǒng)的實(shí)際用途。提高了餐飲企業(yè)的管理效率,將會(huì)不斷持續(xù)優(yōu)化流程,根據(jù)購(gòu)買數(shù)量來相應(yīng)提升對(duì)應(yīng)的菜品品質(zhì),為企業(yè)的可持續(xù)發(fā)展和提升競(jìng)爭(zhēng)力提供有力支持。關(guān)鍵詞:預(yù)制菜中小型管理服務(wù)平臺(tái)VUESpringCloud微服務(wù)

WushanRestaurantPrefabricatedVegetableManagementSystemBasedonVue.jsandElementAbstract:Asiswellknown,withtheaccelerationofurbanization,people'spaceoflifeaccelerates,workpressureincreases,andtimebecomesascarceresource.Theprevalenceoftakeawayanddiningout,theexpandingmarketdemandofthecateringserviceindustry,thedevelopmentofInternettechnologyandthechangeofconsumptionhabits,andthevigorousdevelopmentofthefreshfoode-commerceindustry.Prefabricateddishes,asaformoffreshfood,canbesoldthroughfreshe-commerceplatformstomeettheonlinefoodpurchasingneedsofconsumers.Theemergenceofpremadedishesmeetstheneedsoffast-pacedmodernlife,savingpeoplecookingtimeandprovidingconvenientandfastsolutions.Consumerdemandsforfoodaregraduallyincreasing.Prefabricateddishes,ashigh-qualityandpersonalizedfoodproducts,canmeetconsumers'needsforhealth,nutrition,andconvenience,promotingconsumptionupgrading.Basedontherelativescarcityofsystemsinthefieldofservicepremadedishes,thispremadedishsystemismainlyaimedatrestaurantsthatusepremadedishesforactivityproductionandprofitability.Createamoretargetedandspecializedpremadefoodmanagementinformationsystem.ThisprojectaimstodesignapremadefoodmanagementsystembasedonWushanRestaurantandestablishasystemspecificallydesignedforpremadefoodmanagement.Thisarticledesignsandimplementsarestaurantorderingplatformforthemanagementserviceplatformoftheprefabricatedfoodmanagementsystem.ThefirstmicroservicearchitectureusedintheprojectbackendisSpringCloud,whichrefineseachdifferentbusinesssegmentintomanydifferentmicroservices.EachmicroservicethatissubdividedisregisteredintheEurekaregistry,andtheindependentmicroservicearchitectureofeachsubdivisionnotonlymaintainsthescalabilityoftheproject,butalsoallowsdeveloperstoaddnewfunctionalmodulesatanytime.Thefront-endoftheprefabricatedfoodmanagementsystemusesthecurrentlypopularVUEframeworkandElementUIcomponentlibrary,anddatatransmissioniscarriedoutthroughtheHTTPprotocol.ThesentandobtaineddataareencapsulatedinJSONformatstrings.ChooseaMySQLrelationaldatabasethatsupportscreatingNavicatdatabases.Thisarticleimplementstheuserorderingfunction,warehousedishinventorymanagementfunction,andbusinessflowaccountviewingfunctionoftheprefabricateddishmanagementsystem.Themanagementsystemcanpurchaseservicesondemand,andonlypayreasonablefeestohaveitsownmanagementsystem,reducingthecostofinformatization.Thesystemalsoimplementsauxiliaryfunctionssuchasuserregistration,login,modification,andcancellation,aswellasdataviewing,whichimprovestheactualuserexperienceoftheprefabricatedfoodmanagementsystemandstrengthensitspracticaluse.Themanagementefficiencyofcateringenterpriseshasbeenimproved,andtheprocesswillbecontinuouslyoptimizedtocorrespondinglyimprovethequalityofcorrespondingdishesbasedonthepurchasequantity,providingstrongsupportforthesustainabledevelopmentandcompetitivenessoftheenterprise.Keywords:PrefabricateddishesSmallandmedium-sizedManagementserviceplatformVUESpringCloudMicroservices

目錄TOC\o"1-1"\h\z\u\t"標(biāo)題2,1,標(biāo)題3,1"1前言 11.1研究背景 11.2研究目的和意義 21.2.1研究目的 21.2.2研究意義 21.3研究現(xiàn)狀 31.4研究目標(biāo)與內(nèi)容 41.4.1研究目標(biāo) 41.4.2主要內(nèi)容 41.5技術(shù)方案 42開發(fā)技術(shù) 52.1SpringBoot 52.2SpringCloud 52.2.1SpringCloudEureka 62.3Redis緩存 62.4MyBatis框架 73系統(tǒng)需求分析 73.1涉眾及用例 73.2主要用例描述 93.2.1用戶注冊(cè)用例 93.2.2用戶登錄用例 113.2.3管理菜品用例 123.2.4管理訂單用例 133.2.5系統(tǒng)管理用例 143.2.6上傳文件用例 154系統(tǒng)總體設(shè)計(jì) 164.1微服務(wù)架構(gòu)設(shè)計(jì) 164.2功能模塊劃分 175系統(tǒng)詳細(xì)設(shè)計(jì) 195.1功能設(shè)計(jì)模塊 195.1.1用戶注冊(cè)模塊 205.1.2用戶登錄模塊 215.1.3信息修改模塊 225.1.4菜品種類管理 255.1.5品牌種類管理 285.1.6用戶名單管理 315.1.7用戶角色管理 325.1.8餐廳店主下訂單管理 345.1.9管理員訂單管理 365.1.10菜單分配管理 385.1.11權(quán)限分配管理 405.2數(shù)據(jù)庫(kù)設(shè)計(jì)模塊 405.2.1數(shù)據(jù)庫(kù)E-R模型圖 405.2.2數(shù)據(jù)庫(kù)表設(shè)計(jì) 416系統(tǒng)實(shí)現(xiàn) 466.1預(yù)制菜管理系統(tǒng)首頁(yè) 466.2用戶注冊(cè)和管理員用戶登錄 466.3菜品管理界面 476.4訂單管理界面 486.5用戶管理界面 496.6系統(tǒng)管理界面 497結(jié)論與討論 497.1結(jié)論 497.2討論 50參考文獻(xiàn) 51致謝 53本科生畢業(yè)論文成績(jī)?cè)u(píng)定表TOC\o"1-1"\h\z\u\t"標(biāo)題2,1,標(biāo)題3,1"緒論研究背景美國(guó)是預(yù)制菜的發(fā)源地,日本是預(yù)制菜高速發(fā)展并成熟的市場(chǎng)。中國(guó)早在唐宋時(shí)期就有預(yù)制菜的雛形,但真正得到發(fā)展是在凈菜菜加工/半成品菜生產(chǎn)、配送企業(yè)出現(xiàn)后(徐玉娟等,2022),并于2014年后進(jìn)入快速發(fā)展期。特別是2019年底新冠疫情暴發(fā)以來,受疫情的影響,餐飲企業(yè)成本不斷上升,而預(yù)制菜因能有效降低餐飲企業(yè)成本,方便快捷疌、滿足居家就餐需求,迎合人們高壓、快節(jié)奏的生活方式,呈迅速爆發(fā)式增長(zhǎng),成為大眾餐桌上的“新寵”。時(shí)代的快速發(fā)展,國(guó)家對(duì)預(yù)制菜發(fā)展的高度重視,預(yù)制菜產(chǎn)業(yè)迎來千載難逢的發(fā)展機(jī)遇,預(yù)制菜也迎來了新規(guī)(馬嘉,2024)。這幾年,國(guó)家也陸陸續(xù)續(xù)幫助預(yù)制菜產(chǎn)業(yè)走向規(guī)范化(賈驥業(yè)等,2024)。2021年5月,農(nóng)業(yè)農(nóng)村部出臺(tái)《關(guān)于加快農(nóng)業(yè)全產(chǎn)業(yè)鏈培育發(fā)展的指導(dǎo)意見》,提出搭建體系化物流網(wǎng)絡(luò),創(chuàng)新發(fā)展農(nóng)商直供、預(yù)制菜肴、餐飲外賣、冷鏈配送等業(yè)態(tài)。2022年1月,國(guó)家發(fā)展改革委發(fā)布《國(guó)家發(fā)展改革委關(guān)于做好近期促進(jìn)消費(fèi)工工作的通知》,明確指出因地制宜多措并舉滿足居民節(jié)日消費(fèi)需求,鼓勵(lì)制售半成品和“凈菜上市”,廣東的“百千萬工程”中,廣東省各縣也因地制宜探索具有區(qū)域特色的發(fā)展路徑(彭琳等,2024)。2023年1月,中央1號(hào)文件首次提出“培育發(fā)展預(yù)制菜產(chǎn)業(yè)”。市場(chǎng)監(jiān)督管理局等六部門聯(lián)合發(fā)文明確預(yù)制菜定義和范圍(趙文君,2024)。預(yù)制菜作為一類最接近終端食品的產(chǎn)品,將現(xiàn)代農(nóng)業(yè)與現(xiàn)代食品產(chǎn)業(yè)緊密銜接在一起,實(shí)現(xiàn)了現(xiàn)代農(nóng)業(yè)、農(nóng)產(chǎn)品加工業(yè)與服務(wù)消費(fèi)行業(yè)的多產(chǎn)業(yè)融合化發(fā)展,促進(jìn)鄉(xiāng)村產(chǎn)業(yè)振興。當(dāng)下快節(jié)奏工作方式、家庭小型化、宅生活模式、懶人經(jīng)濟(jì)等現(xiàn)象給預(yù)制菜行業(yè)帶來了蓬勃發(fā)展的機(jī)會(huì),預(yù)制菜也因物美價(jià)廉、工藝簡(jiǎn)單、品種豐富等諸多優(yōu)勢(shì),解決了消費(fèi)者在家吃飯的“痛點(diǎn)”。特別是在新冠疫情暴發(fā)期間,部分餐飲店無法堂食,催發(fā)預(yù)制菜產(chǎn)業(yè)迅速升溫,快速成為較為火熱的產(chǎn)業(yè)之一(馬金鳳,2022)。如何規(guī)范預(yù)制菜生產(chǎn)(王嵐等,2024)、提振傳統(tǒng)餐飲業(yè)的頹勢(shì)、提高餐飲機(jī)構(gòu)的數(shù)據(jù)信息一體化能力成為許多餐廳管理者的難題。傳統(tǒng)的管理信息系統(tǒng)大部分都是根據(jù)軟件生命周期進(jìn)行開發(fā)和設(shè)計(jì),不僅開發(fā)周期長(zhǎng),而且開發(fā)成本非常高(劉鑫,2017),購(gòu)買額外的物理設(shè)備費(fèi)用以及高昂的系統(tǒng)設(shè)計(jì)與維護(hù)費(fèi)用就令不少機(jī)構(gòu)望而卻步,更何況互聯(lián)網(wǎng)行業(yè)中,沒有迭代升級(jí)是不可能升級(jí)軟件的。傳統(tǒng)管理系統(tǒng)的功能是固定的,但隨著企業(yè)的發(fā)展和升級(jí),以前購(gòu)買的管理信息系統(tǒng)可能不再適用,傳統(tǒng)的管理信息系統(tǒng)也無法在線更新,需要重新進(jìn)行下載更新。越來越多的餐飲行業(yè)的管理者把目光聚焦到了SaaS(Software-as-a-Service,軟件即服務(wù))模式的軟件上,參與行業(yè)的管理者們有機(jī)會(huì)有能力可以僅僅花費(fèi)很少的資金就能得到應(yīng)有的信息化服務(wù)(李銨,2023),以助力預(yù)制菜餐飲管理完成餐飲管理業(yè)務(wù),用科技賦能的形式助力預(yù)制菜崛起(趙振杰等,2024)。SaaS簡(jiǎn)稱是Software-as-a-Service,又被叫做軟件即服務(wù)(Abdelmaboudetal.,2015),租戶以租賃的形式對(duì)軟件服務(wù)進(jìn)行付費(fèi)(王昊,2014),付費(fèi)成功即可使用相應(yīng)的軟件服務(wù)(張志遠(yuǎn)等,2024)。SaaS作為云計(jì)算的三種基礎(chǔ)服務(wù)模式之一,其提供給租戶的服務(wù)本質(zhì)上是軟件服務(wù)提供商部署在公共基礎(chǔ)計(jì)算平臺(tái)上的應(yīng)用程序,租戶可以通過不同的客戶端對(duì)這些應(yīng)用程序進(jìn)行訪問,租戶不需要管理或控制任何的基礎(chǔ)設(shè)施即可擁有自己的一套軟件。SaaS模式低成本、高效率的優(yōu)點(diǎn)受到教育培訓(xùn)機(jī)構(gòu)管理者更多的青睞。研究目的和意義研究目的本文的研究目的是針對(duì)中小型的五山預(yù)制菜餐廳的管理信息系統(tǒng),基于SpringCloud架構(gòu)技術(shù)設(shè)計(jì)并開發(fā)出一套預(yù)制菜信息管理系統(tǒng),預(yù)制菜餐廳店主注冊(cè)賬號(hào)后,可以根據(jù)自己店內(nèi)經(jīng)營(yíng)特色,根據(jù)不同口味、不同菜系來便捷點(diǎn)單。預(yù)制菜餐廳店主就可以擁有屬于自己的一套管理信息系統(tǒng)。而管理整個(gè)預(yù)制菜系統(tǒng)的系統(tǒng)管理員能夠快捷方便地管理餐廳店主信息、管理菜品信息、管理訂單信息。系統(tǒng)完成了預(yù)制菜餐廳店主的入駐、預(yù)制菜菜品下單的主要功能,并實(shí)現(xiàn)了菜品查看、訂單詳情、收益分析等輔助功能。除此之外,還方便系統(tǒng)管理員管理用戶、管理訂單等業(yè)務(wù)數(shù)據(jù)。研究意義在這個(gè)注重?cái)?shù)據(jù)信息化的時(shí)代,預(yù)制菜餐廳的信息化勢(shì)在必行,系統(tǒng)成為了預(yù)制菜餐廳不可或缺的一部分。對(duì)預(yù)制菜餐廳而言,預(yù)制菜餐廳通過系統(tǒng)對(duì)整個(gè)預(yù)制菜餐廳的數(shù)據(jù)進(jìn)行管理,大大提高了預(yù)制菜餐廳的管理效率和預(yù)制菜餐廳的訂單流程,同時(shí)預(yù)制菜餐廳的信息化提高了預(yù)制菜餐廳在賣方的競(jìng)爭(zhēng)力,加強(qiáng)了預(yù)制菜餐廳品牌的傳播力度,有助于預(yù)制菜餐廳內(nèi)部下達(dá)訂單的流程化和規(guī)范化。對(duì)享用預(yù)制菜的消費(fèi)者而言,預(yù)制菜餐廳的信息化更有助于消費(fèi)者了解預(yù)制菜的來源,讓消費(fèi)者看的放心,吃的安心。除此之外,預(yù)制菜餐廳使用統(tǒng)一的信息化平臺(tái)讓預(yù)制菜餐廳的店主有了更多的選擇,預(yù)制菜餐廳的店主不再會(huì)想以前一樣被局限于同質(zhì)化口味的食物,可以更加方便的了解、購(gòu)買不同的預(yù)制菜菜品。本文設(shè)計(jì)并實(shí)現(xiàn)一套預(yù)制菜餐廳的管理系統(tǒng),減少中小預(yù)制菜餐廳的信息化的成本。預(yù)制菜餐廳的店主們可以在平臺(tái)上進(jìn)行注冊(cè)賬號(hào),并及時(shí)得到進(jìn)行下單訂購(gòu)預(yù)制菜,有效降低了預(yù)制菜餐廳的沉沒成本,減少了中小預(yù)制菜餐廳的開發(fā)成本、運(yùn)維成本,滿足預(yù)制菜餐廳店主按需購(gòu)買軟件應(yīng)用服務(wù)的需求。研究現(xiàn)狀2023年中央發(fā)布的一號(hào)文件中首次將預(yù)制菜寫入其中,發(fā)展預(yù)制菜產(chǎn)業(yè)在現(xiàn)如今是炙手可熱的。國(guó)內(nèi)預(yù)制菜研究正處于興起階段,疫情前預(yù)制菜的研究主要集中在針對(duì)預(yù)制菜的行業(yè)現(xiàn)狀與現(xiàn)存問題進(jìn)行研究,預(yù)制菜在前期多以B端為主。所以近年興起的C端預(yù)制菜,品牌設(shè)計(jì)方面的研究較少,以及預(yù)中式制菜肴、廣東預(yù)制菜肴、川渝預(yù)制菜肴產(chǎn)業(yè)的發(fā)展創(chuàng)新等方面為主。如今預(yù)制菜在2019年底疫情爆發(fā)之際迎來新局面,在預(yù)制菜的研究中也迎來諸多問題,如劉輝、宋淳浩等人在《生鮮食材供應(yīng)鏈中存在的問題及解決方案研究》中提出預(yù)制菜上游、中游、下游的各區(qū)塊鏈之間存在的問題以及解決辦法。如同:趙靚琳《預(yù)制菜行業(yè)現(xiàn)狀問題》,從中提出的預(yù)制菜目前存在規(guī)模性與食品安全性的問題等可以看出,預(yù)制菜逐漸走入大眾視野,在疫情因素的影響下,更是現(xiàn)在較為熱點(diǎn)的研究??梢钥闯?,預(yù)制菜的領(lǐng)域研究越來越引起重視,這是社會(huì)發(fā)展的需要,預(yù)制菜的研究趨勢(shì)明顯。我國(guó)對(duì)于品牌設(shè)計(jì)研究的較多,黃勝兵、盧泰宏認(rèn)為品牌形象本質(zhì)屬性設(shè)計(jì)分“硬性”和“軟性”兩種,羅子明提出品牌形象含有多重特性,主要包含品牌認(rèn)知、產(chǎn)品屬性、品牌聯(lián)想、品牌價(jià)值、品牌忠誠(chéng)五個(gè)方面。魏東在《品牌設(shè)計(jì)中的設(shè)計(jì)》中介紹想要品牌擁有高附加值,要注重有形的品牌、可感知的品牌與智慧的品牌。也有部分的研究是品牌形象塑造、城市品牌形象、品牌維度等方面。綜上所述,當(dāng)前我國(guó)的預(yù)制菜行業(yè)正處于發(fā)展階段,呈上升趨勢(shì),雖然對(duì)于預(yù)制菜的研究不斷增多,但對(duì)于預(yù)制菜品牌設(shè)計(jì)研究還是存在一定的潛在市場(chǎng),如何把預(yù)制菜品牌化,是市場(chǎng)需要拓展的部分。預(yù)制菜管理系統(tǒng)不同于連鎖店直接向連鎖總店購(gòu)買本品牌固定的菜品模式。對(duì)于單獨(dú)的小微企業(yè)而言,涉略的范圍廣,研究的菜品深,口味齊全,才是中小微企業(yè)存活下去的基本條件。對(duì)中小型預(yù)制菜餐廳而言,一套完整的管理系統(tǒng)開發(fā)支出無疑是一筆巨大的開銷,而且,中小型預(yù)制菜餐廳的預(yù)制菜下單規(guī)模、數(shù)量往往不大。餐廳店主會(huì)根據(jù)每日銷售的菜品、數(shù)量、口味來有依據(jù)的進(jìn)貨。這種情況下高昂的系統(tǒng)定制成本往往會(huì)成為許多中小微餐飲店進(jìn)行信息化的障礙。隨著餐飲店對(duì)信息化需求的日益增加,大量店主想提高效率,利用互聯(lián)網(wǎng)時(shí)代的便捷來擺脫過去冗雜的步驟。本文提出開發(fā)一個(gè)基于五山餐廳的預(yù)制菜管理信息系統(tǒng),用于餐飲業(yè)管理預(yù)制菜進(jìn)貨,簡(jiǎn)化餐飲業(yè)使用過程,縮減時(shí)間流程,餐廳管理者可以更加方便地體驗(yàn)信息化帶來的便利。研究目標(biāo)與內(nèi)容研究目標(biāo)完成中小預(yù)制菜餐廳的管理系統(tǒng)的設(shè)計(jì)與開發(fā)(Jinhuaetal.,2021),讓系統(tǒng)管理員能夠快捷方便地管理訂單信息和用戶信息,解決中小預(yù)制菜餐廳的高成本信息化的問題。完成微服務(wù)架構(gòu)下的程序設(shè)計(jì)與實(shí)現(xiàn),更具針對(duì)性,打造專業(yè)化、專一化的預(yù)制菜管理信息系統(tǒng)。主要內(nèi)容本文研究預(yù)制菜管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(劉霞,2024),主要的研究?jī)?nèi)容包括如下三個(gè)部分:(1)五山餐廳預(yù)制菜管理系統(tǒng)的需求分析。通過調(diào)查市面上現(xiàn)有的預(yù)制菜信息化平臺(tái)如小哥騎手等,結(jié)合五山餐廳預(yù)制菜管理系統(tǒng)的低成本、高便利需求,確認(rèn)系統(tǒng)的核心功能,并使用UML用例模型對(duì)系統(tǒng)需求進(jìn)行分析,根據(jù)需求繪制用例圖、活動(dòng)圖,整理用例文本。本文的功能性需求主要集中在機(jī)構(gòu)管理員和系統(tǒng)管理員兩個(gè)用戶角色上。(2)五山預(yù)制菜餐廳管理信息系統(tǒng)的架構(gòu)設(shè)計(jì)。選用Java語言,使用SpringBoot作為基礎(chǔ)框架,結(jié)合Mysql、Mybatis、Druid、Redis、PageHelper、SpringSecurity、JWT等常見框架或工具。漸進(jìn)式JavaScript(Sheneamer,2024)框架Vue.js,使用Vue.js核心插件VueRouter、Vuex等,使用Echarts實(shí)現(xiàn)圖形報(bào)表。(3)前后端協(xié)作與項(xiàng)目管理的設(shè)計(jì)與實(shí)現(xiàn)。前后端協(xié)作實(shí)踐內(nèi)容包括Maven、Gitee平臺(tái)、Postman、Swagger、Mock以及VuePress等。技術(shù)方案本文項(xiàng)目采用前后端分離的技術(shù)進(jìn)行開發(fā)設(shè)計(jì),詳細(xì)的技術(shù)方案如下:(1)后臺(tái)開發(fā)的技術(shù)方案項(xiàng)目的后臺(tái)開發(fā)選用Java語言,使用SpringBoot作為基礎(chǔ)框架,結(jié)合Mysql、Mybatis、Druid、Redis、PageHelper、SpringSecurity、JWT等常見框架或工具。利用了SpringCloud框架,使得項(xiàng)目主要由Eureka服務(wù)注冊(cè)中心微服務(wù)、SSF實(shí)現(xiàn)用戶認(rèn)證和授權(quán)。微服務(wù)由單獨(dú)的一個(gè)項(xiàng)目并通過SpringBoot的application.yml配置文件注冊(cè)到Eureka服務(wù)注冊(cè)中心。并且使用JWT+Redis實(shí)現(xiàn)通過token進(jìn)行用戶認(rèn)證。使用Spring的AOP實(shí)現(xiàn)操作日志。(2)前端開發(fā)的技術(shù)方案項(xiàng)目前端實(shí)踐選用漸進(jìn)式JavaScript(Ocarizaetal.,2017)框架Vue.js。使用Vue.js核心插件VueRouter、Vuex等,使用Echarts實(shí)現(xiàn)圖形報(bào)表。前端組件庫(kù)使用Element-UI。由于項(xiàng)目采用前后端分離的模式,客戶端的數(shù)據(jù)接口請(qǐng)求均以RESTfulAPI(Paczianetal.,2019)的形式進(jìn)行請(qǐng)求,服務(wù)端均以JSON(JavaScriptObjectNotation,JavaScript對(duì)象簡(jiǎn)譜)格式的字符串返回給其他客戶端,而客戶端在請(qǐng)求API接口前均要把請(qǐng)求結(jié)果轉(zhuǎn)換成JSON格式的字符串才能請(qǐng)求成功(周超,2023)。(3)數(shù)據(jù)庫(kù)和服務(wù)器選擇本項(xiàng)目使用的數(shù)據(jù)庫(kù)是采用當(dāng)前流行的MySQL關(guān)系數(shù)據(jù)庫(kù)(Zmarandaetal.,2021)。MySQL關(guān)系數(shù)據(jù)庫(kù)具有易于維護(hù)、使用方便、跨表操作操作等優(yōu)點(diǎn)。是目前使用最廣泛的關(guān)系型數(shù)據(jù)庫(kù)操作語言。相關(guān)技術(shù)SpringBootSpringBoot基于Spring4.0設(shè)計(jì),不僅繼承了Spring框架原有的優(yōu)秀特性,而且還通過簡(jiǎn)化配置來進(jìn)一步簡(jiǎn)化了Spring應(yīng)用的整個(gè)搭建和開發(fā)過程。另外SpringBoot通過集成大量的框架使得依賴包的版本沖突,以及引用的不穩(wěn)定性等問題得到了很好的解決。SpringBoot具備的:可以創(chuàng)建獨(dú)立的Spring應(yīng)用程序(田小萍等,2023),并且基于其Maven或Gradle插件,可以創(chuàng)建可執(zhí)行的JARs和WARs;并且內(nèi)嵌Tomcat或Jetty等Servlet容器;還可以提供自動(dòng)配置的“starter”項(xiàng)目對(duì)象模型(POMS)以簡(jiǎn)化Maven配置;盡可能自動(dòng)配置Spring容器;SpringCloudSpringCloud是一個(gè)服務(wù)治理平臺(tái),是若干個(gè)框架的集合,提供了全套的分布式系統(tǒng)解決方案。它的目標(biāo)是簡(jiǎn)化分布式系統(tǒng)基礎(chǔ)設(shè)施的開發(fā),包含了眾多功能模塊,讓開發(fā)者能夠快速構(gòu)建和部署分布式系統(tǒng)。2014年3月MartinFowler在他的博客中提出了微服務(wù)的系統(tǒng)架構(gòu),不同于傳統(tǒng)的單體架構(gòu),微服務(wù)架構(gòu)將系統(tǒng)項(xiàng)目拆分成了多個(gè)小的項(xiàng)目,這些項(xiàng)目可以分開進(jìn)行開發(fā)和部署。SpringCloud是開發(fā)微服務(wù)架構(gòu)的一個(gè)工具集合而不是單單時(shí)一種技術(shù)。SpringCloud是基于SpringBoot進(jìn)行封裝并利用SpringBoot的開發(fā)便利性巧妙地簡(jiǎn)化了分布式應(yīng)用程序的開發(fā)過程,屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,最終給開發(fā)者留下了一個(gè)開發(fā)、測(cè)試、部署都非常簡(jiǎn)單的開發(fā)框架(張強(qiáng)等,2023)。SpringCloudEurekaSpringCloudEureka是SpringCloud的核心組件,主要功能是服務(wù)治理。Eureka中包含兩個(gè)組件分別是EurekaServer和EurekaClient。EurekaServer用于提供注冊(cè)服務(wù),相當(dāng)于服務(wù)注冊(cè)中心。配置好EurekaClient的服務(wù)會(huì)把服務(wù)注冊(cè)到EurekaServer注冊(cè)中心,當(dāng)EurekaClient的服務(wù)啟動(dòng)的時(shí)候,會(huì)在EurekaServer中進(jìn)行注冊(cè)(Fioreetal.,2009)。Eureka的服務(wù)注冊(cè)結(jié)構(gòu)圖如圖1所示,服務(wù)提供者和服務(wù)消費(fèi)者相當(dāng)于EurekaClient,注冊(cè)中心相當(dāng)于EurekaServer,服務(wù)消費(fèi)者和服務(wù)提供者向服務(wù)注冊(cè)中心注冊(cè),服務(wù)消費(fèi)者向注冊(cè)中心發(fā)送心跳并通過注冊(cè)中心查找遠(yuǎn)程服務(wù),查找到遠(yuǎn)程服務(wù)后調(diào)用服務(wù)提供者提供的服務(wù)。Eureka是SpringCloud的核心組件,保證了服務(wù)調(diào)用的可用性和穩(wěn)定性。圖SEQ圖\*ARABIC1Eureka服務(wù)注冊(cè)結(jié)構(gòu)圖Redis緩存Redis一直是開發(fā)的熱門技術(shù)而備受大眾的關(guān)注(Manchaleetal.,2021)。Redis本質(zhì)上是一個(gè)Key-Value類型、單進(jìn)程、單線程的內(nèi)存數(shù)據(jù)庫(kù),運(yùn)行時(shí)整個(gè)Redis數(shù)據(jù)庫(kù)加載到機(jī)器的內(nèi)存中進(jìn)行操作。由于是純內(nèi)存的數(shù)據(jù)庫(kù)操作,所以Redis的性能優(yōu)勢(shì)很突出(楊洪,2024)。Redis支持主從同步。數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這使得Redis可執(zhí)行單層樹復(fù)制。存盤可以有意無意的對(duì)數(shù)據(jù)進(jìn)行寫操作。由于完全實(shí)現(xiàn)了發(fā)布/訂閱機(jī)制,使得從數(shù)據(jù)庫(kù)在任何地方同步樹時(shí),可訂閱一個(gè)頻道并接收主服務(wù)器完整的消息發(fā)布記錄。同步對(duì)讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余很有幫助。雖然Redis是Key-Value類型的內(nèi)存數(shù)據(jù)庫(kù),但是它仍能保存比較豐富的數(shù)據(jù)類型如字符串(string)、哈希(hash)、列表(list)、集合(set)等,另外Redis能夠?yàn)榇嫒氲臄?shù)據(jù)設(shè)置過期時(shí)間(expire),到達(dá)過期時(shí)間后Redis將自動(dòng)清理過期數(shù)據(jù)。Redis大大提高了系統(tǒng)的性能,減少了系統(tǒng)查詢結(jié)構(gòu)化數(shù)據(jù)庫(kù)的次數(shù)。MyBatisMyBatis是一款優(yōu)秀的持久層框架,它支持定制化SQL(Songetal.,2024)、存儲(chǔ)過程以及高級(jí)映射。MyBatis避免了幾乎所有的JDBC代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。MyBatis可以使用簡(jiǎn)單的XML或注解來配置和映射原生信息,將接口和Java的POJOs映射成數(shù)據(jù)庫(kù)中的記錄。MyBatis:簡(jiǎn)單易學(xué),本身就很小且簡(jiǎn)單。沒有任何第三方依賴,最簡(jiǎn)單安裝只要兩個(gè)jar文件+配置幾個(gè)sql映射文件。并且易于學(xué)習(xí),易于使用。通過文檔和源代碼,可以比較完全的掌握它的設(shè)計(jì)思路和實(shí)現(xiàn)。還非常靈活:mybatis不會(huì)對(duì)應(yīng)用程序或者數(shù)據(jù)庫(kù)的現(xiàn)有設(shè)計(jì)強(qiáng)加任何影響。Sql語句寫在xml里,便于統(tǒng)一管理和優(yōu)化。通過sql語句可以滿足操作數(shù)據(jù)庫(kù)的所有需求。還能夠解除sql與程序代碼的耦合:通過提供DAO層,將業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯分離,使系統(tǒng)的設(shè)計(jì)更清晰,更易維護(hù),更易單元測(cè)試(羅輝瓊等,2024)。系統(tǒng)需求分析涉眾及用例UML(UnifiedModelingLanguage,統(tǒng)一建模語言)是一種可以貫穿系統(tǒng)開發(fā)過程的、有效的、可視化的、文檔化的建模語言。用例模型(UseCaseModel)是描述系統(tǒng)功能需求、描述系統(tǒng)環(huán)境的模型,而UML用例圖(UseCaseDiagram)則清晰地描述了系統(tǒng)參與者與用例名稱的關(guān)系,用例圖制品在需求分析階段發(fā)揮關(guān)鍵作用(Misbhauddinetal.,2015)。本文的涉眾及用例圖如圖2所示,用例圖中涉眾包括系統(tǒng)管理員和機(jī)構(gòu)管理員,系統(tǒng)管理員負(fù)責(zé)管理機(jī)構(gòu)的相關(guān)信息、管理提供租戶購(gòu)買的應(yīng)用服務(wù)及其套餐信息等。機(jī)構(gòu)管理員可以進(jìn)行機(jī)構(gòu)入駐,訂閱套餐等。圖2涉眾及用例圖鑒于用例數(shù)量較多,在此選擇主要的用例進(jìn)行簡(jiǎn)要的描述,簡(jiǎn)要描述如表1所示,表中對(duì)用戶注冊(cè)、用戶登錄、菜品管理、訂單管理、等8個(gè)主要用例進(jìn)行簡(jiǎn)述。表SEQ表\*ARABIC1主要用例描述表用例名稱描述用戶注冊(cè)預(yù)制菜管理系統(tǒng)的餐廳店主通過注冊(cè)賬號(hào),來進(jìn)行賬號(hào)注冊(cè),注冊(cè)信息包括用戶名、手機(jī)號(hào)、密碼等信息。續(xù)上表:用例名稱描述用戶登錄在注冊(cè)賬號(hào)成功之后,預(yù)制菜管理信息系統(tǒng)的管理員和預(yù)制菜餐廳的店主可以通過已有的賬號(hào)和密碼成功登錄系統(tǒng)。管理菜品預(yù)制菜管理信息系統(tǒng)的管理員在成功登錄系統(tǒng)平臺(tái)之后,系統(tǒng)管理員可以對(duì)菜品進(jìn)行上下架處理,查看菜品種類、數(shù)量、價(jià)格等關(guān)鍵信息,了解不同菜品所對(duì)應(yīng)的品牌。餐廳店主也可以登錄信息系統(tǒng)平臺(tái)進(jìn)行查看,了解不同種類、口味為的預(yù)制菜。管理訂單預(yù)制菜管理信息平臺(tái)的管理員可以在成功登錄信息系統(tǒng)平臺(tái)之后,對(duì)訂單明細(xì)進(jìn)行查看。餐廳店主可以在成功登錄信息系統(tǒng)平臺(tái)之后,在信息系統(tǒng)平臺(tái)上進(jìn)行下單,購(gòu)買所需的預(yù)制菜菜品。系統(tǒng)管理預(yù)制菜管理信息平臺(tái)的管理員可以在成功登錄信息系統(tǒng)平臺(tái)之后,對(duì)系統(tǒng)進(jìn)行管理,對(duì)注冊(cè)的餐廳店主這類用戶進(jìn)行查看,可以幫助開賬戶、注銷賬號(hào)。還能對(duì)用戶進(jìn)行菜單管理,設(shè)置用戶的菜單。上傳文件可以為各個(gè)客戶端提供文件服務(wù)器的文件上傳功能,上傳的文件可以是任何格式。主要用例描述UML活動(dòng)圖在實(shí)際的實(shí)踐場(chǎng)景中通常用來描述具體的系統(tǒng)用戶行為,同時(shí)系統(tǒng)的用例也經(jīng)常使用活動(dòng)圖進(jìn)行描述。本文使用活動(dòng)圖去描述主要的用例場(chǎng)景,替代了用例詳述形式來對(duì)系統(tǒng)用例進(jìn)行描述。用戶注冊(cè)用例用戶注冊(cè)用例活動(dòng)圖如圖3所示,預(yù)制菜餐廳店主通過點(diǎn)擊信息管理系統(tǒng)平臺(tái),點(diǎn)擊注冊(cè),系統(tǒng)會(huì)呈現(xiàn)出注冊(cè)頁(yè)面,餐廳店主在注冊(cè)頁(yè)面輸入自己的用戶名、手機(jī)號(hào)等相關(guān)個(gè)人信息。之后,在下面驗(yàn)證碼中輸入正確的驗(yàn)證碼。如果驗(yàn)證碼也對(duì),就會(huì)提交注冊(cè)信息。系統(tǒng)將會(huì)記錄用戶的注冊(cè)信息,并將信息儲(chǔ)存道數(shù)據(jù)庫(kù)中,之后將跳轉(zhuǎn)到登錄頁(yè)面,提示用戶利用已注冊(cè)的賬號(hào)進(jìn)行登錄系統(tǒng)。若系統(tǒng)監(jiān)測(cè)出注冊(cè)的用戶驗(yàn)證碼比對(duì)錯(cuò)誤,將會(huì)提示用戶驗(yàn)證碼錯(cuò)誤,并且將要重新進(jìn)行賬號(hào)注冊(cè)這一過程。圖3用戶注冊(cè)活動(dòng)圖用戶登錄用例用戶登錄用例的活動(dòng)圖如圖4所示。預(yù)制菜管理系統(tǒng)管理員和餐廳店主進(jìn)入機(jī)構(gòu)入駐平臺(tái)系統(tǒng)的登錄頁(yè)面,輸入用戶名和密碼,系統(tǒng)檢測(cè)用戶名和密碼是否同時(shí)正確,若用戶名錯(cuò)誤或密碼驗(yàn)證錯(cuò)誤,則提示機(jī)構(gòu)管理員重新填寫登錄信息,若輸入的用戶名和密碼同時(shí)驗(yàn)證正確,則提示機(jī)構(gòu)管理員登錄成功,并跳轉(zhuǎn)到機(jī)構(gòu)入駐系統(tǒng)的首頁(yè),而系統(tǒng)則將記錄登錄信息,并返回用戶信息到頁(yè)面。圖4用戶登錄活動(dòng)圖管理菜品用例預(yù)制菜管理系統(tǒng)的管理菜品用例活動(dòng)圖如圖5所示。預(yù)制菜菜品管理主要分為這幾個(gè)步驟:預(yù)制菜系統(tǒng)管理員對(duì)菜品品牌進(jìn)行查看調(diào)整、對(duì)菜品種類進(jìn)行分析、調(diào)整。預(yù)制菜管理系統(tǒng)的管理員登錄平臺(tái)成功之后,可以進(jìn)入預(yù)制菜菜品管理專區(qū),系統(tǒng)管理員可以根據(jù)適時(shí)分析對(duì)菜品進(jìn)行管理。菜品管理分成兩部分:菜品種類的管理和菜品品牌的管理。系統(tǒng)管理員在菜品管理板塊,首先根據(jù)菜品銷售的數(shù)據(jù)適時(shí)分析,可以得出熱門菜品和不受歡迎的菜品。系統(tǒng)管理員及時(shí)下架不受歡迎的菜品,并上架新的菜品。新上架的菜品將會(huì)從:不同品牌、不同口味、不同菜系進(jìn)行分類。為之后餐廳店主的選擇提供分類依據(jù)。除此之外,管理員還能及時(shí)調(diào)整菜品的售賣單價(jià),對(duì)于銷量不好的菜品,及時(shí)進(jìn)行降價(jià)促銷。在菜品的品牌管理中,系統(tǒng)管理員可以動(dòng)態(tài)調(diào)整新進(jìn)的品牌,將不同領(lǐng)域的預(yù)制菜品牌都添加進(jìn)來,擴(kuò)大經(jīng)營(yíng)范圍與品牌合作。預(yù)制菜餐廳店主在成功登錄平臺(tái)之后,可以進(jìn)入菜品專欄。先在菜品展示頁(yè)面,可以進(jìn)行了解目前上架菜品,查找想要的菜品。對(duì)菜品的種類、口味、價(jià)格進(jìn)行了解。并且餐廳店主還可以查看菜品的品牌有哪些。圖5管理菜品活動(dòng)圖管理訂單用例管理訂單用例活動(dòng)圖如圖6所示。預(yù)制菜信息系統(tǒng)管理員在成功登錄平臺(tái)之后,可以進(jìn)入到訂單管理模塊。預(yù)制菜訂單管理主要分為這幾個(gè)步驟:預(yù)制菜系統(tǒng)管理員對(duì)訂單內(nèi)容進(jìn)行查看、對(duì)銷售數(shù)據(jù)進(jìn)行分析、調(diào)整。首先是預(yù)制菜餐廳店主,作為用戶,成功登錄信息管理平臺(tái)之后,在訂單板塊,選擇需要購(gòu)買的預(yù)制菜菜品進(jìn)行下單,對(duì)其進(jìn)行一一購(gòu)買。餐廳店主如果購(gòu)買的菜品不在售賣行列中,將無法被搜尋到,無法進(jìn)行下單購(gòu)買。在此過程中,用戶不斷對(duì)購(gòu)買的訂單進(jìn)行調(diào)整,購(gòu)買數(shù)量、購(gòu)買種類都可以進(jìn)行選擇。當(dāng)完成購(gòu)買,則點(diǎn)擊“結(jié)束購(gòu)買”。這份訂單將被成功創(chuàng)建,但是此時(shí),這份訂單是屬于已鎖定但未付款的訂單。僅僅是把訂單封存,并沒有付款,所有在后臺(tái)管理員的嚴(yán)重,這份訂單還是已鎖定,但未付款的存在。等餐廳店主付款之后,這份訂單就會(huì)顯示為已付款。預(yù)制菜信息系統(tǒng)管理員就可以在訂單管理模塊,對(duì)訂單進(jìn)行查看、處理為付款訂單、對(duì)訂單的數(shù)據(jù)進(jìn)行分析。對(duì)訂單進(jìn)行操作管理。圖6管理訂單活動(dòng)圖系統(tǒng)管理用例系統(tǒng)管理的活動(dòng)圖如圖7所示。預(yù)制菜管理系統(tǒng)的管理員登錄平臺(tái)成功之后,點(diǎn)擊系統(tǒng)管理模考,首先,在里面進(jìn)入菜單管理。菜單管理就是針對(duì)整個(gè)管理信息系統(tǒng)不同身份的人物,提供不同的信息管理系統(tǒng)的權(quán)限。每個(gè)成功登錄系統(tǒng)的管理者和用戶所擁有的權(quán)限不同,看到的系統(tǒng)功能構(gòu)成部分也不同。當(dāng)預(yù)制菜管理系統(tǒng)的管理員點(diǎn)擊菜單管理的時(shí)候,可以根據(jù)成功注冊(cè),并且可以順利登錄用戶的賬號(hào)進(jìn)行權(quán)限分發(fā)。如若不給用戶開權(quán)限,則用戶在預(yù)制菜管理信息系統(tǒng)里面將無法進(jìn)行任何操作。使用不了系統(tǒng)的功能。圖7管理系統(tǒng)活動(dòng)圖上傳文件用例上傳文件用例的活動(dòng)圖如圖8所示。上傳文件用例針對(duì)所有的預(yù)制菜管理系統(tǒng)的用戶,作為一個(gè)公共的文件管理服務(wù)。預(yù)制菜管理系統(tǒng)的用戶可以在系統(tǒng)上傳文件,點(diǎn)擊選擇任意格式的文件上傳,若上傳成功,則系統(tǒng)提示上傳成功;若文件上傳失敗,客戶端用戶可以選擇重新上傳文件,也可以選擇退出文件上傳。圖8上傳文件活動(dòng)圖系統(tǒng)總體設(shè)計(jì)微服務(wù)架構(gòu)設(shè)計(jì)本文的項(xiàng)目采用SpringCloud微服務(wù)和SpringBoot的框架進(jìn)行開發(fā),項(xiàng)目的微服務(wù)架構(gòu)設(shè)計(jì)圖如圖10所示。采用前后端分離的技術(shù),客戶端通過網(wǎng)絡(luò)請(qǐng)求獲取數(shù)據(jù)進(jìn)行頁(yè)面的渲染,前后端項(xiàng)目使用Docker部署在虛擬機(jī)的服務(wù)器中。整個(gè)項(xiàng)目通過統(tǒng)一設(shè)置請(qǐng)求地址和端口,每個(gè)服務(wù)模塊都遵從開發(fā)模式。整個(gè)項(xiàng)目通過SpringCloudEureka注冊(cè)中心管理整個(gè)業(yè)務(wù)服務(wù)群。從圖9中可以看到,所有機(jī)構(gòu)全部利用這個(gè)MySQL數(shù)據(jù)庫(kù)。本人完全負(fù)責(zé)了項(xiàng)目的SpringSecurity框架、用戶服務(wù)、系統(tǒng)管理權(quán)限服務(wù)、認(rèn)證服務(wù)、支付服務(wù)、文件服務(wù)、菜品管理服務(wù)、訂單管理服務(wù)等的設(shè)計(jì)開發(fā)工作。在前端工作方面,獨(dú)立完成對(duì)用戶界面的設(shè)計(jì)、前端Vue框架的開發(fā)和前后端進(jìn)行數(shù)據(jù)交互,基本上都是利用API進(jìn)行實(shí)現(xiàn),部分使用到axios、fetchAPI或其他HTTP客戶端庫(kù)來發(fā)送請(qǐng)求并處理響應(yīng)。預(yù)制菜管理系統(tǒng)的Web前端頁(yè)面開發(fā)、系統(tǒng)管理員后臺(tái)管理系統(tǒng)的Web前端開發(fā)工作都完成了開發(fā)。后端工作方面:選擇MySql數(shù)據(jù)庫(kù),并對(duì)數(shù)據(jù)庫(kù)進(jìn)行了設(shè)計(jì)。對(duì)后端分模塊開發(fā),API處理和實(shí)現(xiàn)業(yè)務(wù)邏輯,對(duì)數(shù)據(jù)進(jìn)行增刪改查(CRUD)操作,完成了整個(gè)項(xiàng)目總的后端開發(fā)工作。圖9系統(tǒng)微服務(wù)架構(gòu)圖功能模塊劃分本文按照系統(tǒng)需求以及Web前端模塊的界面劃分,主要設(shè)計(jì)了7個(gè)主要模塊,其功能模塊結(jié)構(gòu)圖如圖10所示。主要設(shè)計(jì)了預(yù)制菜餐廳用戶注冊(cè)激活模塊、菜品管理模塊、訂單管理模塊、系統(tǒng)管理模塊、權(quán)限管理模塊等5個(gè)主要的模塊,文件管理模塊作為系統(tǒng)的公用模塊。具體的業(yè)務(wù)模塊描述如表2所示,每個(gè)功能模塊都具有不同的業(yè)務(wù)功能。根據(jù)不同的模塊進(jìn)行不同的設(shè)計(jì)與劃分。圖10功能模塊結(jié)構(gòu)圖表SEQ表\*ARABIC2功能模塊表功能模塊名稱功能模塊描述用戶注冊(cè)模塊預(yù)制菜餐廳店主在管理信息平臺(tái)進(jìn)行使用,需要在信息管理平臺(tái)注冊(cè)、登錄、激活等操作。菜品管理模塊預(yù)制菜管理信息系統(tǒng)管理員查在菜品管理模塊,對(duì)菜品數(shù)量、種類、口味進(jìn)行查看了解。并且及時(shí)上架新菜品、下架銷量不好的菜品。對(duì)菜品適時(shí)動(dòng)態(tài)調(diào)整。續(xù)上表:功能模塊名稱功能模塊描述用戶管理模塊預(yù)制菜管理信息系統(tǒng)管理員在用戶管理模塊,查看了解用戶使用系統(tǒng)時(shí)長(zhǎng)、頻率等信息,對(duì)用戶進(jìn)行適時(shí)管控??梢栽诠芾砟K中對(duì)用戶進(jìn)行修改信息和注銷等處理。訂單管理模塊預(yù)制菜管理信息系統(tǒng)管理員在信息系統(tǒng)中可以進(jìn)入訂單管理模塊,對(duì)所有訂單進(jìn)行查詢,了解訂單??梢岳糜唵螖?shù)據(jù)進(jìn)行數(shù)據(jù)分析,分析出銷量情況,及時(shí)查看已鎖定但還沒付款的訂單,提醒用戶及時(shí)付款下單。對(duì)一直不付款的訂單,如若超出付款時(shí)間,可以對(duì)其進(jìn)行取消訂單。系統(tǒng)管理模塊預(yù)制菜管理信息系統(tǒng)管理員在信息系統(tǒng)中可以進(jìn)入系統(tǒng)管理模塊,利用已知的用戶和管理員。對(duì)不同身份的賦予不同權(quán)限,進(jìn)行菜單權(quán)限管理。用戶將會(huì)被分得菜品查看模塊、訂單購(gòu)買模塊、文件傳輸模塊等功能。而系統(tǒng)管理員將會(huì)得到菜品管理模塊、訂單管理模塊、用戶管理模塊、系統(tǒng)管理模塊等功能進(jìn)行控制。文件管理模塊文件管理模塊是公共的服務(wù)模塊,客戶端可以對(duì)文件進(jìn)行基本的上傳、下載、文件回顯、文件刪除等功能。系統(tǒng)詳細(xì)設(shè)計(jì)功能設(shè)計(jì)模塊由于本系統(tǒng)功能較多,且大部分的系統(tǒng)后臺(tái)管理工作都是基于數(shù)據(jù)庫(kù)進(jìn)行增刪查改,故本章節(jié)將在每個(gè)功能模塊中,挑選出實(shí)現(xiàn)難度較大、業(yè)務(wù)功能比較重要的功能模塊進(jìn)行詳細(xì)的解釋。所有的接口均使用HTTP標(biāo)準(zhǔn)中的四種基本請(qǐng)求方式(GET、POST、PUT、DELETE)進(jìn)行請(qǐng)求。用戶注冊(cè)模塊用戶注冊(cè)模塊的順序圖如圖11所示。機(jī)構(gòu)管理員在機(jī)構(gòu)入駐平臺(tái)注冊(cè)頁(yè)面中輸入用戶名、密碼和電子郵箱等用戶的個(gè)人信息后點(diǎn)擊提交,前端就會(huì)把預(yù)制菜餐廳店主輸入的信息給組裝成userRegisterVo對(duì)象,并將其轉(zhuǎn)換成JSON格式再次進(jìn)行提交,提交后調(diào)用register接口方法完成預(yù)制菜餐廳店主用戶注冊(cè)的流程。預(yù)制菜餐廳店主提交的注冊(cè)賬戶請(qǐng)求被SysUserController層的register方法攔截后會(huì)先創(chuàng)建一個(gè)入駐用戶類SetUser對(duì)象setUser,然后通過Spring框架自帶的BeanUtils工具把傳遞過來的userRegisterVo對(duì)象的字段信息拷貝到setUser對(duì)象中,然后再調(diào)用SysUserServiceImpl的register方法。在SysUserServiceImpl的register方法中,系統(tǒng)將會(huì)首先調(diào)用了SysUserMapper層的countByUsername方法檢測(cè)注冊(cè)的用戶名是否存在,該方法返回一個(gè)整數(shù)類型的countByUsername變量,若countByUsername變量不為0,則注冊(cè)失敗,返回“用戶名或郵箱已存在”的錯(cuò)誤提示,同理,調(diào)用SysUserMapper的countByEmail方法檢測(cè)注冊(cè)郵箱是否存在,若存在則返回錯(cuò)誤提示。若注冊(cè)的用戶名和郵箱都沒有重復(fù),則使用Spring框架提供的DigestUtils工具,使用MD5算法對(duì)注冊(cè)密碼進(jìn)行加密,然后使用SysUserMapper的插入方法insert把注冊(cè)信息以及加密后的秘鑰串插入到數(shù)據(jù)庫(kù),最后返回setUser對(duì)象的信息。這就是整個(gè)預(yù)制菜餐廳店主注冊(cè)賬戶的過程。圖11用戶注冊(cè)模塊順序圖用戶登錄模塊預(yù)制菜餐廳店主的賬號(hào)注冊(cè)成功后,可以在預(yù)制菜信息管理平臺(tái)系統(tǒng)中登錄,預(yù)制菜餐廳店主登錄模塊的順序圖如圖12所示。管理員和預(yù)制菜餐廳店主進(jìn)入預(yù)制菜信息管理平臺(tái)系統(tǒng)的登錄頁(yè)面,輸入用戶名和密碼并點(diǎn)擊提交后,提交請(qǐng)求前會(huì)把用戶名和密碼封裝成userLoginVo對(duì)象并轉(zhuǎn)換成JSON格式,登錄請(qǐng)求的信息會(huì)進(jìn)入到SysUserController的login方法中,并調(diào)用Service層中SysUserServiceImpl的login方法進(jìn)行登錄驗(yàn)證。在SysUserServiceImpl的login方法中,首先會(huì)調(diào)用SysUserMapper的selectByUsername方法驗(yàn)證用戶名是否存在,selectByUsername方法會(huì)根據(jù)用戶名查詢出是否有該用戶的信息并把用戶信息轉(zhuǎn)換成對(duì)象settledInUser,若settledInUser不存在,返回“用戶名或密碼錯(cuò)誤”的提示。如果settledInUser存在,則使用Spring框架提供的DigestUtils工具,使用MD5算法對(duì)登錄請(qǐng)求中的明文密碼進(jìn)行一次加密,并與setUser中的秘鑰串字段數(shù)據(jù)進(jìn)行不區(qū)分大小寫的比較,若加密后的明文密碼和setUser的秘鑰串字段數(shù)據(jù)不同,則登錄失敗,返回提示“用戶名或密碼錯(cuò)誤”,否則登錄成功,設(shè)置setUser的秘鑰串為空字符串,然后返回setUser對(duì)象,后臺(tái)記錄登錄用戶的信息。當(dāng)預(yù)制菜餐廳店主需要進(jìn)入系統(tǒng)時(shí),預(yù)制菜餐廳店主輸入賬號(hào)和密碼,點(diǎn)擊登陸按鈕,系統(tǒng)調(diào)用登錄方法,該方法先判斷信息是否缺失,若缺失提示“密碼為空”、“未選擇機(jī)構(gòu)”等相應(yīng)的錯(cuò)誤信息。若沒有缺失信息,便傳遞賬號(hào)、密碼和機(jī)構(gòu)id參數(shù),訪問后臺(tái)服務(wù)器登錄方法,請(qǐng)求登陸。圖12租戶登錄模塊順序圖信息修改模塊在整個(gè)系統(tǒng)中,修改個(gè)人信息是非常關(guān)鍵的一項(xiàng),修改用戶的個(gè)人信息系統(tǒng)順序圖如圖13所示。用戶可以在系統(tǒng)上修改自己的基本信息和密碼。圖13修改個(gè)人信息系統(tǒng)順序圖預(yù)制菜管理信息系統(tǒng)管理員修改個(gè)人信息順序圖如圖14所示。當(dāng)預(yù)制菜管理信息系統(tǒng)管理員修改個(gè)人信息時(shí),updateInfo方法調(diào)用API中的updateSelfInfo方法。本地判斷用戶角色以調(diào)用不同的后臺(tái)接口,兩者都需傳遞所有個(gè)人信息參數(shù):name、age、sex、address、phone等。請(qǐng)求成功后,本地得到respone中攜帶的操作成功或失敗的信息。系統(tǒng)通過消息提示框提示用戶操作結(jié)果,若成功則更新該頁(yè)面的個(gè)人信息。修改密碼時(shí),本地調(diào)用changeInfo方法,該方法先判斷用戶是否填寫了完整的信息,若不完整則提示用戶完成輸入。再判斷新舊密碼是否一致,若新舊密碼相同,提示用戶重新修改密碼。若信息填寫正確便可以調(diào)用API中的changeSelfUser方法,并傳遞舊密碼、新密碼和賬號(hào)參數(shù),請(qǐng)求后臺(tái)更新密碼。請(qǐng)求成功后,本地得到respone中攜帶的操作成功或失敗的信息,并提示管理員操作結(jié)果。圖14管理員修改個(gè)人信息系統(tǒng)順序圖預(yù)制菜餐廳店主修改個(gè)人信息順序圖如圖15所示,當(dāng)預(yù)制菜餐廳店主修改個(gè)人信息時(shí),updateInfo方法調(diào)用API中的updateUser方法。本地判斷用戶角色以調(diào)用不同的后臺(tái)接口,兩者都需傳遞所有個(gè)人信息參數(shù):name、age、sex、address、phone等。請(qǐng)求成功后,本地得到respone中攜帶的操作成功或失敗的信息。系統(tǒng)通過消息提示框提示用戶操作結(jié)果,若成功則更新該頁(yè)面的個(gè)人信息。修改密碼時(shí),本地調(diào)用changeUserInfo方法,該方法先判斷用戶是否填寫了完整的信息,若不完整則提示用戶完成輸入。再判斷新舊密碼是否一致,若新舊密碼相同,提示用戶重新修改密碼。若信息填寫正確便可以調(diào)用API中的changeUser方法,并傳遞舊密碼、新密碼和賬號(hào)參數(shù),請(qǐng)求后臺(tái)更新密碼。請(qǐng)求成功后,本地得到respone中攜帶的操作成功或失敗的信息,并提示用戶操作結(jié)果。圖15餐廳店主修改個(gè)人信息系統(tǒng)順序圖菜品種類管理預(yù)制菜管理信息系統(tǒng)管理員對(duì)菜品種類管理如圖16所示。第一種管理功能,預(yù)制菜管理信息系統(tǒng)管理員成功登錄到系統(tǒng)管理員后臺(tái)管理系統(tǒng)中,通過進(jìn)入菜品管理模塊的菜品種類管理。首先,管理員通過insert(Product)方法,通過向MallProductController創(chuàng)建一個(gè)新增菜品:setProduct,相應(yīng)的setProduct中含有產(chǎn)品編碼:product_sn、產(chǎn)品名稱:product_name、價(jià)格:price、產(chǎn)品種類:category_id等數(shù)據(jù)庫(kù)中含有的關(guān)鍵信息進(jìn)行填寫,然后通過Spring框架自帶的BeanUtils工具,新創(chuàng)建的setProduct接著通過控制器MallProductController調(diào)用方法:MallServiceImpl調(diào)用insertProduct()方法,insertProduct()方法接著通過回溯,是來自MallProductMapper的insert()方法。通過控制器Controller的調(diào)用,接著,隨著MallProductMapper對(duì)insert()方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,可以完成對(duì)新菜品的上架。第二種管理功能,有兩種查看品牌種類的方法,第一種看所有菜品種類,管理員通過findAll(Product)方法,通過向MallProductController控制器調(diào)用方法:MallServiceImpl調(diào)用findProductList()方法,findProductList()方法接著通過回溯,是來自MallProductMapper的findList()方法。通過Product的控制器Controller的調(diào)用。之后,隨著MallProductMapper對(duì)findList()方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,通過得到的response對(duì)應(yīng)的數(shù)據(jù)這樣就可以完成對(duì)菜品的查看。第二種,根據(jù)菜品id進(jìn)行查詢。管理員可以了解、查詢根據(jù)菜品id的數(shù)據(jù)。管理員通過findAll(Product)方法,通過向MallProductController調(diào)用方法:MallServiceImpl調(diào)用findById()方法,findById()方法接著通過回溯,是來自MallProductMapper的findById()方法。通過控制器Controller的調(diào)用。接著,隨著MallProductMapper對(duì)findById()方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,這樣管理員可以了解、查詢根據(jù)菜品id的數(shù)據(jù)。然后,第三種管理功能,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)菜品進(jìn)行修改信息。首先,管理員通過updateProduct(Product)方法,通過product的自身的控制器MallProductController調(diào)用方法:MallServiceImpl調(diào)用updateProduct()方法,updateProduct()方法接著通過回溯,是來自MallProductMapper的update()方法。通過控制器Controller的調(diào)用。接著,隨著MallProductMapper對(duì)update()方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的信息修改。最后,第四種管理功能,預(yù)制菜管理信息系統(tǒng)管理員的還可以對(duì)菜品進(jìn)行下架處理。首先,管理員通過deleteProduct(Product)方法,通過向MallProductController調(diào)用方法:MallServiceImpl調(diào)用delete(Product)方法,delete(Product)方法接著通過回溯,是來自MallProductMapper的delete(Product)方法。通過控制器Controller的調(diào)用。接著,隨著MallProductMapper對(duì)deleteProduct(Product)方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的下架處理。圖16菜品種類管理順序圖預(yù)制菜餐廳店主對(duì)菜品種類查詢管理如圖17所示,有兩種查看菜品種類的方法,第一種查看所有的菜品種類。預(yù)制菜餐廳店主通過findAll(Product)方法,通過向MallProductController調(diào)用方法:MallServiceImpl調(diào)用findProductList()方法,findProductList()方法接著通過回溯,是來自MallProductMapper的findList()方法。通過控制器Controller的調(diào)用。接著,隨著MallProductMapper對(duì)findList()方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的查看。第二種根據(jù)菜品id進(jìn)行查詢。店主可以了解、查詢根據(jù)菜品id的數(shù)據(jù)。預(yù)制菜餐廳店主通過findAll(Product)方法,通過向MallProductController調(diào)用方法:MallServiceImpl調(diào)用findById()方法,findById()方法接著通過回溯,是來自MallProductMapper的findById()方法。通過控制器Controller的調(diào)用。接著,隨著MallProductMapper對(duì)findById()方法使用后返回?cái)?shù)據(jù)response到MallServiceImpl,再?gòu)腗allServiceImpl返回到MallProductController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的查看。店主可以了解、查詢根據(jù)菜品id的數(shù)據(jù)。圖17店主菜品種類查詢順序圖品牌種類管理預(yù)制菜管理信息系統(tǒng)管理員對(duì)品牌種類管理如圖18所示。預(yù)制菜管理信息系統(tǒng)管理員成功登錄到系統(tǒng)管理員后臺(tái)管理系統(tǒng)中,通過進(jìn)入菜品管理模塊的品牌種類管理。首先,管理員通過insertBrand(Brand)方法,通過向MallBrandController創(chuàng)建一個(gè)新增菜品:setBrand,相應(yīng)的setBrand中含有產(chǎn)品編碼:品牌名稱:brand_name、品牌首字母:letter、等關(guān)鍵信息進(jìn)行填寫,然后通過Spring框架自帶的BeanUtils工具,新創(chuàng)建的setBrand接著通過控制器MallBrandController調(diào)用方法:MallBrandServiceImpl調(diào)用insertBrand(Brand)方法,insertBrand(Brand)方法接著通過回溯,是來自MallBrandMapper的insert(Brand)方法。通過控制器Controller的調(diào)用,隨著MallBrandMapper對(duì)insert(Brand)方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allBrandServiceImpl返回到MallBrandController的數(shù)據(jù)response,可以完成對(duì)新菜品的上架。接著還可以對(duì)所有的菜品種類或者依據(jù)編號(hào)進(jìn)行查看。首先,管理員通過findAll(Brand)方法,通過向MallBrandController調(diào)用方法:MallBrandServiceImpl調(diào)用findAllBrand(Brand)方法,find()方法接著通過回溯,是來自MallBrandMapper的find()方法。通過控制器Controller的調(diào)用。接著,隨著MallBrandMapper對(duì)find()方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allBrandServiceImpl返回到MallBrandController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的查看。然后,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)菜品進(jìn)行修改信息。首先,管理員通過updateBrand(Brand)方法,通過向MallBrandController調(diào)用方法:MallBrandServiceImpl調(diào)用updateBrand(Brand)方法,updateBrand(Brand)方法接著通過回溯,是來自MallBrandMapper的update(Brand)方法。通過控制器Controller的調(diào)用。接著,隨著MallBrandMapper對(duì)update(Brand)方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allBrandServiceImpl返回到MallBrandController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的信息修改。最后,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)菜品進(jìn)行下架處理。首先,管理員通過deleteBrand(Brand)方法,通過向MallBrandController調(diào)用方法:MallBrandServiceImpl調(diào)用delete(Brand)方法,delete(Brand)方法接著通過回溯,是來自MallBrandMapper的delete(Brand)方法。通過控制器Controller的調(diào)用。接著,隨著MallBrandMapper對(duì)deleteBrand(Brand)方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allBrandServiceImpl返回到MallBrandController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的下架處理。圖18品牌種類管理順序圖預(yù)制菜餐廳店主對(duì)菜品種類查詢管理如圖19所示,有兩種查看品牌種類的方法,第一種看所有品牌種類,店主可以對(duì)所有的品牌種類。店主通過findAll(Brand)方法,通過向MallBrandController調(diào)用方法:MallBrandServiceImpl調(diào)用findAllBrand(Brand)方法,find()方法接著通過回溯,是來自MallBrandMapper的find()方法。通過控制器Controller的調(diào)用。接著,隨著MallBrandMapper對(duì)find()方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allBrandServiceImpl返回到MallBrandController的數(shù)據(jù)response,這樣就可以完成對(duì)菜品的查看。第二種根據(jù)品牌id進(jìn)行查詢。店主可以了解、查詢根據(jù)品牌id的數(shù)據(jù)。店主通過findAll(Brand)方法,通過向MallBrandController調(diào)用方法:MallBrandServiceImpl調(diào)用findById(Brand)方法,findById(Brand)方法接著通過回溯,是來自MallBrandMapper的findById(Brand)方法。通過控制器Controller的調(diào)用。接著,隨著MallBrandMapper對(duì)findById(Brand)方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allBrandServiceImpl返回到MallBrandController的數(shù)據(jù)response,這樣店主就可以了解、查詢根據(jù)品牌id的數(shù)據(jù)。圖19用戶品牌種類管理順序圖用戶名單管理預(yù)制菜管理信息系統(tǒng)管理員對(duì)品牌種類管理如圖20所示。預(yù)制菜管理信息系統(tǒng)管理員成功登錄到系統(tǒng)管理員后臺(tái)管理系統(tǒng)中,通過進(jìn)入用戶管理模塊的用戶名單管理。有兩種查看用戶名單的方法,第一種看所有用戶角色,管理員可以對(duì)所有的用戶名單進(jìn)行查詢了解。首先,管理員通過findAll方法,通過向MallUserController調(diào)用方法:MallUserServiceImpl調(diào)用findAllUser方法,find()方法接著通過回溯,是來自MallUserMapper的find()方法。通過控制器Controller的調(diào)用。接著,隨著MallUserMapper對(duì)find方法使用后返回?cái)?shù)據(jù)response到MallUserServiceImpl,再?gòu)腗allUserServiceImpl返回到MallUserController的數(shù)據(jù)response,這樣就可以完成對(duì)所有用戶的查看。第二種根據(jù)用戶個(gè)人id進(jìn)行查詢。管理員可以了解、查詢單獨(dú)根據(jù)用戶id的數(shù)據(jù)。管理員通過findAll方法,通過向MallUserController調(diào)用方法:MallUserServiceImpl調(diào)用findById方法,findById方法接著通過回溯,是來自MallUserMapper的findById方法。通過控制器Controller的調(diào)用。隨著MallUserMapper對(duì)findById方法使用后返回?cái)?shù)據(jù)response到MallUserServiceImpl,再?gòu)腗allUserServiceImpl返回到MallUserController的數(shù)據(jù)response,這樣就可以根據(jù)用戶個(gè)人id進(jìn)行查詢。管理員可以了解、查詢單獨(dú)根據(jù)用戶id的數(shù)據(jù)。然后,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)用戶信息進(jìn)行修改數(shù)據(jù)。首先,管理員通過updateUser方法,通過向MallUserController調(diào)用方法:MallUserServiceImpl調(diào)用updateUser方法,updateUser方法接著通過回溯,是來自MallUserMapper的update方法。通過控制器Controller的調(diào)用。接著,隨著MallUserMapper對(duì)update方法使用后返回?cái)?shù)據(jù)response到MallUserServiceImpl,再?gòu)腗allUserServiceImpl返回到MallUserController的數(shù)據(jù)response,這樣就可以完成對(duì)用戶的信息修改。最后,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)用戶進(jìn)行注銷賬號(hào)處理。首先,管理員通過deleteUser方法,通過向MallUserController調(diào)用方法:MallUserServiceImpl調(diào)用delete方法,delete方法接著通過回溯,是來自MallUserMapper的delete方法。通過控制器Controller的調(diào)用。接著,隨著MallUserMapper對(duì)deleteUser方法使用后返回?cái)?shù)據(jù)response到MallBrandServiceImpl,再?gòu)腗allUserServiceImpl返回到MallUserController的數(shù)據(jù)response,這樣就可以完成對(duì)用戶注銷賬號(hào)的處理。圖20用戶名單管理順序圖用戶角色管理預(yù)制菜管理信息系統(tǒng)管理員對(duì)品牌種類管理如圖21所示。預(yù)制菜管理信息系統(tǒng)管理員成功登錄到系統(tǒng)管理員后臺(tái)管理系統(tǒng)中,通過進(jìn)入用戶管理模塊的用戶角色管理。首先,管理員通過insertRole(Role)方法,通過向MallRoleController創(chuàng)建一個(gè)新增菜品:setRole,相應(yīng)的setRole中含有產(chǎn)品編碼:角色身份名稱:role_name、角色權(quán)限:role_key、角色狀態(tài):status等關(guān)鍵信息進(jìn)行填寫,然后通過Spring框架自帶的BeanUtils工具,新創(chuàng)建的setRole接著通過控制器MallRoleController調(diào)用方法:MallRoleServiceImpl調(diào)用insertRole(Role)方法,insertRole(Role)方法接著通過回溯,是來自MallRoleMapper的insert(Role)方法。通過控制器Controller的調(diào)用,接著,隨著MallRoleMapper對(duì)insert(Role)方法使用后返回?cái)?shù)據(jù)response到MallRoleServiceImpl,再?gòu)腗allRoleServiceImpl返回到MallRoleController的數(shù)據(jù)response,可以完成創(chuàng)建新的角色身份的管理。有兩種查看菜單的模式,第一種看所有用戶角色,管理員可以了解、查詢所有的用戶角色。管理員通過findAll(Role)方法,通過向MallRoleController調(diào)用方法:MallRoleServiceImpl調(diào)用findAllRole(Role)方法,find()方法接著通過回溯,是來自MallRoleMapper的find()方法。通過控制器Controller的調(diào)用。接著,隨著MallRoleMapper對(duì)find()方法使用后返回?cái)?shù)據(jù)response到MallRoleServiceImpl,再?gòu)腗allRoleServiceImpl返回到MallRoleController的數(shù)據(jù)response,這樣就可以完成對(duì)所有用戶擁有的角色身份進(jìn)行查看。第二種根據(jù)用戶角色id進(jìn)行查詢。管理員可以了解、查詢單獨(dú)根據(jù)角色id的情況。管理員通過findAll(Role)方法,通過向MallRoleController調(diào)用方法:MallRoleServiceImpl調(diào)用findById(Role)方法,findById(Role)方法接著通過回溯,是來自MallRoleMapper的findById(Role)方法。通過控制器Controller的調(diào)用。接著,隨著MallRoleMapper對(duì)findById(Role)方法使用后返回?cái)?shù)據(jù)response到MallRoleServiceImpl,再?gòu)腗allRoleServiceImpl返回到MallRoleController的數(shù)據(jù)response,這樣管理員可以了解、查詢單獨(dú)根據(jù)角色id的情況。然后,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)角色身份進(jìn)行修改信息。首先,管理員通過updateRole(Role)方法,通過向MallRoleController調(diào)用方法:MallRoleServiceImpl調(diào)用updateRole(Role)方法,updateRole(Role)方法接著通過回溯,是來自MallRoleMapper的update(Role)方法。通過控制器Controller的調(diào)用。接著,隨著MallRoleMapper對(duì)update(Role)方法使用后返回?cái)?shù)據(jù)response到MallRoleServiceImpl,再?gòu)腗allRoleServiceImpl返回到MallRoleController的數(shù)據(jù)response,這樣就可以完成對(duì)角色身份的信息修改。最后,預(yù)制菜管理信息系統(tǒng)管理員還可以對(duì)角色身份進(jìn)行刪減的操作。首先,管理員通過deleteRole(Role)方法,通過向MallRoleController調(diào)用方法:MallRoleServiceImpl調(diào)用delete(Role)方法,delete(Role)方法接著通過回溯,是來自MallRoleMapper的delete(Role)方法。通過控制器Controller的調(diào)用。接著,隨著MallRoleMapper對(duì)deleteRole(Role)方法使用后返回?cái)?shù)據(jù)response到MallRoleServiceImpl,再?gòu)腗allRoleServiceImpl返回到MallRoleController的數(shù)據(jù)response,這樣就可以完成對(duì)角色身份進(jìn)行刪減的操作。圖21用戶角色管理順序圖餐廳店主下訂單管理預(yù)制菜管理信息系統(tǒng)的餐廳店主對(duì)下單模塊如圖22所示。預(yù)制菜管理信息系統(tǒng)的餐廳店主成功登錄到信息系統(tǒng)管理平臺(tái)中,通過進(jìn)入用戶管理模塊的下單模塊中。首先,要先開始一份新的訂單,店主通過makeNewSale(Sale)方法,通過向MallSaleController創(chuàng)建一個(gè)新增訂單:setSale,相應(yīng)的setSale中含有產(chǎn)品編碼:銷

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論