版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGEII平頂山學(xué)院2008屆本科生畢業(yè)論文彈簧振子振動(dòng)的探討王某某摘要隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,在酒店行業(yè)中計(jì)算機(jī)的應(yīng)用越來越重要。采用適當(dāng)?shù)挠?jì)算機(jī)網(wǎng)絡(luò)和管理系統(tǒng),將成為提高酒店管理效率,升級(jí)服務(wù)級(jí)別的重要手段之一。酒店餐飲管理系統(tǒng)的功能對(duì)于酒店的服務(wù)者和管理者來說都至關(guān)重要,它能夠?yàn)榫频杲?jīng)營(yíng)者提供開臺(tái)、結(jié)賬、賬務(wù)統(tǒng)計(jì)等主要功能。對(duì)酒店經(jīng)營(yíng)者來說可以輕松的查閱本酒店餐飲業(yè)績(jī)相關(guān)信息以及對(duì)相關(guān)信息進(jìn)行管理,可以使雜亂的業(yè)務(wù)數(shù)據(jù)具體化、直觀化、合理化,并且隨時(shí)了解酒店的經(jīng)營(yíng)情況,提高了服務(wù)質(zhì)量與工作效率,使酒店在同行業(yè)的競(jìng)爭(zhēng)中更具優(yōu)勢(shì)和競(jìng)爭(zhēng)力。關(guān)鍵詞:Java,餐飲,預(yù)訂,效率,管理ABSTRACTAscomputernetworksrapiddevelopmentinthehotelindustryintheincreasingly,computerapplicationsaremoreandmoreimportant.Theadoptionofappropriatecomputernetworksandmanagementsystems,isoneimportantmeansofimprovinghotelmanagementefficiencyandupgradingservicelevels.Hotelcateringmanagementsystemfunctionsforthehotel'sservicesandmanagersarecrucial,itisabletoprovidebackgroundFounding,billing,accountingandstatisticsmajorfunctionsforhoteliers.Forhotelierswhocaneasilyaccessthehotelandcateringresultsandrelatedinformationaswellasinformationmanagement,businessdatacluttercanmakespecific,intuitive,streamlined,andkeepabreastofthehotel'soperations,improveservicequalityandworkefficiency,sothehotelinthesameindustrycompetitionadvantageandcompetitiveness.KeyWords:java,catering,reservations,efficiency,managementPAGEPAGEIV目錄1緒論 11.1研究背景及意義 11.1.1背景 11.1.2意義 11.2國(guó)內(nèi)外發(fā)展情況 22系統(tǒng)需求分析 32.1角色設(shè)置 32.2前臺(tái)功能 32.3后臺(tái)功能 32.4系統(tǒng)用例圖 32.5技術(shù)可行性分析 52.6經(jīng)濟(jì)可行性分析 52.7安全可行性 52.8操作可行性 53系統(tǒng)分析與設(shè)計(jì) 63.1系統(tǒng)業(yè)務(wù)流程分析 63.2數(shù)據(jù)字典 73.3系統(tǒng)概要設(shè)計(jì) 93.4系統(tǒng)物理設(shè)計(jì) 133.5詳細(xì)設(shè)計(jì) 144系統(tǒng)功能與實(shí)現(xiàn) 154.1系統(tǒng)開發(fā)環(huán)境 154.2系統(tǒng)開發(fā)環(huán)境的配置 154.3系統(tǒng)運(yùn)行環(huán)境 154.3.1硬件環(huán)境 154.3.2軟件環(huán)境 154.4會(huì)員注冊(cè) 164.5會(huì)員登錄 164.6前臺(tái)菜酒品信息顯示 174.4會(huì)員個(gè)人中心 184.5會(huì)員信息修改 194.6預(yù)訂 194.7后臺(tái)登錄 204.8會(huì)員管理 204.9訂單管理 214.10財(cái)務(wù)管理 214.11菜酒品管理 224.12系統(tǒng)設(shè)置 224.13員工管理 235系統(tǒng)測(cè)試 245.1測(cè)試的作用和意義 245.2測(cè)試方法 245.2.1單元測(cè)試 245.2.2功能測(cè)試 245.3系統(tǒng)測(cè)試 245.3.1管理員登錄測(cè)試 245.3.2刪除操作測(cè)試 255.3.3添加/更新操作測(cè)試 255.3.4數(shù)據(jù)校驗(yàn)測(cè)試 255.3.5測(cè)試結(jié)果 266總結(jié) 27參考文獻(xiàn) 28致謝 29附錄 30用戶注冊(cè)代碼: 30用戶登錄代碼: 31餐飲預(yù)訂代碼: 32餐飲管理代碼: 34PAGEPAGE21緒論近年來,隨著改革開放步伐的加快和中西方文化的交流與發(fā)展,我國(guó)人民生活水平顯著提高,全社會(huì)對(duì)餐飲業(yè)的需求量也越來越大,伴隨著消費(fèi)的持續(xù)增長(zhǎng),酒店餐飲行業(yè)已經(jīng)成為現(xiàn)代社會(huì)中發(fā)展最快的行業(yè)之一。要想在激烈的市場(chǎng)競(jìng)爭(zhēng)中生存,就必須在經(jīng)營(yíng)管理、餐飲服務(wù)等方面提高管理意識(shí)。而對(duì)酒店的經(jīng)營(yíng)狀況起決定作用的是對(duì)酒店日常營(yíng)業(yè)的管理。如何用先進(jìn)的管理手段,提高酒店餐飲的管理水平,是每一家酒店的經(jīng)營(yíng)者所面臨的重要課題。所以應(yīng)勢(shì)而出的酒店管理系統(tǒng)有著很好的可行應(yīng)用性。它具有有檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、成本低等優(yōu)點(diǎn)。這些優(yōu)點(diǎn)能夠極大地提高酒店餐飲管理的效率,也是酒店在同行業(yè)競(jìng)爭(zhēng)中處于不敗地位的重要條件。系統(tǒng)以mysql作為后臺(tái)數(shù)據(jù)庫(kù),MyEclipse為開發(fā)工具,tomcat為服務(wù)器,java為編程語言,技術(shù)支持采用spring+struts+hibernate(SSH)框架,運(yùn)用自頂向下逐層分解的模塊化結(jié)構(gòu)設(shè)計(jì)思想、面向?qū)ο蟮脑O(shè)計(jì)方法,實(shí)現(xiàn)了酒店餐飲管理系統(tǒng)的各個(gè)模塊。1.1研究背景及意義1.1.1背景隨著計(jì)算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,在酒店行業(yè)中計(jì)算機(jī)的應(yīng)用越來越重要,采用適當(dāng)?shù)挠?jì)算機(jī)網(wǎng)絡(luò)和管理系統(tǒng),將成為提高酒店管理效率,升級(jí)服務(wù)級(jí)別的重要手段之一。目前國(guó)內(nèi)主流酒店餐飲管理系統(tǒng)為觸摸屏點(diǎn)菜系統(tǒng),一些小型酒店也配備了類似系統(tǒng),但大多沒有很好地整合網(wǎng)絡(luò)資源,缺少網(wǎng)上預(yù)定功能,因此,對(duì)該系統(tǒng)的研究也在不斷完善中。1.1.2意義本項(xiàng)目研究的酒店管理系統(tǒng)有幾個(gè)鮮明的特點(diǎn):一是靈活性好,隨著經(jīng)濟(jì)發(fā)展全球化,國(guó)際旅游更加頻繁,客戶的要求更加多樣化,客戶可以在任何地方通過網(wǎng)絡(luò)查看酒店的信息,了解酒店的情況,提出自己的要求,酒店可以通過留言板知道其客戶對(duì)酒店的意見或建議,隨時(shí)能夠掌握來自客戶方面的需求或要求。二是服務(wù)質(zhì)量高,客戶可以通過系統(tǒng)對(duì)已用過的菜品進(jìn)行評(píng)價(jià),酒店便可以提高那些評(píng)價(jià)較低菜品的質(zhì)量或口味,以適應(yīng)更多消費(fèi)者的需求。三是管理效率高,管理員可以通過此系統(tǒng)管理員工信息,知道酒店的運(yùn)營(yíng)狀況,以及時(shí)做出調(diào)整。通過對(duì)本項(xiàng)目的研究希望開發(fā)出成本較低,功能完善,以幫助酒店的管理人員實(shí)現(xiàn)酒店餐飲的科學(xué)管理的酒店餐飲管理系統(tǒng),客戶可以在網(wǎng)上注冊(cè)成為該酒店會(huì)員以享受更優(yōu)質(zhì)、便捷的服務(wù),可以瀏覽酒店包桌及菜酒品的種類、價(jià)格等,同時(shí)這套系統(tǒng)還可以為客戶提供網(wǎng)上預(yù)訂及在線支付的功能。該管理系統(tǒng)還可以為管理員提供財(cái)務(wù)統(tǒng)計(jì)功能,以及對(duì)工作人員的管理等功能。希望此酒店餐飲管理系統(tǒng)的成功開發(fā)能夠方便管理人員對(duì)酒店餐飲的管理,提高服務(wù)質(zhì)量和工作效率,使管理者全面了解營(yíng)業(yè)情況,完善酒店的管理體制。1.2國(guó)內(nèi)外發(fā)展情況
隨著信息化技術(shù)的日益普及,餐飲這樣的傳統(tǒng)行業(yè)也越來越多的采用信息技術(shù)來管理業(yè)務(wù),市場(chǎng)上餐飲管理軟件正處于百花齊放、百家爭(zhēng)鳴的階段。目前市場(chǎng)上大多數(shù)餐飲軟件是基于WINDOWS操作系統(tǒng)的,也有部分餐飲軟件考慮到版權(quán)的問題,采用LINUX操作系統(tǒng);又比如,系統(tǒng)數(shù)據(jù)庫(kù),有ACCESS、SYBASE、MYSQL、SQLSERVER、ORACLE等,對(duì)于餐飲系統(tǒng)來說,采用什么數(shù)據(jù)庫(kù)與餐廳的規(guī)模比較相關(guān),較小的餐廳可以采用比較簡(jiǎn)單的數(shù)據(jù)庫(kù)如ACCESS,這樣使用維護(hù)都可以做的比較簡(jiǎn)單,而規(guī)模大的餐廳就應(yīng)該用SQLSERVER或ORACLE這樣的數(shù)據(jù)庫(kù),可以保障數(shù)據(jù)比較安全、系統(tǒng)比較穩(wěn)定,但同時(shí)也要求有專門的系統(tǒng)管理員來維護(hù)。還有,數(shù)據(jù)的錄入通常有三種方式,一是基于普通電腦,二是基于觸摸屏,三是采用無線點(diǎn)菜系統(tǒng),而無線技術(shù)又有基于紅外技術(shù)和無線網(wǎng)絡(luò)的技術(shù)。從目前的發(fā)展趨勢(shì)看,餐飲系統(tǒng)越來越多的采用觸摸屏,而無線技術(shù)正在逐步成熟起來。
在國(guó)內(nèi),餐飲軟件的發(fā)展也正處于蓬勃發(fā)展的時(shí)期,如龍騰環(huán)宇科技,它是一家以軟件開發(fā)、銷售為主營(yíng)方向的技術(shù)開發(fā)型企業(yè)。龍騰軟件立足于餐飲及酒店客房管理市場(chǎng),致力于為客戶提供一流的產(chǎn)品及服務(wù),企業(yè)下設(shè)市場(chǎng)拓展部、產(chǎn)品研發(fā)部、公關(guān)策劃部、客戶服務(wù)部等主要職能部門。在國(guó)外對(duì)餐飲軟件的研究和發(fā)展也相當(dāng)全面,但就目前國(guó)內(nèi)餐飲行業(yè)的情況來看,國(guó)外軟件的優(yōu)勢(shì)并不明顯,相反,國(guó)內(nèi)這些餐飲軟件企業(yè)在餐飲行業(yè)蒸蒸日上的同時(shí)也是蓬勃發(fā)展。
2系統(tǒng)需求分析 2.1角色設(shè)置本系統(tǒng)角色分為游客,會(huì)員和管理員,游客和會(huì)員只在前臺(tái)網(wǎng)站部分有權(quán)限,管理員對(duì)系統(tǒng)后臺(tái)部分有權(quán)限。2.2前臺(tái)功能前臺(tái)主要針對(duì)兩類用戶:游客和會(huì)員。其中游客只能對(duì)酒店菜酒品等信息進(jìn)行瀏覽以及注冊(cè)成為酒店會(huì)員。而系統(tǒng)為成功注冊(cè)并激活的會(huì)員提供以下這些功能:會(huì)員登錄與退出、個(gè)人信息修改、菜酒品信息查看、餐飲預(yù)訂、訂單信息查詢與刪除、菜酒品評(píng)論及查看、留言板、積分、近期活動(dòng)及精彩小游戲等。2.3后臺(tái)功能只有管理員才有權(quán)限登錄到后臺(tái),后臺(tái)主要包含以下功能模塊:管理員密碼修改:登陸后管理員可以對(duì)密碼進(jìn)行修改。會(huì)員管理:對(duì)會(huì)員信息添加、刪除、修改和查詢,評(píng)論信息刪除、修改、查詢以及留言信息的刪除、修改和查詢。訂單管理:對(duì)訂單信息的分類刪除、修改和查詢,對(duì)等待就餐訂單的開臺(tái)處理,菜單報(bào)表的生成與打印,對(duì)正在就餐訂單的結(jié)賬處理以及訂單詳情的查詢。財(cái)務(wù)管理:收支記錄以及對(duì)酒店盈利情況按日、月或年進(jìn)行統(tǒng)計(jì)。餐飲管理:對(duì)菜酒品信息進(jìn)行分類添加、刪除、修改和查詢,對(duì)菜酒品分類信息的添加、刪除、修改以及對(duì)菜酒品圖片信息的添加和修改。系統(tǒng)管理:對(duì)系統(tǒng)信息的修改,對(duì)廣告信息的修改以及對(duì)前臺(tái)相應(yīng)位置圖片信息的修改。員工管理:對(duì)員工信息按類別進(jìn)行添加、刪除、修改和查詢以及對(duì)員工考勤記錄的添加、刪除、修改和查詢。友情鏈接:包含管理員可能經(jīng)常訪問的網(wǎng)址鏈接,其中之一就是酒店的前臺(tái)網(wǎng)址。2.4系統(tǒng)用例圖系統(tǒng)用例如圖2-1、圖2-2所示會(huì)員注冊(cè)會(huì)員注冊(cè)會(huì)員登錄基本信息管理餐飲預(yù)訂與支付訂單管理菜品評(píng)論留言會(huì)員圖2-1用例圖1管理員登錄管理員登錄會(huì)員管理訂單管理財(cái)務(wù)管理餐飲管理系統(tǒng)設(shè)置員工管理管理員圖2-2用例圖22.5技術(shù)可行性分析技術(shù)可行性分析是根據(jù)新系統(tǒng)的目標(biāo)來衡量是否具有所需要的技術(shù),包括系統(tǒng)開發(fā)人員水平和數(shù)量,軟件方面,硬件方面及其它應(yīng)用技術(shù)。從各個(gè)基于Java的網(wǎng)站系統(tǒng)及許多局域網(wǎng)的建設(shè)中可以看到,目前基于JavaWeb的系統(tǒng)開發(fā)技術(shù)已經(jīng)十分成熟,相信隨著Internet/Intranet技術(shù)的進(jìn)一步發(fā)展,基于JavaWeb的信息系統(tǒng)開發(fā)將有更為明朗的前景。2.6經(jīng)濟(jì)可行性分析經(jīng)濟(jì)可行性分析主要是對(duì)開發(fā)新系統(tǒng)所投入的資金與系統(tǒng)投入使用后所帶來的經(jīng)濟(jì)效益進(jìn)行比較,確認(rèn)新系統(tǒng)是否會(huì)給企業(yè)帶來一定的經(jīng)濟(jì)效益。開發(fā)此酒店餐飲管理系統(tǒng),不僅能提高酒店的管理水平給管理者提供一個(gè)酒店運(yùn)作的信息平臺(tái)還能提升酒店的形象及增強(qiáng)競(jìng)爭(zhēng)力。使用酒店餐飲管理系統(tǒng)能將餐飲企業(yè)業(yè)務(wù)管理和人員管理信息化,使顧客消費(fèi)及員工信息都由計(jì)算機(jī)管理并記錄,并為那些時(shí)間比較珍貴的顧客提供網(wǎng)上預(yù)訂功能,管理員可隨時(shí)掌握酒店里包桌的使用狀況,客人點(diǎn)單,掛賬等情況,并能盡可能的降低使用者的勞動(dòng)強(qiáng)度,同時(shí)提高工作質(zhì)量和效率。用最少的成本獲得最好的經(jīng)濟(jì)效益,增強(qiáng)了餐飲企業(yè)的市場(chǎng)競(jìng)爭(zhēng)力,可見,回報(bào)明顯多于投入。2.7安全可行性在系統(tǒng)運(yùn)行后,就用戶方而言,由于用戶使用本系統(tǒng)時(shí)不會(huì)也不必關(guān)心系統(tǒng)內(nèi)部的結(jié)構(gòu)及實(shí)現(xiàn)方法,即對(duì)用戶來說是透明的,所以本系統(tǒng)對(duì)用戶而言是定位在界面友好、操作方便、功能齊全的原則上的,用戶只需簡(jiǎn)單的用鼠標(biāo)點(diǎn)擊各頁面上的鏈接或按鈕就能執(zhí)行相應(yīng)的功能。訂單支付采用易寶支付的接口,方便安全,打消顧客對(duì)網(wǎng)上預(yù)訂資金安全的顧慮。就管理者而言,關(guān)心的是如何處理用戶信息,只要把用戶的信息放入服務(wù)器端的數(shù)據(jù)庫(kù)或?qū)iT的數(shù)據(jù)庫(kù)服務(wù)器,管理者就可運(yùn)行相應(yīng)的后臺(tái)程序進(jìn)行處理。2.8操作可行性目前資源的利用情況和可操作性,只需根據(jù)相關(guān)需要對(duì)數(shù)據(jù)庫(kù)中的相應(yīng)表數(shù)據(jù)直接操作就可以實(shí)現(xiàn)系統(tǒng)的完整、穩(wěn)定的運(yùn)行,不會(huì)造成系統(tǒng)的巨大壓力,可以保證系統(tǒng)的正常運(yùn)行。綜上所述,通過技術(shù)可行性,經(jīng)濟(jì)可行性,安全可行性,操作可行性分析,本系統(tǒng)的開發(fā)是可行的。
3系統(tǒng)分析與設(shè)計(jì)3.1系統(tǒng)業(yè)務(wù)流程分析本系統(tǒng)角色分為游客,會(huì)員和管理員,游客和會(huì)員只在前臺(tái)網(wǎng)站有權(quán)限,管理員對(duì)系統(tǒng)后臺(tái)有權(quán)限。是否加入食譜?是否加入食譜?N確認(rèn)并支付訂單退出前臺(tái)Y多件預(yù)訂單件預(yù)訂N進(jìn)入前臺(tái)Y是否登錄?N是否注冊(cè)?是否已注冊(cè)?Y激活登錄菜品選擇NYY注冊(cè)信息瀏覽是否已激活?N圖3-1系統(tǒng)前臺(tái)業(yè)務(wù)流程圖NN后臺(tái)登錄是否成功?Y員工信息管理系統(tǒng)信息管理餐飲信息管理會(huì)員信息管理財(cái)務(wù)信息管理訂單信息管理退出后臺(tái)密碼修改友情鏈接圖3-2系統(tǒng)后臺(tái)業(yè)務(wù)流程圖3.2數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)的收集和數(shù)據(jù)分析所獲得的主要成果。數(shù)據(jù)字典在數(shù)據(jù)庫(kù)設(shè)計(jì)中占有很重要的地位。數(shù)據(jù)字典部分如下:表3.1菜酒品信息表caijiu字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)菜酒品編號(hào)PKnamevarchar(128)菜酒品名稱nullphotovarchar(128)菜酒品圖片名稱nullpricedouble菜酒品單價(jià)nullstatethinint(1)菜酒品狀態(tài)nulldescrivarchar(256)菜酒品描述nullnumint(11)菜酒品銷量nulltypethinint(1)菜酒品類型null表3.2食譜信息表myrecipe字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)食譜編號(hào)PKcookieinfovarchar(3996)食譜cookie信息null表3.3訂單詳情信息表orderitem字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)訂單詳情編號(hào)PKorder_idvarchar(20)訂單名稱FKcaijiu_idint(11)菜酒品編號(hào)FKcaijiunumint(11)菜酒品數(shù)量notnullcategory_idint(11)菜酒品分類編號(hào)FK表3.4員工考勤記錄信息表(部分)attence字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)考勤記錄編號(hào)PKempidint(11)員工編號(hào)notnullreasonvarchar(50)原因描述nulldeadlinevarchar(10)持續(xù)時(shí)間nulldatedatetime開始時(shí)間null表3.5員工信息表(部分)employee字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)員工編號(hào)PKnamevarchar(20)員工姓名nullageint(11)員工年齡nulljobvarchar(20)員工職位nulladdressvarchar(50)員工住址nulltelvarchar(20)聯(lián)系方式nullsalarydouble薪水nullidCardvarchar(18)身份證號(hào)null表3.6訂單信息表orders字段名數(shù)據(jù)類型(精度范圍)字段含義其他idvarchar(20)訂單編號(hào)PKsubdatedatetime訂單生成時(shí)間nulleatdatedatetime就餐時(shí)間nulltotaldouble菜酒品總額nullstatethinint(1)訂單狀態(tài)nulluser_idvarchar(256)會(huì)員編號(hào)FKtable_idint(11)桌位號(hào)FK表3.7會(huì)員信息表(部分)user字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)會(huì)員編號(hào)PKemailvarchar(128)登錄郵箱notnullusernamevarchar(128)用戶名nullpasswordvarchar(128)密碼notnullphotovarchar(128)頭像名稱nulltelvarchar(20)聯(lián)系方式nullintergralint(16)積分nullconsumeddouble消費(fèi)總額null表3.8評(píng)論信息表(部分)comment字段名數(shù)據(jù)類型(精度范圍)字段含義其他idint(11)評(píng)論編號(hào)PKcaijiuidint(11)菜酒品編號(hào)FKuseridint(11)會(huì)員編號(hào)FKtimedatetime評(píng)論時(shí)間nullcontentvarchar(256)評(píng)論內(nèi)容null3.3系統(tǒng)概要設(shè)計(jì)概要設(shè)計(jì)是一種面向?qū)ο蟮臄?shù)據(jù)模型,是按照用戶的觀點(diǎn)來對(duì)數(shù)據(jù)和信息建模。它描述了從用戶角度看到的數(shù)據(jù),它反映了用戶的實(shí)現(xiàn)環(huán)境,這種方法用ER圖描述現(xiàn)實(shí)世界中的實(shí)體,而不涉及這些實(shí)體在系統(tǒng)中的方法。概要設(shè)計(jì)中最著名的方法就是實(shí)體聯(lián)系方法(ER方法),建立ER模型,用ER圖表示概念結(jié)構(gòu),得到數(shù)據(jù)庫(kù)的概念模型。ER模型中包含“實(shí)體”,“聯(lián)系”和“屬性”。本系統(tǒng)的關(guān)鍵實(shí)體有菜酒品,會(huì)員,食譜,訂單,訂單詳情,評(píng)論,收支等。部分實(shí)體ER圖如圖3-3、圖3-4、圖3-5、圖3-6、圖3-7、圖3-8及圖3-9所示。(1)菜酒品實(shí)體菜酒品實(shí)體包括菜酒品編號(hào)、菜酒品名稱、圖片名稱、單價(jià)、狀態(tài)、描述、銷量、類型等屬性。其中菜酒品編號(hào)為菜酒品實(shí)體的主鍵。菜酒品菜酒品編號(hào)單價(jià)菜酒品菜酒品編號(hào)單價(jià)菜酒品名稱圖片名稱銷量狀態(tài)描述類型圖3-3菜酒品實(shí)體E-R圖(2)會(huì)員實(shí)體 會(huì)員實(shí)體包括會(huì)員編號(hào)、登錄郵箱、用戶名、密碼、頭像名稱、性別、聯(lián)系方式、級(jí)別、鎖定狀態(tài)、積分、積分更新時(shí)間、消費(fèi)總額、隨機(jī)碼等屬性。其中會(huì)員編號(hào)為會(huì)員實(shí)體的主鍵。會(huì)員會(huì)員編號(hào)密碼會(huì)員會(huì)員編號(hào)密碼登錄郵箱用戶名積分性別級(jí)別隨機(jī)碼頭像名稱聯(lián)系方式鎖定狀態(tài)消費(fèi)總額積分更新時(shí)間圖3-4會(huì)員實(shí)體E-R圖(3)食譜實(shí)體 食譜實(shí)體包含食譜編號(hào)、cookie信息等實(shí)體。其中食譜編號(hào)為食譜實(shí)體的主鍵,食譜實(shí)體與會(huì)員實(shí)體主鍵共享,為一對(duì)一關(guān)系,cookie信息屬性指的是會(huì)員食譜(相當(dāng)于購(gòu)物車)字符串信息,該信息是由會(huì)員添加菜酒品編號(hào)、分類和數(shù)量拼接組成。會(huì)員編號(hào)Cookie信息食譜會(huì)員編號(hào)Cookie信息食譜圖3-5食譜實(shí)體E-R圖(4)訂單實(shí)體訂單實(shí)體包含訂單編號(hào)、提交時(shí)間、就餐時(shí)間、狀態(tài)、總額、用戶編號(hào)、桌位號(hào)等屬性,其中訂單編號(hào)為訂單實(shí)體的主鍵,是由訂單生成時(shí)間與用戶編號(hào)組合生成,用戶編號(hào)和桌位號(hào)分別為訂單實(shí)體的外鍵。訂單訂單訂單編號(hào)狀態(tài)總額桌位號(hào)就餐時(shí)間提交時(shí)間用戶編號(hào)圖3-6訂單實(shí)體E-R圖(5)訂單詳情實(shí)體訂單詳情實(shí)體包括訂單詳情編號(hào)、訂單編號(hào)、菜酒品編號(hào)、菜酒品數(shù)量、菜酒品分類編號(hào)等屬性,其中訂單詳情編號(hào)為訂單詳情實(shí)體的主鍵,訂單編號(hào)、用戶編號(hào)和桌位號(hào)分別為其外鍵,訂單實(shí)體與訂單詳情實(shí)體為一對(duì)多關(guān)系。訂單詳情編號(hào)菜酒品編號(hào)訂單編號(hào)用戶編號(hào)訂單詳情菜酒品分類菜酒品數(shù)量訂單詳情編號(hào)菜酒品編號(hào)訂單編號(hào)用戶編號(hào)訂單詳情菜酒品分類菜酒品數(shù)量圖3-7訂單詳情實(shí)體E-R圖(5)評(píng)論實(shí)體評(píng)論實(shí)體包括評(píng)論編號(hào)、會(huì)員編號(hào)、菜酒品編號(hào)、評(píng)論內(nèi)容、評(píng)論時(shí)間等屬性,其中評(píng)論編號(hào)為評(píng)論實(shí)體的主鍵,會(huì)員編號(hào)和菜酒品編號(hào)分別為評(píng)論實(shí)體的外鍵,會(huì)員實(shí)體與評(píng)論實(shí)體為多對(duì)多關(guān)系,菜酒品實(shí)體與評(píng)論實(shí)體為一對(duì)多關(guān)系。評(píng)論編號(hào)評(píng)論編號(hào)評(píng)論會(huì)員編號(hào)菜酒品編號(hào)圖3-8收支實(shí)體E-R圖(6)收支實(shí)體收支實(shí)體包括記錄編號(hào)、日期、類型、總額、描述等屬性,其中記錄編號(hào)為收支實(shí)體的主鍵,類型屬性用于標(biāo)識(shí)是收入還是支出。收支記錄編號(hào)日期類型描述總額收支記錄編號(hào)日期類型描述總額圖3-9評(píng)論實(shí)體E-R圖3.4系統(tǒng)物理設(shè)計(jì)圖3-10物理模型圖3.5詳細(xì)設(shè)計(jì)如圖3-11所示,以“.java”結(jié)尾的文件為系統(tǒng)開發(fā)涉及到用于業(yè)務(wù)邏輯處理的類文件,它們均在com.jdcy.web.action這個(gè)包下。其中RegisterAction.java主要用于用戶注冊(cè)與激活,LoginAction.java主要用于用戶登錄、退出與密碼修改,MloginAction.java用于管理員登錄、登出與密碼修改,PreparedAction.java用于前臺(tái)網(wǎng)站信息(酒店名字、電話、廣告等)的顯示,ProfileAction.java用于個(gè)人信息的顯示與修改,CanyinAction.java用于前臺(tái)菜酒品信息顯示、搜索與單件詳情查詢顯示,OrderAction.java提供預(yù)訂功能、支付功能、評(píng)論功能,后臺(tái)管理員管理主要通過ManageAction.java與Manage1Action.java來完成。圖3-11類文件
4系統(tǒng)功能與實(shí)現(xiàn)4.1系統(tǒng)開發(fā)環(huán)境開發(fā)工具:MyEclipse、服務(wù)器:Tomcat、數(shù)據(jù)庫(kù):MySql4.2系統(tǒng)開發(fā)環(huán)境的配置首先應(yīng)把java運(yùn)行環(huán)境jdk裝到用于開發(fā)的電腦上,并為其配置好環(huán)境變量,其次再安裝服務(wù)器tomcat(注意:安裝tomcat時(shí),不應(yīng)有中文路徑),再次是安裝開發(fā)工具M(jìn)yEclipse,并為其配置好相應(yīng)的屬性參數(shù)。同時(shí)還要確保此電腦上裝有盡可能多的不同內(nèi)核的瀏覽器(用于測(cè)試網(wǎng)頁兼容性)。4.3系統(tǒng)運(yùn)行環(huán)境4.3.1硬件環(huán)境服務(wù)端服務(wù)器端的最低配置是由建立站點(diǎn)所需的軟件來決定的,在最低配置的情況下,服務(wù)器的往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價(jià)格也很便宜,因此通常應(yīng)給服務(wù)器端配置高性能的硬件。處理器:InterCore22.10GHz或更高內(nèi)存:2GB硬盤空間:160GB顯卡:SVAG顯示適配器。用戶端因?yàn)榭蛻舳酥饕糜跒g覽和操作數(shù)據(jù),所以對(duì)客房端的硬件要求不高,不過現(xiàn)在的電腦很高的性價(jià)比,因此需要的配置應(yīng)該高于下面的配置:處理器:InterPentium4.0GHz或更高內(nèi)存:512MB硬盤空間:80GB顯卡:SVAG顯示適配器。4.3.2軟件環(huán)境服務(wù)器端操作系統(tǒng):Windows2003Server或者更高版本網(wǎng)絡(luò)協(xié)議:TCP/IPWeb服務(wù)器:Tomcat5.X及以上版本數(shù)據(jù)庫(kù):MySQL瀏覽器:InternetExplorer6.0以上用戶端操作系統(tǒng):Windows98/2000/XP/win7/win8網(wǎng)絡(luò)協(xié)議:TCP/IP瀏覽器:InternetExplorer6.0以上4.4會(huì)員注冊(cè)顧客若想擁有更多權(quán)限,享受更優(yōu)質(zhì)的服務(wù)需注冊(cè)成為會(huì)員,注冊(cè)會(huì)員需要用自己的真實(shí)郵箱,為了防止有人惡意注冊(cè),本系統(tǒng)采用郵箱激活的方式來激活會(huì)員,沒有激活的會(huì)員不能登錄。會(huì)員注冊(cè)界面如圖4-1所示。圖4-1會(huì)員注冊(cè)界面4.5會(huì)員登錄沒有登錄的會(huì)員只能夠?yàn)g覽前臺(tái)網(wǎng)站的信息,若要預(yù)訂或操作個(gè)人信息則需登錄系統(tǒng),登錄需要輸入正確的郵箱及密碼,成功登錄后,用戶信息便被放入session中,以便其他模塊獲得該用戶基本信息。會(huì)員登錄界面分為首頁直接登錄板塊,如圖4-2所示,和彈出層登錄板塊,如圖4-3所示。圖4-2會(huì)員登錄界面1圖4-3會(huì)員登錄界面24.6前臺(tái)菜酒品信息顯示系統(tǒng)采用圖文的方式分類顯示菜酒品信息,使顧客能更直觀、方便了解菜酒品,同時(shí)設(shè)有搜索欄,能實(shí)現(xiàn)模糊搜索,使顧客能夠快速查找到自己想預(yù)訂的菜酒品。當(dāng)單擊某件菜酒品的預(yù)訂按鈕,就會(huì)跳到該菜酒品詳情頁面,即單件預(yù)訂頁面。還可以全選或多選集體加入我的食譜(購(gòu)物車),以便多件菜酒品集體預(yù)訂。菜酒品信息顯示界面如圖4-4所示。圖4-4菜酒品信息顯示界面4.4會(huì)員個(gè)人中心個(gè)人中心模塊主要為用戶提供餐豆(積分)免費(fèi)領(lǐng)取、訂單提醒以及小游戲等功能,當(dāng)本日首次點(diǎn)擊領(lǐng)取餐豆按鈕時(shí),系統(tǒng)就會(huì)給此用戶添加相應(yīng)數(shù)量的餐豆,當(dāng)再次點(diǎn)擊或刷新頁面時(shí),就不再為其添加,同時(shí)提示用戶“今日已領(lǐng)”等信息。個(gè)人中心界面如圖4-5所示。圖4-5個(gè)人中心界面4.5會(huì)員信息修改信息修改主要用于用戶密碼、頭像等信息的修改。信息修改界面如圖4-6所示。圖4-6會(huì)員信息修改界面4.6預(yù)訂預(yù)訂功能包括單件預(yù)訂、多件預(yù)訂與支付,單件預(yù)訂直接預(yù)訂即可,多件預(yù)訂需要先將菜酒品信息添加到我的食譜后再預(yù)訂,預(yù)訂成功后進(jìn)入支付頁面,選擇銀行進(jìn)行支付,此過程采用易寶支付接口。相應(yīng)界面如圖4-7、圖4-8所示。圖4-7單件預(yù)訂界面圖4-8訂單支付界面4.7后臺(tái)登錄管理員對(duì)系統(tǒng)進(jìn)行管理首先需要登錄系統(tǒng),為了增加系統(tǒng)的安全系數(shù),本系統(tǒng)的管理員密碼采用字母與數(shù)字組合,至少八位,并且采用MD5加密處理。后臺(tái)登錄界面如圖4-9所示。圖4-9后臺(tái)登錄界面4.8會(huì)員管理管理員可以對(duì)會(huì)員信息進(jìn)行添加、刪除、修改與查詢等處理,會(huì)員管理界面如圖4-10所示。圖4-10會(huì)員信息管理界面4.9訂單管理管理員可以對(duì)不同狀態(tài)的訂單進(jìn)行管理,包括開臺(tái)、報(bào)表打印、結(jié)賬及訂單詳情查詢等處理,訂單管理部分界面如圖4-11所示。 圖4-11訂單管理界面 4.10財(cái)務(wù)管理管理員可以對(duì)收支信息進(jìn)行記錄以及統(tǒng)計(jì)管理,可以分別按日、月、年進(jìn)行統(tǒng)計(jì)。財(cái)務(wù)管理界面如圖4-12所示。圖4-12財(cái)務(wù)管理界面4.11菜酒品管理管理員可以對(duì)菜酒品信息進(jìn)行添加、刪除、修改與查詢等操作,菜酒品管理界面如圖4-13所示。圖4-13菜酒品管理界面4.12系統(tǒng)設(shè)置管理員可以對(duì)系統(tǒng)信息(如酒店名稱、電話、服務(wù)協(xié)議內(nèi)容、地址、廣告信息等)進(jìn)行設(shè)置,界面一如圖4-14所示。圖4-14系統(tǒng)信息設(shè)置界面4.13員工管理管理員可以對(duì)員工基本信息進(jìn)行添加、刪除、修改與查詢等進(jìn)行操作,還可以對(duì)員工考勤進(jìn)行記錄。考勤記錄界面如圖4-15所示。圖4-15員工考勤界面
5系統(tǒng)測(cè)試 5.1測(cè)試的作用和意義系統(tǒng)測(cè)試是系統(tǒng)開發(fā)周期中的一個(gè)非常重要環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個(gè)階段均采取了嚴(yán)格的技術(shù)審查,但依然難免會(huì)留下錯(cuò)誤,如果系統(tǒng)的一些漏洞或錯(cuò)誤在投入運(yùn)行之前的系統(tǒng)檢測(cè)階段沒有發(fā)現(xiàn)并糾正,這些問題在運(yùn)行階段是遲早會(huì)暴露出來的,到那時(shí)要糾正錯(cuò)誤將會(huì)付出更大的代價(jià)。系統(tǒng)測(cè)試占用的時(shí)間、花費(fèi)的人力和成本占軟件開發(fā)的很大比例。統(tǒng)計(jì)表明,開發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測(cè)試的工作量大約占整個(gè)軟件開發(fā)工作量的40%-50%。而對(duì)于一些特別重要的大系統(tǒng),測(cè)試的工作量和成本更大,甚至超過系統(tǒng)開發(fā)其他各階段的總和的若干倍。5.2測(cè)試方法5.2.1單元測(cè)試對(duì)于小系統(tǒng),在編碼過程中,最常用的是單元測(cè)試。單元測(cè)試是在軟件開發(fā)過程中要進(jìn)行的最低級(jí)別的測(cè)試活動(dòng),在單元測(cè)試活動(dòng)中,軟件的獨(dú)立單元將在與程序的其他部分相隔離的情況下進(jìn)行測(cè)試。單元測(cè)試不僅僅是作為無錯(cuò)編碼一種輔助手段在一次性的開發(fā)過程中使用,單元測(cè)試必須是可重復(fù)的,無論是在軟件修改,或是移植到新的運(yùn)行環(huán)境的過程中。因此,所有的測(cè)試都必須在整個(gè)軟件系統(tǒng)的生命周期中進(jìn)行維護(hù)。5.2.2功能測(cè)試系統(tǒng)功能測(cè)試最常見的兩種方法是黑盒測(cè)試和白盒測(cè)試,黑盒測(cè)試也稱功能測(cè)試,將軟件看作黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,研究軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書測(cè)試用例,從程序的輸入和輸出特性上測(cè)試是否滿足設(shè)定的功能。白盒測(cè)試也稱結(jié)構(gòu)測(cè)試,將軟件看作一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來選定測(cè)試用例,對(duì)軟件的邏輯路徑及過程進(jìn)行測(cè)試,檢查與測(cè)試是否相符。5.3系統(tǒng)測(cè)試下面對(duì)本餐飲管理系統(tǒng)進(jìn)行黑盒測(cè)試,以檢查系統(tǒng)能否正確完成各種操作,是否能夠?qū)崿F(xiàn)預(yù)期具有的功能。5.3.1管理員登錄測(cè)試要進(jìn)入后臺(tái)管理必須先登錄,當(dāng)輸入用戶名、密碼或者驗(yàn)證碼任意一項(xiàng)有誤或者為空時(shí)都會(huì)提示登錄失敗,如圖5-2所示。圖5-1管理員登錄界面圖5-2登錄失敗5.3.2刪除操作測(cè)試不論是管理員還是普通會(huì)員對(duì)一些數(shù)據(jù)進(jìn)行刪除操作時(shí),系統(tǒng)會(huì)提示是否真的要?jiǎng)h除此項(xiàng)或多項(xiàng),若點(diǎn)取消則不進(jìn)行刪除操作,這樣的設(shè)計(jì)有利于避免管理員或會(huì)員的誤操作。如圖7-3所示。圖5-3刪除操作5.3.3添加/更新操作測(cè)試當(dāng)會(huì)員或者管理員對(duì)相應(yīng)信息進(jìn)行添加/修改時(shí),若添加/修改成功則提示添加/修改成功,若添加/修改失敗則也有相應(yīng)的提示,這樣便使會(huì)員或管理員了解當(dāng)前添加/修改操作是否成功,用戶體驗(yàn)更加友好。如圖7-4所示。圖5-4更新操作5.3.4數(shù)據(jù)校驗(yàn)測(cè)試不論前臺(tái)界面還是后臺(tái)界面,當(dāng)有信息輸入并且該輸入項(xiàng)不能為空或者數(shù)據(jù)格式有要求時(shí),系統(tǒng)都對(duì)其進(jìn)行數(shù)據(jù)校驗(yàn)并作相應(yīng)提示。如圖5-5、圖5-6所示。圖5-5會(huì)員登錄校驗(yàn)圖5-6后臺(tái)數(shù)據(jù)校驗(yàn)5.3.5測(cè)試結(jié)果測(cè)試目標(biāo)已完成,測(cè)試通過。
6總結(jié)經(jīng)過這段時(shí)間的精心設(shè)計(jì),系統(tǒng)已基本完成,實(shí)現(xiàn)了餐飲管理系統(tǒng)的基本功能,包括餐飲信息的管理、餐飲預(yù)訂、訂單信息管理、會(huì)員信息管理、員工信息管理等主要功能,界面友好,操作簡(jiǎn)單方便。但酒店餐飲管理系統(tǒng)是一個(gè)龐大的工程,要使網(wǎng)絡(luò)交互功能的實(shí)現(xiàn),腳本的設(shè)計(jì),網(wǎng)頁的構(gòu)架,網(wǎng)頁的美工,文字的編輯,非一朝一夕可盡善盡美的,這需要一個(gè)長(zhǎng)期的摸索與完善過程,同時(shí)還要對(duì)在實(shí)踐中發(fā)現(xiàn)與操作者使用要求不相符合的地方進(jìn)行修改。系統(tǒng)功能雖已基本實(shí)現(xiàn),但仍有諸多地方需要優(yōu)化完善。譬如,會(huì)員注冊(cè)模塊,發(fā)送電子郵件激活賬戶的功能還不完善,暫時(shí)不能完成激活,需要管理員從數(shù)據(jù)庫(kù)修改locked字段完成激活。還有就是后臺(tái)管理系統(tǒng)目前只實(shí)現(xiàn)了信息查詢與現(xiàn)實(shí)功能,由于時(shí)間倉(cāng)促還為實(shí)現(xiàn)刪除刪、改功能。在一些模塊設(shè)計(jì)中,有的設(shè)計(jì)思路沒有考慮進(jìn)去,在以后的時(shí)間里還要加以補(bǔ)充,還有些細(xì)節(jié)的地方也需要進(jìn)一步修改和完善。
參考文獻(xiàn)[1]吳敏.saas餐飲管理系統(tǒng)的分析與開發(fā)[J].太原:太原理工大學(xué),2008[2]彭偉民.基于需求的酒店管理系統(tǒng)的建模與實(shí)現(xiàn)[J].微機(jī)發(fā)展,2005年10期[3]杜艷增.酒店信息管理系統(tǒng)的WebService化[J].濟(jì)寧學(xué)院學(xué)報(bào),2008年06期[4]劉敬.Delphi住宿餐飲管理系統(tǒng)開發(fā)實(shí)例導(dǎo)航[M].北京:人民郵電出版社,2003[5]侯炳輝.信息管理系統(tǒng)[M].北京:中央廣播電視大學(xué)出版社,2001[6](美)BruceEckel.Java編程思想.陳昊鵬譯[M].北京:機(jī)械工業(yè)出版社,2007[7]薩師煊.數(shù)據(jù)庫(kù)系統(tǒng)概論(第三版)[M].北京:高等教育出版社,2004[8](美)BruceA.Tate.PersistenceinSpring[M].北京:清華大學(xué)出版社,2006[9]施伯樂,丁寶康,汪衛(wèi).?dāng)?shù)據(jù)庫(kù)系統(tǒng)教程[M].北京:高等教育出版社,2003[10]楊羨蓮.餐飲業(yè)營(yíng)銷[J].廣州市財(cái)貿(mào)管理干部學(xué)院學(xué)報(bào),1991(4)[11]張孝祥,張紅梅.JavaScript網(wǎng)頁開發(fā)[M].北京:清華大學(xué)出版社,2007
致謝河北農(nóng)業(yè)大學(xué)的兩年的生活即將畫上一個(gè)圓滿的句號(hào),此刻的我思緒萬千。無論此刻是什么心情我首先要感謝我的各科老師對(duì)我這兩年的培養(yǎng)與關(guān)心,我不是您們最出色的學(xué)生,但您們卻是我最尊敬的老師。感謝您們?cè)趯W(xué)術(shù)上給我的諄諄教誨,在我成長(zhǎng)的道路上給予我的無私引導(dǎo)。其次,我要感謝我的導(dǎo)師張老師,感謝她對(duì)我論文撰寫的指導(dǎo)和幫助。附錄用戶注冊(cè)代碼:publicActionForwardregUser(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ //從該action對(duì)應(yīng)的表單中取出數(shù)據(jù) UserFormuserForm=(UserForm)form; //查詢數(shù)據(jù)庫(kù),驗(yàn)證有無當(dāng)前提交的email,若有則不能注冊(cè) Listlist=userService.getResult("fromUserwhereemail=?", newObject[]{userForm.getEmail()}); //防止重復(fù)提交 HttpSessionsession=request.getSession(); Stringtoken=request .getParameter("org.apache.struts.taglib.html.TOKEN"); Stringtoken2=(String)session .getAttribute(org.apache.struts.Globals.TRANSACTION_TOKEN_KEY); session.removeAttribute(Globals.TRANSACTION_TOKEN_KEY); //判斷是否重復(fù)提交或者是所填郵箱是否已被注冊(cè) if(!token.equals(token2)||list.size()!=0){ request.setAttribute("message","您已注冊(cè)成功或該郵箱已被注冊(cè),請(qǐng)登錄!"); returnmapping.findForward("backUI"); } StringcheckCode=request.getParameter("checkcode"); StringranCode=(String)session.getAttribute("random"); if(checkCode.equalsIgnoreCase(ranCode)){ MD5md5=newMD5(); //取出的目的是把用戶保存到數(shù)據(jù)庫(kù) Useruser=newUser(); user.setEmail(userForm.getEmail()); user.setUsername(userForm.getUsername()); user.setPassword((md5.getMD5ofStr(userForm.getPassword()))); //user.setPhoto(userForm.getPhoto()); user.setTel(userForm.getTel()); user.setSex(userForm.getSex()); //為用戶生成一個(gè)隨機(jī)碼,用戶激活驗(yàn)證 user.setRandomCode(UUID.randomUUID().toString()); //保存用戶 Transactionts=null; Sessionhsession=null; try{ hsession=sessionFactory.openSession(); ts=hsession.beginTransaction(); hsession.save(user); //初始化我的食譜購(gòu)物車 Myreciperecipe=newMyrecipe(); recipe.setId(user.getId()); hsession.save(recipe); //注冊(cè)成功后,發(fā)送賬戶激活鏈接 SendMailsendmail=newSendMail(); sendmail.setHost("SMTP."); sendmail.setUserName("1095856572@"); sendmail.setPassWord("fengbaocnr"); sendmail.setTo(user.getEmail()); sendmail.setFrom("1095856572@"); sendmail.setSubject("賬戶激活"); sendmail .setContent("http://localhost:8080/Jdcy/register.do?flag=activateUser&id=" +user.getId() +"&" +"checkCode=" +UserActivate.generateCheckcode(user)); sendmail.sendMail(); request.getSession().setAttribute("loginuser",user); Stringmsg="恭喜您!注冊(cè)成功!請(qǐng)查看您的郵箱已激活賬戶!"; request.setAttribute("msg",msg); }catch(Exceptione){ Stringmsg="對(duì)不起,激活郵件發(fā)送失敗,請(qǐng)檢查您的郵箱是否正確填寫!"; request.setAttribute("msg",msg); returnmapping.findForward("toActivateLink"); } mit(); hsession.close(); returnmapping.findForward("toActivateLink"); }else{ Stringcheckmsg="驗(yàn)證碼輸入有誤!"; request.setAttribute("checkmsg",checkmsg); returnmapping.findForward("regUI"); }}用戶登錄代碼:publicActionForwardlogin(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ MD5md5=newMD5(); UserFormuserForm=(UserForm)form; Useruser=newUser(); Stringemail=userForm.getEmail(); Stringpassword=userForm.getPassword(); if(email!=null&&password!=null){ user.setEmail(email); user.setPassword(md5.getMD5ofStr(password)); user=userService.check(user);//將創(chuàng)建的對(duì)象傳給check方法,之后此對(duì)象已經(jīng)沒有用了,故可以重復(fù)利用這個(gè)對(duì)象接收check返回的Users對(duì)象,不用再去new一個(gè)?。?! if(user!=null){ //用戶合法,把用戶bean放到session域?qū)ο笾腥? request.getSession().setAttribute("loginuser",user); //防止重復(fù)提交,創(chuàng)建token this.saveToken(request); //若用戶已經(jīng)激活 if(user.getLocked()==1){ //為顯示菜酒品信息準(zhǔn)備數(shù)據(jù) Listcaipin=canyinService.getResult("fromCaijiuwheretype=?",newObject[]{Short.valueOf(1+"")}); intcurPage=1; inttotalPage=0; intprePage=cur1; intnextPage=curPage+1; Mapmap=PageUtils.Page(curPage,prePage,nextPage,totalPage,6,1,caipin,"canyin","homeCyUI"); //通過工具類設(shè)置導(dǎo)航條 Stringstr=map.get("sb").toString(); //設(shè)置每次取幾個(gè) Listsubcaipin=(List)map.get("sub"); //得到總頁數(shù) inttPage=(Integer)map.get("totalpage"); intsize=caipin.size(); //向頁面?zhèn)鬟f參數(shù) if(subcaipin!=null){ request.setAttribute("subcaipin",subcaipin); request.setAttribute("size",size); } intzeng=(cur1)*6; request.setAttribute("totalPage",tPage); request.setAttribute("curPage",curPage); request.setAttribute("str",str); returnmapping.findForward("loginOK"); }else{ returnmapping.findForward("toActivateLink"); } } //用戶不合法 returnmapping.findForward("loginNO"); } returnmapping.findForward("loginNO");}餐飲預(yù)訂代碼:publicActionForwardorderMany(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ //TODOAuto-generatedmethodstub OrderFormorderForm=(OrderForm)form; //生成訂單號(hào) SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmss"); Datedate=newDate(); Useruser=(User)request.getSession().getAttribute("loginuser"); intuserid=user.getId(); Stringorderid=sdf.format(date)+userid; //System.out.println(orderid); //訂單生成時(shí)間 Datesubdate=newDate(); //就餐時(shí)間 SimpleDateFormatsdf1=newSimpleDateFormat("yyyy-MM-ddHH:mm"); Stringorderdate=orderForm.getOrderdate(); Stringordertime=orderForm.getOrdertime(); Dateeatdate=null; try{ eatdate=sdf1.parse(orderdate+""+ordertime); }catch(ParseExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringcaijiuidstr=orderForm.getCaijiuid(); Stringcategorystr=orderForm.getCategoryid(); Stringcaijiunumstr=orderForm.getCaijiunum(); Stringcaijiupricestr=orderForm.getCaijiuprice(); String[]cidarr=caijiuidstr.split("!"); String[]catearr=categorystr.split("!"); String[]cnumarr=caijiunumstr.split("!"); String[]cpricearr=caijiupricestr.split("!"); Transactionts=null; Sessionsession=null; response.setCharacterEncoding("utf-8"); PrintWriterpw=null; try{ pw=response.getWriter(); }catch(IOExceptione1){ //TODOAuto-generatedcatchblock e1.printStackTrace(); } doubletotal=0; try{ session=sessionFactory.openSession(); ts=session.beginTransaction(); for(inti=1;i<cidarr.length;i++){ intcaijiuid=Integer.parseInt(cidarr[i]); intcategoryid=Integer.parseInt(catearr[i]); intcaijiunum=Integer.parseInt(cnumarr[i]); doublecaijiuprice=Double.parseDouble(cpricearr[i]); //將數(shù)據(jù)封裝成orderitem Orderitemorderitem=newOrderitem(); orderitem.setOrderId(orderid); orderitem.setCaijiuId(caijiuid); orderitem.setCaijiunum(caijiunum); orderitem.setCategoryId(categoryid); session.save(orderitem); total=DoubleUtils.add(total,DoubleUtils.mul(caijiuprice,caijiunum)); } //System.out.println(total); //將數(shù)據(jù)封裝成orders Ordersorder=newOrders(); order.setSubdate(subdate); order.setEatdate(eatdate); order.setState(Short.parseShort("0")); order.setTotal(total); order.setUserId(userid); order.setId(orderid); session.save(order); }catch(Exceptione){ System.out.println("生成單件訂單發(fā)生異常!"); pw.write("error"); pw.flush(); pw.close(); returnnull; } mit(); session.close(); pw.write(orderid); returnnull;}餐飲管理代碼://餐飲管理部分 @SuppressWarnings("unchecked") publicActionForwardcpLoad(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ response.setCharacterEncoding("utf-8"); Stringtype=request.getParameter("type"); Listcaipin=canyinService.getResult("fromCaijiuwheretype=?",newObject[]{Short.valueOf(type)}); JSONObjectjsonObj=newJSONObject(); Mapmap=newHashMap(); Listlist=newArrayList(); for(inti=0;i<caipin.size();i++){ Caijiucj=(Caijiu)caipin.get(i); Mapm=newHashMap(); m.put("id",cj.getId()); m.put("name",cj.getName()); m.put("price",cj.getPrice()); m.put("descri",cj.getDescri()); m.put("num",cj.getNum()); m.put("type",cj.getType()); m.put("state",cj.getState()); list.add(m); } map.put("total",caipin.size()); map.put("rows",list); try{ PrintWriterout=response.getWriter(); out.write(jsonObj.fromObject(map).toString()); out.flush(); out.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnnull; } //給修改圖片的form加載數(shù)據(jù) @SuppressWarnings("unchecked") publicActionForwardtoUpdPhoto(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ response.setCharacterEncoding("utf-8"); Listcaipin=canyinService.getResult("fromCaijiu",null); request.setAttribute("caipin",caipin); returnmapping.findForward("toUpdPhotoUI"); } //修改餐飲信息圖片 @SuppressWarnings("unchecked") publicActionForwardUpdPhoto(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ response.setCharacterEncoding("utf-8"); ManagerFormmngForm=(ManagerForm)form; FormFilephoto=mngForm.getImgfile(); Stringid=request.getParameter("caipinid"); StringnewImage=MyUtils.uploadcjPhoto(request,photo,id); Caijiucaijiu=(Caijiu)canyinService.findById(Caijiu.class,Integer.parseInt(id)); caijiu.setPhoto(newImage); canyinService.update(caijiu); Stringmsg=""; if(newImage==null||"".equals(newImage)){ msg="圖片添加失?。?; }else{ msg="圖片添加成功!"; } try{ PrintWriterpw=response.getWriter(); pw.write(msg); pw.flush(); pw.close(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnnull; } //添加菜品信息 publicActionForwardcpInsert(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse){ Stringinserted=request.getParameter("inserted"); //updated格式:[{"id":2,"num":9,"price":"1666.0","descri":"","name":"木須肉66"},{"id":3,"num":12,"price":"1566.0","descri":"","name":"紅燒肉66"}] JSONArrayjsonarr=JSONArray.fromObject(inserted); intflag=0; try{ for(inti=0;i<jsonarr.size();i++){ Mapmap=(Map)jsonarr.get(i); //Integerid=(Integer)map.get("id"); Stringname=(String)map.get("name"); Doubleprice=Double.parseDouble(String.valueOf(map.get("price"))); Stringdescri=(String)map.get("descri"); Integernum=Integer.parseInt(String.valueOf(map.get("num"))); Shorttype=Short.parseShort(String.valueOf(map.get("type"))); Shortstate=Short.parseShort(String.valueOf(map.get("state"))); Caijiucaijiu=newCaijiu(); //caijiu.setId(id); caijiu.setName(name); caijiu.setPrice(price); caijiu.setDescri(descri); caijiu.setNum(num); caijiu.setType(type); caijiu.setState(state); canyinService.save(caijiu); flag++; } }catch(Exceptione){ System.out.println("添加數(shù)據(jù)出現(xiàn)異常!"); } if(flag!=0){ try{ PrintWr
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 實(shí)木及實(shí)木復(fù)合地板備料工安全生產(chǎn)能力知識(shí)考核試卷含答案
- 加氣混凝土制品工崗前基礎(chǔ)應(yīng)用考核試卷含答案
- 水力發(fā)電運(yùn)行值班員安全風(fēng)險(xiǎn)知識(shí)考核試卷含答案
- 2025年水分濕度傳感器合作協(xié)議書
- 2025 小學(xué)一年級(jí)科學(xué)下冊(cè)認(rèn)識(shí)水果的種子課件
- 狍子介紹教學(xué)課件
- 2026年航空發(fā)動(dòng)機(jī)高溫合金項(xiàng)目建議書
- 2025年江蘇省無錫市中考地理真題卷含答案解析
- 2025年環(huán)保宣傳教育常識(shí)知識(shí)考察試題及答案解析
- 2025年上半年教師資格證中學(xué)《綜合素質(zhì)》考試真題及答案
- 2025年國(guó)防科工局機(jī)關(guān)公開遴選公務(wù)員筆試模擬題及答案
- 2024-2025學(xué)年山東省濟(jì)南市天橋區(qū)八年級(jí)(上)期末語文試卷(含答案解析)
- (高清版)DB44∕T 724-2010 《廣州市房屋安全鑒定操作技術(shù)規(guī)程》
- 2025職業(yè)健康培訓(xùn)測(cè)試題(+答案)
- 供貨流程管控方案
- 《實(shí)踐論》《矛盾論》導(dǎo)讀課件
- 中試基地運(yùn)營(yíng)管理制度
- 老年病康復(fù)訓(xùn)練治療講課件
- DB4201-T 617-2020 武漢市架空管線容貌管理技術(shù)規(guī)范
- 藥品追溯碼管理制度
- 腳手架國(guó)際化標(biāo)準(zhǔn)下的發(fā)展趨勢(shì)
評(píng)論
0/150
提交評(píng)論