基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

題目名稱(chēng):基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)

基于JSP的網(wǎng)上松鼠零食鋪的設(shè)計(jì)與實(shí)現(xiàn)摘要:網(wǎng)絡(luò)的發(fā)展促進(jìn)了服務(wù)業(yè)的迅速增長(zhǎng),同時(shí)給人們的生活提供了很多的便利,人們的消費(fèi)習(xí)慣和生活方式也隨著發(fā)生了很大的變化。網(wǎng)上商城,這種新的商業(yè)模式逐漸融入到人們的生活中。本人設(shè)計(jì)開(kāi)發(fā)的松鼠零食鋪系統(tǒng)正是在此背景下,通過(guò)零食購(gòu)物的需求調(diào)查,結(jié)合自己專(zhuān)業(yè)所學(xué)知識(shí)而設(shè)計(jì)了該系統(tǒng)。通過(guò)本網(wǎng)站,使人們能夠搜索并訂購(gòu)自己喜歡的零食。在本系統(tǒng)中,使用JSP技術(shù)結(jié)合SSM框架進(jìn)行頁(yè)面開(kāi)發(fā),SQLServer2008用作數(shù)據(jù)庫(kù)管理。系統(tǒng)功能包括用戶(hù)登錄、產(chǎn)品搜索、添加購(gòu)物車(chē)、商品管理、訂單管理和會(huì)員管理等。系統(tǒng)實(shí)現(xiàn)了4大類(lèi)零食商品的網(wǎng)上售賣(mài),讓人們能夠輕松找到自己想要的零食。關(guān)鍵詞:零食鋪;B/S;JSP;系統(tǒng)

DesignandImplementationofOnlineSquirrelSnackShopBasedonJSPAbstract:Thedevelopmentofthenetworkhasimprovedthequalityoflife,theserviceindustryhasbeguntogrow,andcommunicationisasimple,fast,cost-effectiveelectronictransactionmodel.CommunicationbetweenbuyersandsellersthroughtheInternet.ThedevelopmentoftheInternetandthechangesinpeople'sconsumptionhabitsandlifestyleshavegraduallyintegratedthisnewbusinessmodelintopeople'slives.SquirrelSnackShopisdesignedtoimprovepeople'sdemandforsnacks.Youcansearchforyourfavoritesnacks.Youcanalsoordersnacksyouwant.Intheforegroundofthissystem,backgroundJAVAandforegroundJSParemainlyusedasdevelopmentlanguages,whilebackgroundSQLServerisusedasdatabasemanagementandSSM-basedprojects.Thesystemdevelopmentenvironmentismyeclipse.Thesystemfunctionsincludeuserlogin,productsearch,shoppingcartaddition,commoditymanagement,ordermanagementandmembermanagement.Keywords:SnackShop;B/S;JSP;System目錄176831引言 引言1.1項(xiàng)目開(kāi)發(fā)背景現(xiàn)在是信息時(shí)代,信息技術(shù)的發(fā)展給社會(huì)帶來(lái)了巨大的變革,它不單在技術(shù)層面體現(xiàn),同時(shí)在思維上面也有所體現(xiàn)。信息技術(shù)已經(jīng)開(kāi)始應(yīng)用于社會(huì)中的各個(gè)環(huán)節(jié),從管理到物流,從生產(chǎn)制造到服務(wù),都離不開(kāi)網(wǎng)絡(luò)信息技術(shù)。隨著信息化生活的到來(lái),網(wǎng)絡(luò)平臺(tái)不斷地進(jìn)步和發(fā)展,網(wǎng)上購(gòu)物開(kāi)始成為人們生活方式的主流。網(wǎng)購(gòu)開(kāi)始帶動(dòng)市場(chǎng)經(jīng)濟(jì)的發(fā)展,并且給人們帶來(lái)了便利。網(wǎng)絡(luò)購(gòu)物因?yàn)閮r(jià)格便宜、方便快捷、送貨上門(mén),人們甚至不需要出門(mén),慢慢地成為大眾網(wǎng)民的最?lèi)?ài)。網(wǎng)絡(luò)購(gòu)物可以給不想出門(mén)逛街的人提供很大的方便,并且可以買(mǎi)到一些本地買(mǎi)不到的東西。由于零食種類(lèi)繁多,且不同的地區(qū)有不同的特色零食。因?yàn)橐粋€(gè)實(shí)體零食店放不下世界上各式各樣的零食,所以實(shí)體店并不能完全的滿(mǎn)足全國(guó)各地“吃貨”的要求。經(jīng)調(diào)查研究顯示喜歡吃零食的吃貨們更愿意嘗試在線購(gòu)買(mǎi),所以網(wǎng)上零食商店也像在淘寶商城等系統(tǒng)在互聯(lián)網(wǎng)平臺(tái)上呈現(xiàn)。網(wǎng)上松鼠零食店的前臺(tái)操作模塊就是利用JSP技術(shù)實(shí)現(xiàn)對(duì)整個(gè)零食店進(jìn)行管理。此平臺(tái)操作簡(jiǎn)單,只需注冊(cè)登錄便可以選購(gòu)商品下單購(gòu)買(mǎi)。1.2研究目的及意義1.2.1研究目的網(wǎng)絡(luò)購(gòu)物需求的增加和商品的極大豐富提高了人們網(wǎng)上開(kāi)店的熱情。對(duì)于喜歡吃零食的人來(lái)說(shuō),零食的種類(lèi)繁多,同一種類(lèi)型的零食又有不同的口味,且實(shí)體店沒(méi)有充足的面積存放種類(lèi)繁多的零食,而網(wǎng)上零食商城的出現(xiàn)很好的解決了這個(gè)難題。因?yàn)榫W(wǎng)上零食商店可以在任何地方利用手機(jī)和電腦慢慢挑選,并且永遠(yuǎn)不會(huì)下班關(guān)門(mén),購(gòu)買(mǎi)者可以隨著隨地的自由的查詢(xún)和訂購(gòu)零食,不需要自己在出門(mén)走一段很遠(yuǎn)的路到商店里面在一個(gè)一個(gè)的挑選東西。網(wǎng)上購(gòu)物減少了路費(fèi)的支出并且節(jié)省了大量的時(shí)間。這對(duì)于離商店比較遠(yuǎn)的“吃貨”來(lái)說(shuō),研究松鼠零食鋪具有實(shí)際意義。1.2.2研究意義開(kāi)發(fā)“松鼠零食鋪?zhàn)印本W(wǎng)站的意義及要求:第一:利用互聯(lián)網(wǎng)使人們能夠在家買(mǎi)到想吃的零食,并不需要出門(mén),保證零食送上門(mén)。第二:擁有世界各地所有的零食,包括來(lái)自海外的,并且有質(zhì)量保證書(shū),讓用戶(hù)安心購(gòu)買(mǎi)零食。第三:首頁(yè)展示眾多的零食是為了讓“吃貨”們了解零食的詳細(xì)信息,并激起他們購(gòu)買(mǎi)欲望。

2總體設(shè)計(jì)原則及可行性分析2.1系統(tǒng)開(kāi)發(fā)軟件的平臺(tái)的選擇軟件平臺(tái)是指開(kāi)發(fā)松鼠零食鋪系統(tǒng)所需的各類(lèi)軟件,系統(tǒng)開(kāi)發(fā)所用到的各類(lèi)軟件是運(yùn)行在Windows7操作系統(tǒng)下的。所用到的JSP技術(shù)主要用于實(shí)現(xiàn)Javaweb應(yīng)用程序的頁(yè)面開(kāi)發(fā)及服務(wù)器端的管理,本系統(tǒng)使用SQLServer2008數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行實(shí)時(shí)管理。在eclipse集成開(kāi)發(fā)環(huán)境下中充分運(yùn)用MVC架構(gòu)。本系統(tǒng)使用ApacheTomcat8.0作為服務(wù)器,發(fā)布到WEB服務(wù)器上進(jìn)行部署。2.2相關(guān)技術(shù)介紹2.2.1B/S模式B/S(Browser/Server)即瀏覽器/服務(wù)器模式,B/S架構(gòu)無(wú)需在客戶(hù)端安裝軟件,只需要在WEB瀏覽器瀏覽即可,軟件安裝在服務(wù)端,通過(guò)web服務(wù)器發(fā)布。用戶(hù)只要有IE瀏覽器,即可通過(guò)瀏覽器去使用軟件的全部功能。B/S模式保密性和功能性差,但是移植性、維護(hù)性和易用性好,可擴(kuò)展性強(qiáng)。只需要獲取賬號(hào)和密碼就可以操作,因?yàn)锽/S軟件架構(gòu)技術(shù)一直都在完善,所以他的擴(kuò)展性好,當(dāng)軟件需要進(jìn)行升級(jí)或者擴(kuò)展的時(shí)候,只需要在服務(wù)端進(jìn)行升級(jí)和擴(kuò)展,無(wú)需對(duì)客戶(hù)端進(jìn)行任何修改。B/S模式是由視圖層(顯示邏輯)、業(yè)務(wù)層(處理事務(wù))、數(shù)據(jù)庫(kù)層(處理數(shù)據(jù))組成,其結(jié)構(gòu)如圖2-1所示。圖2-1B/S架構(gòu)B/S的三層結(jié)構(gòu)各層功能如下:視圖層讓使用的人可以看到前臺(tái)的界面,并且可以接受使用者發(fā)送到服務(wù)器頁(yè)面的請(qǐng)求,然后服務(wù)器再將結(jié)果顯示給用戶(hù)。業(yè)務(wù)層主要是將service層的業(yè)務(wù)實(shí)現(xiàn),并對(duì)所有的業(yè)務(wù)進(jìn)行封裝,因?yàn)橹赜眯远鄠€(gè)前臺(tái)界面可以共享一個(gè)模塊。數(shù)據(jù)層主要是做具體的數(shù)據(jù)操作。視圖層、業(yè)務(wù)層和數(shù)據(jù)層依次調(diào)用。業(yè)務(wù)層處在視圖層和數(shù)據(jù)層之間,因?yàn)閷优c層是隔離的,所以別的層對(duì)業(yè)務(wù)層具體實(shí)現(xiàn)看不到。B/S架構(gòu)在同類(lèi)型架構(gòu)中是最安全的。B/S三層結(jié)構(gòu)主要有以下的優(yōu)點(diǎn):(1)用戶(hù)界面。當(dāng)前WEB界面可以支持多種類(lèi)型的插件,如:JAVASCRIPT等腳本語(yǔ)言和第三方應(yīng)用插件。為前端瀏覽器界面提供了非常多的表現(xiàn)形式和手法,豐富了用戶(hù)界面。(2)不受地區(qū)的限制。如果用B/S架構(gòu)的軟件部署在計(jì)算機(jī)上,只需服務(wù)器工作,那么只要用戶(hù)電腦有瀏覽器,便可以在任何的時(shí)間地點(diǎn)通過(guò)互聯(lián)網(wǎng)連接進(jìn)網(wǎng)站并進(jìn)行操作。(3)B/S架構(gòu)可以直接用瀏覽器進(jìn)行操作,并不需要安裝什么軟件。基于以上種種優(yōu)勢(shì)和分析,該松鼠零食鋪將采用B/S模式進(jìn)行設(shè)計(jì)和開(kāi)發(fā),易于操作和系統(tǒng)的升級(jí)、維護(hù)。2.2.2MVC架構(gòu)MVC主要是指Moder模型層、View視圖層、Controller控制層三個(gè)層,他們之間相互關(guān)聯(lián)但又不影響,因?yàn)閷訉又g是隔離的,用戶(hù)能夠和系統(tǒng)互動(dòng)的程序架構(gòu),也是當(dāng)前的復(fù)合性架構(gòu),此架構(gòu)主要利用模型層、視圖層和控制層快速將模塊之間的信息整合起來(lái),從而用更先進(jìn)的處理模式去處理信息輸入、輸出。不同的模型層執(zhí)行自己的功能,用戶(hù)操作視圖層發(fā)出信息后,控制后收到邏輯指令后,服務(wù)器將信息發(fā)送到模型層,在模型層中調(diào)用方法進(jìn)行邏輯處理,在SQL數(shù)據(jù)庫(kù)中找到符合的內(nèi)容進(jìn)行處理,并發(fā)送到視圖單元,再顯示給用戶(hù)。2.3市場(chǎng)分析零食已經(jīng)成為眾多消費(fèi)者的必買(mǎi)品。據(jù)調(diào)查,零食主要受學(xué)生和女性白領(lǐng)喜歡,且學(xué)生人數(shù)龐大,雖然消費(fèi)力低,但是買(mǎi)東西頻繁,人多量大。而白領(lǐng)則追求包裝、價(jià)格和對(duì)身體是否健康,雖然買(mǎi)的少,但是買(mǎi)的都是高價(jià)的零食。針對(duì)這些消費(fèi)群體,那些味道好包裝又精致的零食使她們很難抵擋的住這種誘惑。2.4定位分析開(kāi)發(fā)面向女性和小孩的松鼠零食鋪平臺(tái),主要有網(wǎng)上零食購(gòu)物商城、訂單管理信息兩大主要功能。主要服務(wù)于學(xué)生和女性白領(lǐng)兩大主流用戶(hù)群體。零食購(gòu)物商城:是提供給“吃貨”在線瀏覽零食和購(gòu)買(mǎi)的功能,例如提供各種進(jìn)口零食、稀有特產(chǎn)的購(gòu)買(mǎi)等。訂單管理:是指用戶(hù)選好買(mǎi)的物品后進(jìn)行付款后查詢(xún)自己貨物是否在派送。2.5可行性分析2.5.1系統(tǒng)可行性分析系統(tǒng)研發(fā)的基礎(chǔ)需要一個(gè)可靠的可行性分析,所以在項(xiàng)目啟動(dòng)的最開(kāi)始的階段需要對(duì)松鼠零食鋪進(jìn)行必要性和可行性分析。只有從經(jīng)濟(jì)、技術(shù)等各個(gè)方面的可行性上進(jìn)行分析,才能保證系統(tǒng)的成功運(yùn)行。在開(kāi)發(fā)松鼠零食鋪之前,先要對(duì)松鼠零食鋪系統(tǒng)進(jìn)行可行性分析,保證項(xiàng)目可以正常開(kāi)發(fā)使用,并根據(jù)規(guī)定的步驟進(jìn)行可行性分析。如果松鼠零食鋪?lái)?xiàng)目沒(méi)有可行性分析,那么后期便浪費(fèi)了時(shí)間和資源。松鼠零食鋪網(wǎng)站平臺(tái)經(jīng)濟(jì)可行性:該網(wǎng)站的目的在于通過(guò)電商平臺(tái),出售零食給全世界各地的“吃貨”們,并以此實(shí)現(xiàn)盈利。而商城的商品都是世界各地的特色零食,只有突出產(chǎn)品的特色,才能吸引用戶(hù)購(gòu)買(mǎi)。購(gòu)買(mǎi)松鼠零食鋪的零食,我們會(huì)像淘寶這類(lèi)網(wǎng)上商城一樣送貨上門(mén)。像別的網(wǎng)上購(gòu)物,網(wǎng)上的商品都不能保證是否為正品,但是像松鼠零食鋪這樣有著可信的購(gòu)買(mǎi)渠道,并且擁有零食質(zhì)量和日期的保證書(shū),“吃貨”們基于信任都會(huì)愿意購(gòu)買(mǎi)零食鋪的零食。松鼠零食鋪網(wǎng)站是經(jīng)過(guò)品質(zhì)確認(rèn)的,購(gòu)買(mǎi)的零食不會(huì)有假貨,所以“吃貨”們更會(huì)選擇松鼠零食鋪平臺(tái)購(gòu)物。(2)松鼠零食鋪網(wǎng)站平臺(tái)操作可行性:傳統(tǒng)的商品模式在現(xiàn)在已經(jīng)不太適用了,而在線購(gòu)物概念的出現(xiàn),為這些商品提供了很好的平臺(tái)。且零食鋪采用線上網(wǎng)店線下實(shí)體店相結(jié)合的方式,旨在為吃貨們提供網(wǎng)購(gòu)貨到、貨真、貨好。2.5.2可行性分析開(kāi)發(fā)環(huán)境的選擇在進(jìn)行設(shè)計(jì)與開(kāi)發(fā)時(shí),選擇技術(shù)是開(kāi)發(fā)人員開(kāi)發(fā)項(xiàng)目或者網(wǎng)站考慮的最根本問(wèn)題。只要對(duì)開(kāi)發(fā)工具和平臺(tái)進(jìn)行進(jìn)行合適的選擇才能更好、更快速的開(kāi)發(fā)。根據(jù)松鼠零食鋪的功能以及松鼠零食鋪的各項(xiàng)條件來(lái)研究技術(shù)的可行性。該零食鋪采用的是排名前三的JAVA技術(shù)。正如大家熟知,JAVA已經(jīng)越來(lái)越穩(wěn)定,是計(jì)算機(jī)互聯(lián)網(wǎng)領(lǐng)域最俱具有前景的技術(shù)之一。該網(wǎng)站采用的數(shù)據(jù)庫(kù)是的SQLServer,JAVA的開(kāi)發(fā)工具采用的是Eclipse,新版本工具為開(kāi)發(fā)之路帶來(lái)更多的便利。2.5.3系統(tǒng)的總體設(shè)計(jì)原則為確保系統(tǒng)的建設(shè)成功與可持續(xù)發(fā)展,在系統(tǒng)的建設(shè)與技術(shù)方案設(shè)計(jì)時(shí)我們遵循統(tǒng)一設(shè)計(jì)的原則、先進(jìn)性的原則、高可靠、高安全性的原則、成熟性的原則、可擴(kuò)展性的原則這六大原則。根據(jù)六大設(shè)計(jì)原則主要將系統(tǒng)分為兩個(gè)大塊:普通用戶(hù)模塊和管理員模塊。普通用戶(hù)模塊:個(gè)人信息維護(hù)、在線注冊(cè)、在線下訂單、商品信息瀏覽。管理員模塊:修改個(gè)人密碼、商品類(lèi)別管理、商品信息管理、系統(tǒng)管理、訂單管理。3松鼠零食鋪系統(tǒng)需求分析3.1系統(tǒng)的需求功能分析松鼠零食鋪商城主要包括前臺(tái)界面和后臺(tái)界面。在前臺(tái)界面,用戶(hù)可以瀏覽、搜索以及購(gòu)買(mǎi)商品。詳細(xì)信息如下:首頁(yè)展示:在進(jìn)行前臺(tái)界面設(shè)計(jì)的時(shí)候需要考慮到用戶(hù)群體的使用情況,又因?yàn)榛ヂ?lián)網(wǎng)的開(kāi)放性,用戶(hù)可能來(lái)自各個(gè)階層,知識(shí)文化水平參差不齊,這就需要充分考慮用戶(hù)界面的設(shè)計(jì),便于讓所有人群都能通過(guò)簡(jiǎn)單明了的操作選擇自己喜愛(ài)的商品。并且在設(shè)計(jì)按鈕的時(shí)候,盡量將按鈕放大并用圖片表示,這樣方便點(diǎn)擊。風(fēng)格比較樸素,不會(huì)太過(guò)于華麗,簡(jiǎn)潔明了的將商品呈現(xiàn)給用戶(hù),用戶(hù)也能夠快速找到自己需要的商品。商品展示:隨著信息技術(shù)網(wǎng)絡(luò)的發(fā)展,商品圖片成為吸引消費(fèi)者的第一要素,通過(guò)前臺(tái)界面提供多張圖片的展示,提升消費(fèi)者消費(fèi)的欲望。因?yàn)榫W(wǎng)上購(gòu)物無(wú)法使用戶(hù)直接接觸到商品,所以圖片展示成了一個(gè)重要的手段。消費(fèi)者瀏覽網(wǎng)頁(yè)時(shí),并不喜歡看一大堆的文字信息,所以圖片就很有價(jià)值了。商品的圖片盡量真實(shí),不會(huì)經(jīng)過(guò)任何的P圖修改處理。圖片展示盡可能多,盡可能展示商品的各個(gè)方面,這樣可以讓消費(fèi)者全面了解商品,從而減少退貨率,在一定范圍內(nèi)減少零食鋪的成本損失。Banner模塊:通過(guò)廣告的形式,宣傳商品特價(jià)或活動(dòng)。其主要目的是為了擴(kuò)大經(jīng)濟(jì)效益。后臺(tái)管理員可以通過(guò)后臺(tái)對(duì)banner圖片進(jìn)行更替修改。購(gòu)物車(chē):用戶(hù)可以對(duì)想要購(gòu)買(mǎi)的零食商品進(jìn)行網(wǎng)上訂購(gòu),并且對(duì)選中的商品進(jìn)行增刪商品。根據(jù)上面的功能需求,松鼠零食鋪主要需要實(shí)現(xiàn)以下功能模塊:如圖3-1所示圖3-1主要實(shí)現(xiàn)功能本系統(tǒng)具體的功能模塊有:后臺(tái)管理模塊、零食鋪商城模塊、訂單支付模塊三大模塊。后臺(tái)管理模塊:管理員可以對(duì)用戶(hù)權(quán)限進(jìn)行管理,能對(duì)首頁(yè)展示圖片進(jìn)行上傳,能管理用戶(hù)的訂單信息查看訂單狀態(tài),確保商品能送到到顧客的手中,同時(shí)還能對(duì)零食商品價(jià)格進(jìn)行調(diào)整并且上傳新的零食商品并進(jìn)行分類(lèi)管理,查看庫(kù)存狀態(tài)。零食鋪商城模塊:顧客需要注冊(cè)登錄,瀏覽零食商品,每個(gè)商品都有自己的類(lèi)型??梢赃x擇商品加入購(gòu)物車(chē)進(jìn)行購(gòu)買(mǎi),可以了解到零食商品發(fā)貨情況。訂單支付模塊:對(duì)選中的商品進(jìn)行添加刪除,對(duì)到貨的商品確認(rèn)收貨。系統(tǒng)頂層用例圖,如圖3-2所示。圖3-2系統(tǒng)頂層用例圖3.2松鼠零食鋪系統(tǒng)非功能性分析3.2.1系統(tǒng)的可靠性由于該系統(tǒng)是一個(gè)網(wǎng)上零食商城的管理系統(tǒng),所以其數(shù)據(jù)的安全性要好,以及對(duì)故障恢復(fù)方面也要完善,系統(tǒng)在資源充足的情況下不崩潰,系統(tǒng)運(yùn)行出錯(cuò)后能自動(dòng)回復(fù),出錯(cuò)時(shí)主動(dòng)進(jìn)行數(shù)據(jù)存儲(chǔ)。由于系統(tǒng)采用的是SQLServer作為數(shù)據(jù)庫(kù)管理系統(tǒng),因此以上這些需求都能滿(mǎn)足。3.2.2系統(tǒng)對(duì)易用性系統(tǒng)采用在eclipse中開(kāi)發(fā),因?yàn)閑clipse是大多數(shù)人用的軟件,他有操作性強(qiáng),易上手的特點(diǎn),所以系統(tǒng)易于開(kāi)發(fā)。3.3.3系統(tǒng)的效率系統(tǒng)可在最低CPUi3G4560內(nèi)存2G硬盤(pán)30G以上的硬件環(huán)境下運(yùn)行流暢,目前,所有的機(jī)算機(jī)都大大的滿(mǎn)足并且超過(guò)了這個(gè)條件,所以基本不影響系統(tǒng)的效率。在與用戶(hù)溝通后,該系統(tǒng)運(yùn)行在最低硬件配置條件下,點(diǎn)擊功能按鈕響應(yīng)時(shí)間在5秒以?xún)?nèi)均可接受。在最大數(shù)據(jù)處理量的要求上,根據(jù)業(yè)務(wù)調(diào)查的結(jié)果,當(dāng)前網(wǎng)購(gòu)商城都使用nginx。它能夠支持高達(dá)50,000個(gè)并發(fā)連接數(shù)的響應(yīng),因此對(duì)系統(tǒng)最大數(shù)據(jù)處理量的要求是最大數(shù)據(jù)處理量可以為10000人同時(shí)操作時(shí)系統(tǒng)不會(huì)崩潰。

4松鼠零食鋪總體設(shè)計(jì)4.1系統(tǒng)概要設(shè)計(jì)及流程通過(guò)對(duì)松鼠零食鋪綜合信息管理特點(diǎn)的調(diào)查和研究,確定松鼠零食鋪服務(wù)系統(tǒng)的需求,分析松鼠零食鋪服務(wù)的功能模塊和業(yè)務(wù)流程,并運(yùn)用面向?qū)ο蟮姆椒ㄊ褂肬ML建模工具對(duì)系統(tǒng)功能進(jìn)行詳細(xì)的設(shè)計(jì),并采用B/S模式進(jìn)行架構(gòu),前后端分離技術(shù)開(kāi)發(fā)動(dòng)態(tài)交互的應(yīng)用系統(tǒng)。系統(tǒng)在總體架構(gòu)上采用了前后端分離B/S結(jié)構(gòu),其總體架構(gòu)如圖4-1所示。圖4-1松鼠零食鋪系統(tǒng)的體系結(jié)構(gòu)圖系統(tǒng)總體為B/S前后端分離模式架構(gòu)。因?yàn)锽/S無(wú)需在客戶(hù)端安裝軟件,WEB瀏覽器就可以使用,所以系統(tǒng)的擴(kuò)展性很強(qiáng),只需要對(duì)服務(wù)端進(jìn)行編輯,并不影響客戶(hù)端,如果版本要升級(jí)的話,直接對(duì)服務(wù)端代碼進(jìn)行更新迭代就好了。之后客戶(hù)端也會(huì)更新界面和內(nèi)容。4.2零食鋪系統(tǒng)設(shè)計(jì)思想松鼠零食鋪系統(tǒng)主要實(shí)現(xiàn)三個(gè)方面的管理:系統(tǒng)管理、商品管理、日常管理。該系統(tǒng)全面優(yōu)化當(dāng)前我國(guó)網(wǎng)上商城服務(wù)管理的業(yè)務(wù)流程,在分析的基礎(chǔ)上,根據(jù)松鼠零食鋪不同業(yè)務(wù)的不同需求,制定具有針對(duì)性的管理實(shí)施方案,并通過(guò)對(duì)當(dāng)前我國(guó)網(wǎng)上商城服務(wù)管理業(yè)務(wù)流程進(jìn)行優(yōu)化,以科學(xué)的管理思想與管理方法為指導(dǎo),以提高松鼠零食鋪的服務(wù)管理效率。本系統(tǒng)在管理功能上分為系統(tǒng)管理、商品管理、日常管理三個(gè)功能模塊。如圖4-2所示。圖4-2松鼠零食鋪功能結(jié)構(gòu)圖4.3松鼠零食鋪功能模塊劃分4.3.1用戶(hù)管理模型圖4-3用戶(hù)管理模型用戶(hù)管理模型主要是針對(duì)系統(tǒng)管理員對(duì)用戶(hù)進(jìn)行管理。因?yàn)橛脩?hù)設(shè)計(jì)到高級(jí)管理員和普通會(huì)員等等。通過(guò)對(duì)這些用戶(hù)的權(quán)限管理,角色分配實(shí)現(xiàn)每一類(lèi)的用戶(hù)只能訪問(wèn),更改自己的權(quán)限范圍內(nèi)的內(nèi)容。表4-1管理員登錄編號(hào)101用例名稱(chēng)管理員登錄使用人員管理員擴(kuò)展點(diǎn)無(wú)輸入管理員:管理員賬號(hào)(25位以?xún)?nèi)),管理員密碼(25位以?xún)?nèi))系統(tǒng)響應(yīng)系統(tǒng)提示登陸成功,并跳轉(zhuǎn)管理界面。前置條件用戶(hù)尚未登錄。后置條件用戶(hù)已登錄交互行為用戶(hù)通過(guò)交互式頁(yè)面發(fā)起登錄行為?!到y(tǒng)返回登錄頁(yè)面。用戶(hù)依照身份輸入相應(yīng)信息,提交。系統(tǒng)驗(yàn)證登錄信息結(jié)構(gòu),驗(yàn)證成功,予以上傳。系統(tǒng)依照登錄信息查找用戶(hù),匹配信息成功,確認(rèn)用戶(hù)合法。系統(tǒng)將用戶(hù)置為已登錄狀態(tài),保存登錄狀態(tài)并返回登錄成功信息。替代交互行為4-a用戶(hù)輸入數(shù)據(jù)結(jié)構(gòu)不合法(賬號(hào)錯(cuò)誤、密碼長(zhǎng)度與字符集錯(cuò)誤),系統(tǒng)返回錯(cuò)誤提示,與錯(cuò)誤對(duì)應(yīng)5-a系統(tǒng)在數(shù)據(jù)庫(kù)內(nèi)部未查找到用戶(hù)數(shù)據(jù),或查找到用戶(hù)數(shù)據(jù)但數(shù)據(jù)不完全匹配,系統(tǒng)返回錯(cuò)誤提示,提示用戶(hù)密碼輸入錯(cuò)誤或用戶(hù)不存在。特別說(shuō)明無(wú)4.3.2用戶(hù)登錄注冊(cè)模型圖4-4居民用戶(hù)注冊(cè)模型用戶(hù)注冊(cè)的話,也要到網(wǎng)站申請(qǐng),不過(guò)這個(gè)不需要中心人員的審核,只要輸入的資料符合條件則可以完成注冊(cè)。注冊(cè)后就可以查看網(wǎng)上信息。表4-2注冊(cè)編號(hào)102用例名稱(chēng)注冊(cè)使用人員游客擴(kuò)展點(diǎn)無(wú)輸入用戶(hù)昵稱(chēng)、用戶(hù)密碼(6-16位)、用戶(hù)聯(lián)系方式(手機(jī)號(hào)、郵箱)系統(tǒng)響應(yīng)系統(tǒng)將用戶(hù)基本信息存入數(shù)據(jù)庫(kù)系統(tǒng)提示注冊(cè)成功,自動(dòng)為用戶(hù)執(zhí)行登錄操作,并跳轉(zhuǎn)回主頁(yè)面。前置條件游客申請(qǐng)注冊(cè)后置條件游客成功注冊(cè)為會(huì)員,并登錄系統(tǒng)交互行為1.游客通過(guò)交互式頁(yè)面發(fā)起注冊(cè)行為2.系統(tǒng)返回注冊(cè)頁(yè)面3.游客輸入相應(yīng)信息,提交4.系統(tǒng)驗(yàn)證注冊(cè)信息結(jié)構(gòu),驗(yàn)證成功,予以上傳。5.系統(tǒng)查找數(shù)據(jù)庫(kù),確認(rèn)信息無(wú)重復(fù),予以保存。6.系統(tǒng)返回注冊(cè)成功提示,讀取用戶(hù),將用戶(hù)置為已登錄狀態(tài)。替代交互行為4-a游客輸入數(shù)據(jù)結(jié)構(gòu)不合法(手機(jī)號(hào)格式錯(cuò)誤、郵箱格式錯(cuò)誤、密碼長(zhǎng)度與字符集錯(cuò)誤),系統(tǒng)返回錯(cuò)誤提示,與錯(cuò)誤對(duì)應(yīng)5-a游客輸入手機(jī)號(hào)與郵箱已被系統(tǒng)內(nèi)其他用戶(hù)注冊(cè),提示用戶(hù)信息已存在,并提示用戶(hù)重試。特別說(shuō)明管理員不參與注冊(cè)行為,其用戶(hù)賬戶(hù)由數(shù)據(jù)庫(kù)管理員統(tǒng)一通過(guò)操作數(shù)據(jù)庫(kù)發(fā)放。表4-3登錄編號(hào)103用例名稱(chēng)登錄使用人員注冊(cè)用戶(hù)擴(kuò)展點(diǎn)無(wú)輸入注冊(cè)用戶(hù):用戶(hù)密碼(6-16位)、用戶(hù)聯(lián)系方式(手機(jī)號(hào)或郵箱)系統(tǒng)響應(yīng)系統(tǒng)提示登陸成功,并跳轉(zhuǎn)回主頁(yè)前置條件用戶(hù)尚未登錄。后置條件用戶(hù)已登錄,可以使用系統(tǒng)服務(wù)。交互行為7.用戶(hù)通過(guò)交互式頁(yè)面發(fā)起登錄行為8.系統(tǒng)返回登錄頁(yè)面9.用戶(hù)依照身份輸入相應(yīng)信息,提交10.系統(tǒng)驗(yàn)證登錄信息結(jié)構(gòu),驗(yàn)證成功,予以上傳。11.系統(tǒng)依照登錄信息查找用戶(hù),匹配信息成功,確認(rèn)用戶(hù)合法。12.系統(tǒng)將用戶(hù)置為已登錄狀態(tài),保存登錄狀態(tài)并返回登錄成功信息。替代交互行為4-a用戶(hù)輸入數(shù)據(jù)結(jié)構(gòu)不合法(賬號(hào)錯(cuò)誤、密碼長(zhǎng)度與字符集錯(cuò)誤),系統(tǒng)返回錯(cuò)誤提示,與錯(cuò)誤對(duì)應(yīng)5-a系統(tǒng)在數(shù)據(jù)庫(kù)內(nèi)部未查找到用戶(hù)數(shù)據(jù),或查找到用戶(hù)數(shù)據(jù)但數(shù)據(jù)不完全匹配,系統(tǒng)返回錯(cuò)誤提示,提示用戶(hù)密碼輸入錯(cuò)誤或用戶(hù)不存在。特別說(shuō)明4.3.3用戶(hù)管理模型圖4-5用戶(hù)管理模型用戶(hù)注冊(cè)成功后,登錄系統(tǒng),就可以根據(jù)自己的需要來(lái)查詢(xún)不同的零食,以滿(mǎn)足自己的實(shí)際生活需要。并可以對(duì)自己的個(gè)人資料進(jìn)行管理,還可以查詢(xún)自己購(gòu)買(mǎi)的商品訂單查詢(xún)。表4-4查看個(gè)人信息編號(hào)104用例名稱(chēng)查看個(gè)人信息使用人員注冊(cè)用戶(hù)擴(kuò)展點(diǎn)無(wú)輸入無(wú)系統(tǒng)響應(yīng)系統(tǒng)跳轉(zhuǎn)至對(duì)應(yīng)頁(yè)面,呈現(xiàn)用戶(hù)信息,包括基本聯(lián)系方式(手機(jī)、郵箱),基本信息(昵稱(chēng))前置條件用戶(hù)已經(jīng)登錄后置條件用戶(hù)成功跳轉(zhuǎn)至對(duì)應(yīng)頁(yè)面交互行為已經(jīng)登錄系統(tǒng)的用戶(hù)通過(guò)交互式控件發(fā)起請(qǐng)求。系統(tǒng)檢測(cè)用戶(hù)登錄狀態(tài),確認(rèn)當(dāng)前角色為已登錄用戶(hù),返回個(gè)人信息頁(yè)面,包含用戶(hù)信息。替代交互行為2-a系統(tǒng)檢測(cè)用戶(hù)登錄狀態(tài),確認(rèn)當(dāng)前用戶(hù)為未登錄狀態(tài),跳轉(zhuǎn)至登錄頁(yè)面,并提示用戶(hù)登錄。特別說(shuō)明無(wú)表4-5修改個(gè)人信息編號(hào)105用例名稱(chēng)修改個(gè)人信息使用人員注冊(cè)用戶(hù)擴(kuò)展點(diǎn)無(wú)輸入用戶(hù)姓名、電話號(hào)碼等基本信息系統(tǒng)響應(yīng)系統(tǒng)成功修改個(gè)人信息,并跳轉(zhuǎn)至個(gè)人信息頁(yè)面。前置條件用戶(hù)已經(jīng)登錄。后置條件用戶(hù)成功修改個(gè)人信息。交互行為用戶(hù)發(fā)起修改個(gè)人信息請(qǐng)求。系統(tǒng)驗(yàn)證用戶(hù)登錄狀態(tài),確認(rèn)用戶(hù)已登錄,返回修改個(gè)人信息頁(yè)面。用戶(hù)輸入相應(yīng)信息,提交。系統(tǒng)驗(yàn)證提交修改信息,驗(yàn)證成功,予以上傳。系統(tǒng)校驗(yàn)用戶(hù)登錄狀態(tài),確認(rèn)用戶(hù)已登錄。系統(tǒng)保存上傳的數(shù)據(jù),返回修改個(gè)人信息成功提示并跳轉(zhuǎn)至登錄頁(yè)。替代交互行為2-a/5-a系統(tǒng)驗(yàn)證用戶(hù)登錄狀態(tài),確認(rèn)用戶(hù)未登錄,跳轉(zhuǎn)至登錄頁(yè)提醒用戶(hù)登錄。4-a系統(tǒng)驗(yàn)證提交修改信息,驗(yàn)證失敗,返回錯(cuò)誤提示,與對(duì)應(yīng)數(shù)據(jù)錯(cuò)誤一致。特別說(shuō)明用戶(hù)昵稱(chēng)等個(gè)人信息數(shù)據(jù)均為可選數(shù)據(jù)。表4-6登出編號(hào)106用例名稱(chēng)登出使用人員注冊(cè)用戶(hù)擴(kuò)展點(diǎn)無(wú)輸入無(wú)系統(tǒng)響應(yīng)用戶(hù)狀態(tài)重新變成未登錄狀態(tài),同時(shí)跳轉(zhuǎn)回首頁(yè)。前置條件用戶(hù)已經(jīng)登錄。后置條件用戶(hù)登錄狀態(tài)清空。交互行為用戶(hù)通過(guò)交互接口發(fā)起登出請(qǐng)求。系統(tǒng)校驗(yàn)用戶(hù)/管理員登錄狀態(tài),確認(rèn)用戶(hù)為登錄狀態(tài),清除用戶(hù)登陸狀態(tài),返回首頁(yè),登出窗口消息,提示用戶(hù)已成功登出。替代交互行為2-a系統(tǒng)校驗(yàn)用戶(hù)登錄狀態(tài),確認(rèn)用戶(hù)為未登錄狀態(tài),返回首頁(yè),提示用戶(hù)并未登錄系統(tǒng)。特別說(shuō)明無(wú)4.3.4商城后臺(tái)業(yè)務(wù)流程模型網(wǎng)站后臺(tái)系統(tǒng)是商城的一個(gè)核心,通過(guò)后臺(tái)系統(tǒng)管理員可以對(duì)倉(cāng)庫(kù)的商品進(jìn)行上架,下架,新增的操作,以前這些都是人工操坐,人工記錄,現(xiàn)在則改為由數(shù)據(jù)庫(kù)進(jìn)行一個(gè)記錄大大提高了安全性,提高了工作效率,降低了運(yùn)作成本。如圖4-6所示。4-6商城后臺(tái)業(yè)務(wù)流程圖管理員界面用例圖說(shuō)明:表4-7管理商品列表編號(hào)201用例名稱(chēng)查看商品列表使用人員系統(tǒng)管理員擴(kuò)展點(diǎn)無(wú)輸入商品ID并進(jìn)行添加、修改和刪除系統(tǒng)響應(yīng)返回商品列表頁(yè)面,呈現(xiàn)更新后的商品列表數(shù)據(jù)前置條件管理員已登陸后置條件管理員能夠查看商品列表數(shù)據(jù)交互行為管理員通過(guò)交互接口發(fā)起請(qǐng)求系統(tǒng)查找數(shù)據(jù)庫(kù),返回商品列表頁(yè)面,呈現(xiàn)商品列表數(shù)據(jù)管理員對(duì)商品列表進(jìn)行添加、修改和刪除操作提交之后返回商品列表頁(yè)面,并更新。替代交互行為a系統(tǒng)查找數(shù)據(jù)庫(kù),未查找到相關(guān)商品,返回錯(cuò)誤提示a系統(tǒng)查找數(shù)據(jù)庫(kù),未修改成功,返回錯(cuò)誤提示a對(duì)數(shù)據(jù)庫(kù)未添加成功,返回錯(cuò)誤提示a系統(tǒng)查找數(shù)據(jù)庫(kù),未刪除成功,返回錯(cuò)誤提示特別說(shuō)明商品列表需要分頁(yè)與排序編號(hào)202用例名稱(chēng)查看商品詳情使用人員系統(tǒng)管理員擴(kuò)展點(diǎn)無(wú)輸入商品ID系統(tǒng)響應(yīng)返回商品詳情頁(yè)面,呈現(xiàn)商品詳情數(shù)據(jù)前置條件管理員已登陸后置條件發(fā)起請(qǐng)求的角色能夠查看商品詳情數(shù)據(jù)交互行為用戶(hù)通過(guò)交互接口發(fā)起請(qǐng)求系統(tǒng)查找數(shù)據(jù)庫(kù),查找到相關(guān)商品,返回商品詳情頁(yè)面,呈現(xiàn)商品詳情數(shù)據(jù)替代交互行為2-a系統(tǒng)查找數(shù)據(jù)庫(kù),未查找到相關(guān)商品,返回錯(cuò)誤提示特別說(shuō)明商品ID已被封裝好根據(jù)發(fā)起用戶(hù)角色點(diǎn)擊的品ID不同呈現(xiàn)不同的內(nèi)容。表4-8查看商品詳情4.3.5商城前臺(tái)業(yè)務(wù)流程模型商城前臺(tái)是為客戶(hù)準(zhǔn)備的頁(yè)面,包括登錄注冊(cè)、商品購(gòu)買(mǎi)、購(gòu)物車(chē)、商品結(jié)算、訂單管理。使用數(shù)據(jù)庫(kù)來(lái)保存用戶(hù)的購(gòu)買(mǎi)記錄,由此來(lái)分析用戶(hù)喜歡那些商品,那些商品高買(mǎi)的比較少??梢宰顬闃I(yè)務(wù)分析的依據(jù),單點(diǎn)登錄(登錄一次其他地方就不用再登錄)由此改善用戶(hù)體驗(yàn)。商城前臺(tái)流程圖如圖4-7、4-8。圖4-7商城前臺(tái)業(yè)務(wù)流程圖圖4-8顧客可用功能圖用例圖說(shuō)明:表4-9查看商品列表編號(hào)302用例名稱(chēng)查看商品列表使用人員游客、注冊(cè)用戶(hù)擴(kuò)展點(diǎn)無(wú)輸入無(wú)系統(tǒng)響應(yīng)返回商品列表頁(yè)面,呈現(xiàn)商品列表數(shù)據(jù)前置條件無(wú)后置條件發(fā)起請(qǐng)求的角色能夠查看商品列表數(shù)據(jù)交互行為用戶(hù)通過(guò)交互接口發(fā)起請(qǐng)求系統(tǒng)查找數(shù)據(jù)庫(kù),返回商品列表頁(yè)面,呈現(xiàn)商品列表數(shù)據(jù)替代交互行為無(wú)特別說(shuō)明商品列表需要分頁(yè)與排序表4-10查看商品詳情編號(hào)303用例名稱(chēng)查看商品詳情使用人員游客、注冊(cè)用戶(hù)擴(kuò)展點(diǎn)無(wú)輸入商品ID系統(tǒng)響應(yīng)返回商品詳情頁(yè)面,呈現(xiàn)商品詳情數(shù)據(jù)前置條件無(wú)后置條件發(fā)起請(qǐng)求的角色能夠查看商品詳情數(shù)據(jù)交互行為用戶(hù)通過(guò)交互接口發(fā)起請(qǐng)求系統(tǒng)查找數(shù)據(jù)庫(kù),查找到相關(guān)商品,返回商品詳情頁(yè)面,呈現(xiàn)商品詳情數(shù)據(jù)替代交互行為2-a系統(tǒng)查找數(shù)據(jù)庫(kù),未查找到相關(guān)商品,返回錯(cuò)誤提示特別說(shuō)明商品ID已被封裝在相關(guān)跳轉(zhuǎn)鏈接中返回的詳情頁(yè)面根據(jù)發(fā)起用戶(hù)角色的不同呈現(xiàn)不同的內(nèi)容。

5數(shù)據(jù)庫(kù)設(shè)計(jì)5.1數(shù)據(jù)流圖5.1.1頂層數(shù)據(jù)流圖賣(mài)家可以放商品到零食鋪商城。圖5-1頂層數(shù)據(jù)流程圖5.1.2第二層數(shù)據(jù)流圖賣(mài)家可以對(duì)商品信息進(jìn)行編輯,商品生產(chǎn)日期和過(guò)期日期進(jìn)行編寫(xiě),處理訂單狀態(tài)。圖5-2第二層數(shù)據(jù)流程圖5.1.3第三層數(shù)據(jù)流圖(1)信息編輯的數(shù)據(jù)流圖圖5-3第三層信息編輯數(shù)據(jù)流程圖商品編輯的數(shù)據(jù)流圖圖5-4第三層商品編輯數(shù)據(jù)流程圖(3)訂單處理的數(shù)據(jù)流圖圖5-5第三層訂單處理數(shù)據(jù)流程圖5.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)圖5-7數(shù)據(jù)概念結(jié)構(gòu)設(shè)計(jì)圖5.3數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)圖5-6數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)圖5.4數(shù)據(jù)字典使用SQLserver簡(jiǎn)歷一個(gè)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)開(kāi)放賬號(hào):tzq,密碼:111111。該庫(kù)有14個(gè)表,以下是這些表的結(jié)構(gòu)和內(nèi)容。賬單表account:用來(lái)記錄金錢(qián)充值、消費(fèi)、提現(xiàn)的時(shí)間。表5-1賬單表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述m_idint11是訂單IDu_idint11否用戶(hù)IDm_timedate0否單號(hào)時(shí)間m_typevarchar255否單號(hào)類(lèi)型(充值、消費(fèi)、提現(xiàn))m_amoneyvarchar255否錢(qián)管理員賬號(hào)信息表admin表5-2管理員表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述ad_idInt11是ID編號(hào)ad_usernamevarchar255否管理員賬號(hào)ad_passwordvarchar255否管理員密碼role_idint11否管理員權(quán)限等級(jí)后臺(tái)菜單欄admin_menu表5-3后臺(tái)菜單表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述idint11是菜單欄IDmenu_namevarchar255否菜單欄后臺(tái)子菜單欄admin_menu_child表5-4后臺(tái)子菜單表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述idint11是子菜單IDchild_menu_namevarchar255否子菜單名字parentidint11否父級(jí)菜單IDchild_menu_urlvarchar255否連接地址(5)購(gòu)買(mǎi)商品評(píng)語(yǔ)comment表5-5評(píng)論表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述e_idint11是IDe_parentIdint11否追評(píng)s_idint11否商品IDu_idint11否用戶(hù)IDe_pictureNamevarchar255否上傳圖片的名字e_typeint11否1=好評(píng),0,-1差評(píng)e_scoreint11否評(píng)分infovarchar255否評(píng)語(yǔ)e_datedate0否評(píng)價(jià)日期(6)order訂單管理狀態(tài)表5-6訂單管理狀態(tài)表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述idInt11是訂單管理IDo_idvarchar255否訂單編號(hào)u_idint11否用戶(hù)IDe_idint11否操作員IDo_timedate0否訂單時(shí)間o_typeint11否-1:未發(fā)貨;1:完成,0:已發(fā)貨(7)permission后臺(tái)功能按鈕表5-7后臺(tái)功能按鈕表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述peridint11是功能IDpnamevarchar255否功能名字parentidint11否父級(jí)菜單IDurlvarchar255否鏈接地址isparentInt11否父級(jí)ismenuInt11否菜單(8)orderdetail訂單表5-8訂單管理狀態(tài)表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述d_idint11是訂單IDo_idvarchar255否訂單編號(hào)s_idint11否商品ID編號(hào)o_numInt11否商品數(shù)量o_moneydouble0否商品價(jià)格(9)receiptinfo訂單收據(jù)信息表5-9訂單收據(jù)信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述r_idint11是收據(jù)IDo_idvarchar255否訂單編號(hào)o_namevarchar255否收件人姓名o_phonevarchar255否收件人手機(jī)號(hào)碼o_addressvarchar255否收件地址(10)record商品出庫(kù)記錄表5-10商品出庫(kù)記錄表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述record_idint11是出庫(kù)IDs_idint11否商品IDrecordDatevarchar255否出庫(kù)時(shí)間recordNumberint11否出庫(kù)數(shù)量(11)role管理員權(quán)限等級(jí)表5-11管理員權(quán)限等級(jí)表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述role_idint11是管理員IDrole_namevarchar255否管理員姓名role_infovarchar255否管理員等級(jí)(12)rolepermission管理員操作功能權(quán)限等級(jí)表5-12管理員操作功能權(quán)限等級(jí)表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述idint11是編號(hào)IDrole_idint11否管理員IDperidint11否功能ID(13)snackinfo零食商品表5-13零食商品表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述s_idint11是商品IDs_batchvarchar255否批次好=生產(chǎn)日期+2位隨機(jī)數(shù)s_namevarchar255否功能IDs_pricedouble0否庫(kù)存s_discountvarchar255否折扣s_pictureUrlvarchar255否圖片鏈接s_brandvarchar255否品牌s_placevarchar255否產(chǎn)地s_Importedint11否是否進(jìn)口s_scoreint11否積分s_pDatedate0否生產(chǎn)日期s_qDatevarchar255否保質(zhì)期Stateint11否1上架,0草稿,-1--下架s_createDatedate0否上架時(shí)間s_desevarchar255否詳情s_typevarchar255否類(lèi)型s_numbervarchar255否數(shù)量(14)userinfo用戶(hù)基本信息表5-14用戶(hù)基本信息表字段名稱(chēng)數(shù)據(jù)類(lèi)型長(zhǎng)度主鍵字段描述u_idint11是用戶(hù)IDu_realnamevarchar255否真實(shí)姓名u_usernamevarchar255否用戶(hù)名u_passwordvarchar255否密碼u_moneyvarchar255否錢(qián)包金額u_phonevarchar255否手機(jī)號(hào)u_emailchar255否郵箱u_sexdate0否性別u_resgistDatevarchar255否出生日期u_addressint11否地址6松鼠零食鋪系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)詳細(xì)設(shè)計(jì)階段主要是為了確定每個(gè)模塊的具體執(zhí)行過(guò)程,主要是確定怎樣具體的實(shí)現(xiàn)所要求零食商城,除了需要保證程序的可靠性,并且還要使編寫(xiě)的程序?qū)?lái)方便使用,代碼清晰,易于維護(hù)也是詳細(xì)設(shè)計(jì)階段中最重要的目標(biāo),是進(jìn)行詳細(xì)設(shè)計(jì)的邏輯基礎(chǔ)。下面是對(duì)松鼠零食鋪的詳細(xì)設(shè)計(jì)的活動(dòng)圖。圖6-1活動(dòng)圖6.1前臺(tái)功能模塊前臺(tái)功能模塊分為注冊(cè)登錄、瀏覽模塊、查詢(xún)模塊、購(gòu)物車(chē)模塊四個(gè)模塊如圖6-1所示。圖6-1前臺(tái)功能模塊注冊(cè)登錄模塊:用戶(hù)可以通過(guò)注冊(cè)獲得自己的賬號(hào),然后登錄之后才能進(jìn)行購(gòu)買(mǎi)東西。瀏覽模塊:用戶(hù)不進(jìn)行登錄注冊(cè)也可以瀏覽商品。查詢(xún)模塊:用戶(hù)可以通過(guò)搜索欄進(jìn)行查詢(xún)自己想要的商品。購(gòu)物車(chē)模塊:用戶(hù)只能登錄自己的賬號(hào)才能把商品加入購(gòu)物車(chē),然后對(duì)自己購(gòu)物車(chē)的商品進(jìn)行編輯數(shù)量、購(gòu)買(mǎi)和清空購(gòu)物車(chē)。前臺(tái)用戶(hù)主要的功能模塊:用戶(hù)注冊(cè):用戶(hù)想要購(gòu)買(mǎi)零食商品,要去注冊(cè)本零食商城的賬號(hào),作為一個(gè)零食商城網(wǎng)站,最基本的功能肯定就是注冊(cè)了。只有注冊(cè)了的用戶(hù)才能在網(wǎng)站內(nèi)訂購(gòu)自己想要的零食。??用戶(hù)登錄:用戶(hù)注冊(cè)完成之后,即可在登錄頁(yè)面中進(jìn)行登錄,用戶(hù)只要輸入用戶(hù)名和密碼即可登錄。當(dāng)用戶(hù)登錄以后,根據(jù)判斷傳入的登錄信息參數(shù),會(huì)得到該用戶(hù)的權(quán)限,主頁(yè)面會(huì)自動(dòng)顯示該權(quán)限內(nèi)的所有功能,便可進(jìn)行個(gè)人資料的查看和更改自己信息、購(gòu)買(mǎi)商品和處理個(gè)人訂單等操作。??用戶(hù)注銷(xiāo):用戶(hù)登錄后如果要離開(kāi)網(wǎng)站,可以注銷(xiāo)個(gè)人帳號(hào),防止他人修改或使用本人帳號(hào)。??購(gòu)物車(chē):當(dāng)用戶(hù)選好自己想要的零食后可以把商品放入購(gòu)物車(chē),購(gòu)物車(chē)將自動(dòng)產(chǎn)生相應(yīng)的定單。用戶(hù)也可以將購(gòu)物車(chē)?yán)镞x好的零食刪除掉,從而相應(yīng)定單的也會(huì)刪除。6.1.1前臺(tái)模塊具體實(shí)現(xiàn)詳情(1)網(wǎng)站首頁(yè)頁(yè)面名稱(chēng):shop/index參數(shù):無(wú)。調(diào)用背景:用戶(hù)瀏覽器打開(kāi)本網(wǎng)站時(shí)跳轉(zhuǎn)至此頁(yè)面;當(dāng)“返回主頁(yè)”項(xiàng)被單擊時(shí),跳轉(zhuǎn)至此頁(yè)面;頁(yè)面組成:頂部為用戶(hù)操作欄,中部為頁(yè)面有熱門(mén)商品的圖片展示或需求列表,中間為網(wǎng)站介紹和幾個(gè)功能模塊的圖示。頁(yè)面提供搜索功能。調(diào)用描述:?jiǎn)螕羯唐贩诸?lèi)圖片上特定分類(lèi)的“查看更多”,跳轉(zhuǎn)到特定商品分類(lèi)網(wǎng)頁(yè)上,通過(guò)type參數(shù)進(jìn)行區(qū)分。單擊“搜索”按鈕,跳轉(zhuǎn)到特定搜索商品頁(yè)面,通過(guò)id,tag,type參數(shù)進(jìn)行區(qū)分。單擊商品中任意項(xiàng),跳轉(zhuǎn)到該商品的詳細(xì)信息頁(yè)面,通過(guò)id參數(shù)記錄。(2)登陸界面頁(yè)面名稱(chēng):shop/adminGoMain參數(shù):無(wú)調(diào)用背景:用戶(hù)在未登錄狀態(tài)下,不能進(jìn)行除瀏覽之外的任何操作。用戶(hù)在其他界面進(jìn)行的操作,系統(tǒng)都會(huì)跳轉(zhuǎn)到登錄界面。頁(yè)面組成:由一個(gè)登錄框from表組成,主要包括用戶(hù)名和密碼兩個(gè)文本框,一個(gè)登錄按鈕及注冊(cè)新用戶(hù)超鏈接。調(diào)用描述:當(dāng)前用戶(hù)沒(méi)有登錄,在用戶(hù)名和密碼及驗(yàn)證碼填入后,單擊“登錄”。在數(shù)據(jù)庫(kù)中進(jìn)行查詢(xún),若存在此記錄。根據(jù)id參數(shù)跳轉(zhuǎn)到相應(yīng)的界面,若不存在,則提示輸入錯(cuò)誤。單擊注冊(cè)新用戶(hù)超鏈接按鈕,則頁(yè)面跳轉(zhuǎn)注冊(cè)界面。(3)修改個(gè)人信息頁(yè)面名稱(chēng):user/userRegisterGet參數(shù):無(wú)。調(diào)用背景:當(dāng)未登錄用戶(hù)在任意界面單擊“注冊(cè)”時(shí)跳轉(zhuǎn)此頁(yè)面。權(quán)限不夠會(huì)跳轉(zhuǎn)到登錄頁(yè)面頁(yè)面組成:由一個(gè)from表格構(gòu)成。用戶(hù)在注冊(cè)時(shí)需要填寫(xiě)“用戶(hù)名”、“密碼”、“確認(rèn)密碼”、“地址”、“手機(jī)號(hào)”、“性別”、“郵箱”。確認(rèn)符合輸入規(guī)則后,在表格下單擊“注冊(cè)”按鈕。調(diào)用描述:?jiǎn)螕簟白?cè)”按鈕后,頁(yè)面會(huì)檢驗(yàn)所填各項(xiàng)是否合法,如填寫(xiě)合法,則跳轉(zhuǎn)到注冊(cè)前所在頁(yè)面;如填寫(xiě)不合法,則在頁(yè)面中相應(yīng)位置msg提示不合法信息。(4)修改個(gè)人信息頁(yè)面名稱(chēng):user/editUserinfo參數(shù):無(wú)。調(diào)用背景:?jiǎn)螕魧?dǎo)航欄中的“個(gè)人信息”,此頁(yè)面被調(diào)用。頁(yè)面組成:包括個(gè)人信息。頁(yè)面中還包括“修改”按鈕。調(diào)用描述:?jiǎn)螕簟氨4嫘薷摹卑粹o,更新數(shù)據(jù)庫(kù)中相應(yīng)信息,AJAX更新信息回到user/editUserinfo界面(5)個(gè)人信息頁(yè)面名稱(chēng):user/userPersonalInfo參數(shù):無(wú)調(diào)用背景:?jiǎn)螕簟皞€(gè)人信息”,此頁(yè)面被調(diào)用。頁(yè)面組成:包括個(gè)人信息:用戶(hù)名、郵箱、手機(jī)號(hào)、入學(xué)時(shí)間、性別和評(píng)分。(6)查看零食商品列表頁(yè)面名稱(chēng):shop/supermarketSnack參數(shù):商品ID調(diào)用背景:當(dāng)用戶(hù)已登錄時(shí),點(diǎn)擊“商品列表”跳轉(zhuǎn)到此頁(yè)。頁(yè)面組成:該界面有所有用戶(hù)已發(fā)布商品的列表,列表項(xiàng)顯示商品圖片和標(biāo)題。頁(yè)面提供搜索功能。調(diào)用描述:用戶(hù)在該頁(yè)面可以按需瀏覽和查找感興趣的商品。用戶(hù)可以按分類(lèi)或標(biāo)題或發(fā)布者來(lái)查找和瀏覽相關(guān)商品。若用戶(hù)對(duì)某一商品感興趣,且商品狀態(tài)為未完成交易時(shí),可以點(diǎn)擊“申請(qǐng)交易”。(7)零食商品詳情頁(yè)頁(yè)面名稱(chēng):shop/Type參數(shù):id=?,指定需求的ID。調(diào)用背景:當(dāng)用戶(hù)點(diǎn)擊某一零食商品時(shí)跳轉(zhuǎn)到此頁(yè)。頁(yè)面組成:該界面顯示零食具體的詳情,包括標(biāo)題、分類(lèi)、描述、發(fā)布時(shí)間等信息。調(diào)用描述:用戶(hù)在零食詳情頁(yè)可以查看零食商品詳細(xì)信息。另外,用戶(hù)可以在該頁(yè)將零食商品加入購(gòu)物車(chē)。本系統(tǒng)前臺(tái)購(gòu)物車(chē)模塊的功能流程圖,如圖6-2所示。圖6-2前臺(tái)功能流程圖6.2后臺(tái)功能模塊后臺(tái)功能模塊分為用戶(hù)管理、訂單管理、活動(dòng)圖片管理和商品管理四個(gè)模塊如圖6-3所示。圖6-3后臺(tái)功能模塊用戶(hù)管理模塊:管理員可以看到所有用戶(hù)的資料信息,并且可以對(duì)用戶(hù)的用戶(hù)名、密碼、聯(lián)系方式和地址進(jìn)行修改。訂單管理模塊:管理員可以對(duì)購(gòu)買(mǎi)了本系統(tǒng)零食的訂單進(jìn)行管理,對(duì)訂單的發(fā)貨是否收貨進(jìn)行確認(rèn)?;顒?dòng)圖片模塊:管理員可以對(duì)前臺(tái)首頁(yè)banner的活動(dòng)圖片進(jìn)行替換。商品管理模塊:管理員可以對(duì)現(xiàn)有的商品進(jìn)行刪除和修改,并且可以添加新的商品進(jìn)去。6.2.1前臺(tái)模塊具體實(shí)現(xiàn)詳情(1)管理員登陸界面頁(yè)面名稱(chēng):admin/login/adminLogin參數(shù):無(wú)調(diào)用背景:用戶(hù)在未登錄狀態(tài)下,不能進(jìn)行除瀏覽之外的任何操作。用戶(hù)在其他界面進(jìn)行的操作,系統(tǒng)都會(huì)跳轉(zhuǎn)到登錄界面。頁(yè)面組成:由一個(gè)登錄框from表組成,主要包括用戶(hù)名和密碼兩個(gè)文本框,一個(gè)登錄按鈕。調(diào)用描述:當(dāng)前用戶(hù)沒(méi)有登錄,在用戶(hù)名和密碼及驗(yàn)證碼填入后,單擊“登錄”。在數(shù)據(jù)庫(kù)中進(jìn)行查詢(xún),若存在此記錄。根據(jù)id參數(shù)跳轉(zhuǎn)到相應(yīng)的界面,若不存在,則提示輸入錯(cuò)誤。(2)修改商品頁(yè)面名稱(chēng):admin/login/adminSnackInfo參數(shù):id=?,指定商品編號(hào)。調(diào)用背景:若用戶(hù)已登錄,單擊零食商品列表中商品名,彈出商品信息彈框。頁(yè)面組成:頁(yè)面的表格中是修改商品所需要填寫(xiě)的輸入數(shù)據(jù)控件,包括商品標(biāo)題、描述、分類(lèi)和圖片。下方有“保存修改”和“取消”按鈕。調(diào)用描述:用戶(hù)在登錄后,可以查看零食商品列表,并對(duì)零食商品進(jìn)行修改。在該頁(yè)面,用戶(hù)可以對(duì)商品信息進(jìn)行修改。(3)發(fā)布商品頁(yè)面名稱(chēng):admin/login/adminSnackInfo參數(shù):無(wú)調(diào)用背景:登陸賬號(hào)點(diǎn)擊商品管理的添加按鈕,調(diào)出彈框,此頁(yè)被調(diào)用。頁(yè)面組成:包括一個(gè)表格,包括需求零食標(biāo)題、分類(lèi)、描述,圖片(可選)等。頁(yè)面下方有“確認(rèn)發(fā)布”按鈕。調(diào)用描述:用戶(hù)登錄后,可以在此頁(yè)面發(fā)布需求。按要求填寫(xiě)完零食標(biāo)題、分類(lèi)和描述后,用戶(hù)可以點(diǎn)擊“確認(rèn)發(fā)布”按鈕以發(fā)布新需求。(4)用戶(hù)管理頁(yè)面名稱(chēng):admin/login/adminUser參數(shù):id=?,指定用戶(hù)編號(hào)。調(diào)用背景:若用戶(hù)已登錄,單擊用戶(hù)管理列表中用戶(hù)ID名,彈出商品信息彈框。頁(yè)面組成:頁(yè)面的表格中是可以對(duì)用戶(hù)個(gè)人信息資料進(jìn)行修改,可以對(duì)用戶(hù)的“密碼”,“地址”,“郵箱”,“電話號(hào)碼”等個(gè)人信息進(jìn)行修改。下方有“保存修改”和“取消”按鈕。調(diào)用描述:用戶(hù)在登錄后,可以查看所有用戶(hù)信息列表,可以對(duì)其中的用戶(hù)信息進(jìn)行修改。在該頁(yè)面,用戶(hù)可以對(duì)用戶(hù)信息進(jìn)行修改。圖6-4后臺(tái)功能模塊流程圖6.3核心代碼的實(shí)現(xiàn)6.3.1注冊(cè)登錄用戶(hù)可以登錄自己的賬戶(hù),當(dāng)密碼或者賬號(hào)信息錯(cuò)誤則會(huì)出現(xiàn)“用戶(hù)名或密碼錯(cuò)誤”只有全部正確后才能登錄賬戶(hù),登錄信息的代碼如下://登錄 @RequestMapping("adminGoLogin") publicStringadminGoLogin(HttpServletRequestrequest,Adminadmin){ List<Admin>adminSelect=adminLoginService.adminLogin(admin); if(adminSelect.size()==1){ request.getSession().setAttribute("adminName",adminSelect.get(0).getAdUsername()); request.getSession().setAttribute("adminId",adminSelect.get(0).getAdId()); List<Permission>allPer=adminLoginService.selectAllPermission(); List<Permission>userPer=adminLoginService.selectRolePermission(adminSelect.get(0).getRoleId()); request.getSession().setAttribute("allPer",allPer); request.getSession().setAttribute("userPer",userPer); return"redirect:adminGoMain"; } request.setAttribute("msg","用戶(hù)名或密碼錯(cuò)誤"); return"admin/adminLogin";功能:根據(jù)用戶(hù)賬號(hào)和密碼驗(yàn)證數(shù)據(jù)庫(kù)信息入口:用戶(hù)賬號(hào)和密碼出口:用戶(hù)信息保存在session里運(yùn)行結(jié)果如圖6-2所示:圖6-2前臺(tái)功能模塊6.3.2用戶(hù)退出用戶(hù)登錄后如果要離開(kāi)網(wǎng)站,可以退出個(gè)人帳號(hào),防止他人修改或使用本人帳號(hào),用戶(hù)退出信息的代碼如下: //退出 @RequestMapping("adminMainToLoginOut") @ResponseBody publicStringadminMainToLoginOut(HttpServletRequestrequest){ request.getSession().removeAttribute("adminName"); returnResponseUtil.successToClient(); }//JS代碼$(document).ready(function(){ //退出登錄varname=$('#pd').val(); if(name!=null&&name!=0&&name!=''&&name!='0'){ document.getElementById("headerLogout").style.display="block"; }else{ document.getElementById("headerLogout").style.display="none"; } $(document).ready(function(){ $(".headerLogout").click(function(){ location.href="/zuoye_snack/shop/userlogout"; }); });});功能:根據(jù)清空保存在服務(wù)器中的session入口:remove出口:返回shop/index頁(yè)面6.3.3用戶(hù)注冊(cè)注冊(cè)得判斷數(shù)據(jù)庫(kù)后臺(tái)信息是否有相同的用戶(hù)名,如果有相同的用戶(hù)名則不能注冊(cè)。注冊(cè)信息控制層代碼如下: //注冊(cè)判斷用戶(hù)名存在 @RequestMapping("selectUserOne") @ResponseBody publicAjaxResultgetUserOne(Userinfouserinfo){ AjaxResultaj=newAjaxResult(); Userinfors=userService.selectUserOne(userinfo); aj.setTag(rs); returnaj; } //注冊(cè) @RequestMapping("addUserRegister") @ResponseBody publicAjaxResultaddUserOne(Userinfouserinfo){ AjaxResultaj=newAjaxResult(); intrs=userService.addUserOne(userinfo); aj.setTag(rs); returnaj; }功能:根據(jù)用戶(hù)提交的信息保存在數(shù)據(jù)庫(kù)里入口:AJAX調(diào)用數(shù)據(jù)庫(kù)的insertinto功能出口:返回shop/index頁(yè)面運(yùn)行結(jié)果如圖6-3所示圖6-3前臺(tái)功能模塊6.3.4查詢(xún)用戶(hù)可以通過(guò)查詢(xún)按鈕去查詢(xún)自己想要的零食。搜索欄控制層代碼如下:@RequestMapping("puffingType") publicStringpuffing(HttpServletRequestrequest,DoSnackTypedoSnackType){ List<Snackinfo>TypeSnackList=shopService.selectPuffing(doSnackType.getType(),doSnackType.getSnackName()); if(doSnackType.getType()==1){ request.setAttribute("TypeSnackTitle","膨化類(lèi)"); }elseif(doSnackType.getType()==2){ request.setAttribute("TypeSnackTitle","肉制類(lèi)"); }elseif(doSnackType.getType()==3){ request.setAttribute("TypeSnackTitle","飲料類(lèi)"); }elseif(doSnackType.getType()==4){ request.setAttribute("TypeSnackTitle","其他"); }elseif(doSnackType.getType()==5){ request.setAttribute("TypeSnackTitle","搜索結(jié)果"); }elseif(doSnackType.getType()==6){ request.setAttribute("TypeSnackTitle","進(jìn)口類(lèi)"); } request.setAttribute("TypeNum",doSnackType.getType()); request.setAttribute("TypeSnackList",TypeSnackList); return"user/typePage"; }功能:根據(jù)用戶(hù)提交的數(shù)據(jù)去查詢(xún)到相應(yīng)的零食入口:模糊查詢(xún)關(guān)鍵字like%__%出口:返回shop/type?type=零食頁(yè)面界面如6-4所示:圖6-4搜索欄模塊6.3.5購(gòu)物車(chē)模塊登錄成功的用戶(hù)可以把喜歡的零食加進(jìn)自己的購(gòu)物車(chē)?yán)锩?,并且可以觀看自己購(gòu)物車(chē)?yán)锩娴臇|西。購(gòu)物車(chē)模塊下單代碼如下://下訂單 @RequestMapping("setOrder") @ResponseBody publicStringsetOrder(HttpServletRequestrequest,HttpSessionsession,Receiptinforeceiptinfo){ DoMoneyFKdfk=newDoMoneyFK(); ReceiptinforeceiptinfoSession=(Receiptinfo)session.getAttribute("receiptinfo"); Dateday=newDate(); SimpleDateFormatdf=newSimpleDateFormat("yyyyMMdd"); StringoId=df.format(day).toString()+String.valueOf((int)(Math.random()*9000+1000)); receiptinfo.setoId(oId); receiptinfo.setOrderdetailSet(receiptinfoSession.getOrderdetailSet()); sorderService.addReceiptinfo(receiptinfo); Orderorder=newOrder(); order.setoId(oId); order.setuId((int)session.getAttribute("frontuserId")); order.setoTime(DateUtil.getCurrentTime()); order.setoType(-1); sorderService.addOrder(order); Orderdetailorderdetail=newOrderdetail(); orderdetail.setoId(oId); for(OrderdetailorderdetailSession:receiptinfoSession.getOrderdetailSet()){ orderdetail.setoNum(orderdetailSession.getoNum()); orderdetail.setoMoney(orderdetailSession.getoMoney()); orderdetail.setsId(orderdetailSession.getsId()); sorderService.addOrderdetail(orderdetail); } UserinfoselectUserinfoMoney=userService.selectUserinfoMoney((int)request.getSession().getAttribute("frontuserId")); DoubleselectOrderdetailPayMoney=sorderService.selectOrderdetailPayMoney(oId); dfk.setoId(oId); dfk.setPayMoney(selectOrderdetailPayMoney.toString()); dfk.setuMoney(selectUserinfoMoney.getuMoney()); session.removeAttribute("receiptinfo"); returnResponseUtil.successToClientStr(dfk); }@RequestMapping("/sorder")publicclassSorderController{ @Autowired privatesorderServicesorderService=null; @Autowired privateuserServiceuserService; @RequestMapping(value="/add",method=RequestMethod.POST) publicStringaddSorder(Snackinfosnackinfo,HttpSessionsession){ System.out.println("addCar()"+snackinfo.getsNumber()); //1:通過(guò)product.id獲取當(dāng)前的商品數(shù)據(jù) SnackinfofindSnackinfo=sorderService.snackfindById(snackinfo.getsId()); findSnackinfo.setsNumber(snackinfo.getsNumber()); //2:判斷當(dāng)前session是否有購(gòu)物車(chē),如果沒(méi)有則創(chuàng)建 if(session.getAttribute("receiptinfo")==null){ //創(chuàng)建購(gòu)物車(chē),存到session中 session.setAttribute("receiptinfo",newReceiptinfo(newHashSet<Orderdetail>())); } Receiptinforeceiptinfo=(Receiptinfo)session.getAttribute("receiptinfo"); //3:把商品信息轉(zhuǎn)化為sorder,并且添加到購(gòu)物車(chē)中(判斷購(gòu)物車(chē)是否重復(fù)) receiptinfo=sorderService.addSorder(receiptinfo,findSnackinfo); receiptinfo.setoPhone(cluTotal(receiptinfo)); return"redirect:gotocar"; }功能:根據(jù)用戶(hù)提交的數(shù)據(jù)去查詢(xún)到相應(yīng)的零食,判斷是否有購(gòu)物車(chē),沒(méi)有則添加一個(gè)購(gòu)物車(chē)并將零食加入購(gòu)入車(chē)。入口:零食ID出口:購(gòu)物車(chē)中所有零食ID的信息。界面如6-5所示:圖6-5購(gòu)物車(chē)模塊6.3.6商品管理模塊管理員可以管理商城的商品查看商品當(dāng)前的數(shù)量,當(dāng)補(bǔ)貨的時(shí)候能對(duì)其商品的數(shù)量進(jìn)行修改,還可以添加新的商品。商品管理模塊代碼如下://商品 @RequestMapping("adminSnackinfoLimit") @ResponseBody publicDataTablesadminOrderLimit(intstart,intlength, StringsName,StringsType,StringstartDate,StringendDate){ Map<Object,Object>map=newHashMap<Object,Object>(); map.put("pageStart",start); map.put("pageSize",length); map.put("sType",sType); map.put("sName",sName); map.put("startDate",startDate); map.put("endDate",endDate); PageHelp<Snackinfo>pageHelp=adminSnackInfoService.selectAdminSnackinfoLimit(map); DataTablesdatatable=newDataTables(); datatable.setData(pageHelp.getList()); datatable.setRecordsFiltered(pageHelp.getRecord()); datatable.setRecordsTotal(pageHelp.getRecord()); returndatatable; }功能:管理員對(duì)零食商品進(jìn)行管理入口:商品ID出口:商品具體信息。界面如圖6-6所示:圖6-6商品管理模塊6.3.7訂單管理模塊管理員可以查看訂單消息,并且發(fā)貨查看貨物的驗(yàn)收情況,訂單號(hào)是以年月日加隨機(jī)的4位數(shù)組成的。訂單管理模塊代碼如下:@RequestMapping("setOrder") @ResponseBody publicStringsetOrder(HttpServletRequestrequest,HttpSessionsession,Receiptinforeceiptinfo){ DoMoneyFKdfk=newDoMoneyFK(); ReceiptinforeceiptinfoSession=(Receiptinfo)session.getAttribute("receiptinfo"); Dateday=newDate(); SimpleDateFormatdf=newSimpleDateFormat("yyyyMMdd"); StringoId=df.format(day).toString()+String.valueOf((int)(Math.random()*9000+1000)); receiptinfo.setoId(oId); receiptinfo.setOrderdetailSet(receiptinfoSession.getOrderdetailSet()); sorderService.addReceiptinfo(receiptinfo); Orderorder=newOrder(); order.setoId(oId); order.setuId((int)session.getAttribute("frontuserId")); order.setoTime(DateUtil.getCurrentTime()); order.setoType(-1); sorderService.addOrder(order); Orderdetailorderdetail=newOrderdetail(); orderdetail.setoId(oId); for(OrderdetailorderdetailSession:receiptinfoSession.getOrderde

溫馨提示

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

評(píng)論

0/150

提交評(píng)論