版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
摘要隨著信息技術(shù)的發(fā)展的來臨,人類迎來了全新的時(shí)代。其中,作為最重要的產(chǎn)物—互聯(lián)網(wǎng)已經(jīng)在默默改變著人們的生活習(xí)慣。隨著互聯(lián)網(wǎng)時(shí)代的降臨,人們以前認(rèn)知的許多事物都跟著時(shí)代在潛移默化。尤以人們離不開的購物來講,隨著時(shí)代的改變,以前的一些行為方式已經(jīng)被時(shí)代所拋棄,迎之而來的是全新的領(lǐng)域與方式—線上消費(fèi),與之前所經(jīng)歷的傳統(tǒng)模式相較,線上消費(fèi)具有很多傳統(tǒng)方式所不能擁有的有點(diǎn),如線上交易把交易的客體變得更加地方透明,可以讓用戶更加了解所選購的商品;同時(shí),線上交易也越來越方便,與之前相比,足不出戶就可以辦好一些事情,既節(jié)省了人力也節(jié)約了物力;而且線上交易的商品數(shù)量之巨,無可披靡,天南地北不分地域的就可以買到用戶喜歡的商品。總而言之,作為現(xiàn)在的開發(fā)人員必須要作出一個(gè)即安全又方便的系統(tǒng)就顯得尤為重要了。本次設(shè)計(jì)的系統(tǒng)與以前使用的系統(tǒng)相比較而言,此系統(tǒng)讓用戶使用更方便,信息更安全,商品數(shù)量巨大等優(yōu)勢(shì)。而且在分析階段我們綜合考慮了之前系統(tǒng)的生存現(xiàn)狀,全面分析了開發(fā)此系統(tǒng)需要用到的技術(shù)與知識(shí),努力將我們所學(xué)的理論與實(shí)踐進(jìn)行完美的結(jié)合,完成此次開發(fā)任務(wù)。需要完成的任務(wù)主要包括如下幾方面:(1)系統(tǒng)的登陸頁面的與眾不同,(2)所需開發(fā)系統(tǒng)的技術(shù)與知識(shí)(3)系統(tǒng)數(shù)據(jù)庫的搭建與填充(4)用戶的各種私人功能,同時(shí)保護(hù)用戶隱私,(5)管理員對(duì)系統(tǒng)的監(jiān)察(6)安全并穩(wěn)定的的系統(tǒng)。全文分為一下幾個(gè)部分:(1)技術(shù)以及原理(2)系統(tǒng)的需求性分析(3)系統(tǒng)的分析與設(shè)計(jì)(4)系統(tǒng)實(shí)現(xiàn)(5)系統(tǒng)測試關(guān)鍵詞:網(wǎng)上購物;SSM;Mysql數(shù)據(jù)庫 前言由于時(shí)代在不停的發(fā)展與進(jìn)步,人們以前所擁有的的某些生活方式必定會(huì)被時(shí)代所拋棄的,現(xiàn)在人們通過某種方式來達(dá)到自己某種目的的方式也充實(shí)起來,但伴之而來的是安全問題,如今安全是人們考慮的頭等大事。以以前的購物習(xí)慣來說,人們?cè)谫徫锏倪^程中不僅麻煩,而且隱私安全也沒有保障,而我們?cè)诜治鱿到y(tǒng)的時(shí)候就已經(jīng)考慮到這一點(diǎn),開發(fā)一個(gè)既方便又安全的新系統(tǒng)來代替以前原始且落后的舊系統(tǒng)就顯得尤為重要了。首先我們需要考慮技術(shù)的因素,通過時(shí)代的進(jìn)步,現(xiàn)在的我們所使用的計(jì)算機(jī)的各種配置足夠支撐我們自行開發(fā)一個(gè)安全、便利的新系統(tǒng)。本次主要通過開發(fā)一個(gè)全新的系統(tǒng)來滿足現(xiàn)代人的購物方式,這樣做不但可以大幅度改善國家的環(huán)保問題,還能滿足現(xiàn)代人的需求,爭取做到貨物無國界。本次開發(fā)的新系統(tǒng)主要有如下功能:(1)普通用戶的信息管理;(2)商品的展覽;(3)管理員管理系統(tǒng)的后臺(tái)與用戶信息安全。本文大致分為六大部分,第一部分為主要講述開發(fā)新系統(tǒng)所需要的各種技術(shù)與系統(tǒng)開發(fā)所需要的環(huán)境;第二章主要為對(duì)系統(tǒng)的各種需求進(jìn)行徹底的分析,以此來了解系統(tǒng)開發(fā)之前需要準(zhǔn)備的工作;第三章主要是對(duì)新系統(tǒng)的功能進(jìn)行了全面的分析與設(shè)計(jì),為系統(tǒng)的實(shí)現(xiàn)做鋪墊;第四章是系統(tǒng)的實(shí)現(xiàn)部分,主要是作出系統(tǒng)的初級(jí)模型,以備后來的系統(tǒng)的面世;第五章是對(duì)系統(tǒng)進(jìn)行各種壓力測試,主要是為了確保新系統(tǒng)在復(fù)雜的生存環(huán)境中做到安全自己的同時(shí)也能保護(hù)客戶信息安全;最后則為總結(jié)性內(nèi)容,主要是為了對(duì)本次開發(fā)的一個(gè)總結(jié)與心理感悟,通過對(duì)此次開發(fā)的總結(jié)經(jīng)驗(yàn),可以明確知道自己的不足與優(yōu)勢(shì),為以后的開發(fā)打下基礎(chǔ)。1.技術(shù)及原理1.1系統(tǒng)的開發(fā)環(huán)境開發(fā)系統(tǒng)所需要的環(huán)境:以現(xiàn)存且已投入使用的Windows10版本的計(jì)算機(jī)。系統(tǒng)的數(shù)據(jù)庫:使用安全、儲(chǔ)存量大的Mysql數(shù)據(jù)庫。JDK版本:利用最新的JDK1.8來加大系統(tǒng)的穩(wěn)定性。開發(fā)系統(tǒng)所需的Tomcat版本:使用對(duì)系統(tǒng)的內(nèi)存占用較小的Tomcat8.x。開發(fā)系統(tǒng)所使用的工具:IntelliJIDEA2019.2.4x641.2開發(fā)任務(wù)本次的開發(fā)任務(wù)是要設(shè)計(jì)出一個(gè)包括線下購物所需的所有工序的全方位的購物平臺(tái)的同時(shí)也要實(shí)現(xiàn)管理員對(duì)系統(tǒng),用戶的實(shí)時(shí)管理管理與監(jiān)控,努力做到比線下體驗(yàn)感更好的系統(tǒng)。1.3開發(fā)所需技術(shù)1.3.1Spring
Spring就像是一個(gè)大容器用來承載新系統(tǒng)的一些文件,在系統(tǒng)中可以選擇一些參數(shù)去調(diào)用,也可以是在開發(fā)過程中一些代碼的橋梁來連接雙方。Spring的核心是控制反轉(zhuǎn),從之前的需要開發(fā)人員自己去新建對(duì)象到讓Spring自主的創(chuàng)建新對(duì)象,方便了開發(fā)人員的人力與物力。
1.3.2SpringMVC
SpringMVC在系統(tǒng)的使用中會(huì)有攔截用戶的一些請(qǐng)求的功能,以此來可以攔截用戶的無用請(qǐng)求,既節(jié)省了系統(tǒng)的資源,也緩解了管理員的壓力,同時(shí)還會(huì)讓系統(tǒng)變得干凈且安全,一舉多得。1.3.3Mybatis
Mybatis不但可以用來包裝待開發(fā)的系統(tǒng),還可以讓整個(gè)系統(tǒng)的的數(shù)據(jù)庫低變得透亮,方便了開發(fā)人員。2.需求性分析2.1需求性分析時(shí)代的潮流沖擊了現(xiàn)代人的生活習(xí)慣與思維方式,與之前簡單的生活方式相比,現(xiàn)在復(fù)雜的國際環(huán)境與巨大的生活壓力讓人們自主的向便利、安全的生活方式靠攏。隨著網(wǎng)上購物越來越便利且安全,對(duì)許多打工族來說簡直就是福音,于是,人們的需求力推動(dòng)著網(wǎng)上購物的發(fā)展,最終網(wǎng)上購物成為了最熱門的生活習(xí)慣之一。本系統(tǒng)的目標(biāo)是先將現(xiàn)實(shí)生活中人們的購物行為進(jìn)行了虛擬化,然后讓人們?cè)诰€上就可以體會(huì)線下購物帶來的快感的同時(shí)也不用考慮用戶的安全問題,因?yàn)橄到y(tǒng)已經(jīng)為用戶做好強(qiáng)大的系統(tǒng)。2.2可行性分析:可行性分析也叫為可行性研究,對(duì)待開發(fā)的系統(tǒng)進(jìn)行分析,深度分析開發(fā)系統(tǒng)的可行性和必要性。(1)技術(shù)可行性分析:技術(shù)可行性分析是分析中最重要的一步。主要分析的是存在某些特定的環(huán)境,分析開發(fā)新系統(tǒng)所消耗的技術(shù)能力等方面是否能夠?qū)崿F(xiàn)。在查找問題與系統(tǒng)是否能夠投入使用的研究中,跟系統(tǒng)初步分析時(shí)相差無幾,但開發(fā)新系統(tǒng)時(shí)考慮到開發(fā)新系統(tǒng)的目的、待開發(fā)系統(tǒng)的承載力和待開發(fā)系統(tǒng)的功能的不定性會(huì)給技術(shù)可行性分析增加阻礙。技術(shù)可行性的考慮主要是在已經(jīng)開發(fā)并且投入使用的計(jì)算機(jī)能否支持待開發(fā)系統(tǒng)所需的環(huán)境,開發(fā)人員首先考慮的應(yīng)該是準(zhǔn)備使用的計(jì)算機(jī)的系統(tǒng)是否有開發(fā)新系統(tǒng)所需的的軟件和硬件能夠處理新系統(tǒng)的程序。其次應(yīng)該考慮的是在已經(jīng)選擇好并且準(zhǔn)備使用的平臺(tái)之上,利用已經(jīng)掌握的成熟技術(shù)是否能夠搭建新系統(tǒng),但隨著計(jì)算機(jī)的迅速發(fā)展,為此為系統(tǒng)的建模提供了強(qiáng)大的技術(shù)的支持。(2)經(jīng)濟(jì)可行性分析:主要考量開發(fā)新系統(tǒng)所消耗的人力物力,計(jì)算待開發(fā)的系統(tǒng)一直到面世這段時(shí)間開發(fā)系統(tǒng)時(shí)所消耗的所有人力物力與新系統(tǒng)投入使用后給開發(fā)人員帶來的經(jīng)濟(jì)效益。總的來說就是分析新系統(tǒng)投入使用后給開發(fā)人員帶來的利潤。這個(gè)分析的過程可以當(dāng)做是開發(fā)系統(tǒng)的的成本與系統(tǒng)使用時(shí)帶來的利潤的分析。更通俗一點(diǎn)來說,經(jīng)濟(jì)可行性分析就是確定新系統(tǒng)與舊系統(tǒng)相比的帶來的凈利潤,如果新系統(tǒng)所獲得的凈利潤大于舊系統(tǒng),則開發(fā)一個(gè)新系統(tǒng)是值得的;否則的話,這個(gè)新系統(tǒng)將是不值得開發(fā)的。(3)運(yùn)行可行性分析:主要說的是開發(fā)人員的操作而不是說計(jì)算機(jī)系統(tǒng)操作是否可行,也就是正在使用的計(jì)算機(jī)系統(tǒng)需要的操作是否能夠支持。(4)社會(huì)可行性分析:指的是開發(fā)中的新系統(tǒng)能否在雙方約定的期限內(nèi)測試成功并投入使用?;诖_發(fā)的系統(tǒng),經(jīng)過一些分析,可以在約定的時(shí)間內(nèi)投入使用。2.4功能性需求:(1)商品的管理功能:商品列表、商品的類別、上架新商品、商品下線、管理商品的庫存、分配商品、商品屬性、圖片管理。商品列表:商品的名稱、商品獨(dú)有的編號(hào)、商品上架時(shí)設(shè)置的價(jià)格、商品所屬的類別、商品的詳細(xì)內(nèi)容、商品的宣傳圖片。商品的屬性:商品屬性所屬類別、商品庫存數(shù)量、商品所屬狀態(tài)、商品可支持的操作(屬性列表、添加、編輯、移除)。商品上下架:商品名稱。(2)訂單管理:包含了未處理的訂單列表和已處理的訂單列表。未處理的訂單:查看未處理的訂單經(jīng)過一系列操作后可將其狀態(tài)改為已處理的訂單。(3)用戶管理:用戶列表。用戶類表:可對(duì)普通用戶的信息完成查看、添加、修改以及刪除操作。(4)個(gè)人信息管理:可以對(duì)個(gè)人信息進(jìn)行查看與修改的操作。查看個(gè)人信息:可查看管理員自己設(shè)置的一些相關(guān)信息。修改個(gè)人信息:可修改管理員賬戶自己設(shè)置的秘鑰。(5)權(quán)限管理:管理員、用戶所擁有的功能。管理員包括:管理員設(shè)置的名稱、管理員設(shè)置的郵箱地址、管理員使用系統(tǒng)的時(shí)間、管理員最后進(jìn)入系統(tǒng)的時(shí)間、管理員的操作權(quán)限、管理員的操作。用戶:用戶注冊(cè)賬號(hào)時(shí)設(shè)置的名稱、用戶的描述、用戶的操作(添加、編輯、移除)。2.5系統(tǒng)用例圖圖2.5網(wǎng)上購物系統(tǒng)管理員用例圖圖2.5.網(wǎng)上購物系統(tǒng)普通用戶用例圖2.6系統(tǒng)數(shù)據(jù)字典2.6.1商品信息(1)"商品信息"數(shù)據(jù)結(jié)構(gòu)①商品名稱:用戶搜索商品時(shí)使用的第一信息。②商品的別名:商品的詳細(xì)信息(用戶搜索類似商品時(shí)使用)。③商品描述:管理員可以登錄系統(tǒng)后臺(tái)來編輯商品的詳細(xì)信息以后選擇上線,設(shè)置好商品應(yīng)有的屬性。④商品的定義:商品的詳細(xì)信息由商品的編號(hào)、商品的第一名稱、商品所屬的類別、商品的價(jià)格、線上商品所剩余的數(shù)量、商品的宣傳圖片、商品的詳細(xì)介紹、商品的銷售量、商品上線的時(shí)間、商品狀態(tài)的更新時(shí)間。2.6.2訂單信息(1)“訂單信息”數(shù)據(jù)結(jié)構(gòu)①訂單名字:訂單所屬的商鋪名稱。②訂單類別:訂單中商品的屬性。③訂單描述:用戶支付成功后會(huì)創(chuàng)建訂單,之后用戶和管理員每次對(duì)訂單狀態(tài)的改動(dòng)都會(huì)自動(dòng)的上傳。④訂單定義:訂單信息可以時(shí)由訂單的編號(hào)、用戶下單時(shí)預(yù)留的名稱、訂單的狀態(tài)、購買商品的數(shù)量、商品的合計(jì)價(jià)格、快遞單號(hào)、創(chuàng)建訂單的時(shí)間、更新訂單的時(shí)間。2.6.3用戶信息(1)“用戶信息”數(shù)據(jù)結(jié)構(gòu)①用戶的名字:用戶賬號(hào)名稱。②用戶別名:用戶的詳細(xì)信息(收件人姓名)。③用戶描述:用戶通過注冊(cè)、修改賬號(hào)和管理員進(jìn)行鎖定、解鎖和刪除。④用戶定義:用戶登錄系統(tǒng)時(shí)自己設(shè)置的名稱、用戶登錄系統(tǒng)的秘鑰、用戶的交易秘鑰、用戶注冊(cè)賬號(hào)的全部的時(shí)間、用戶最后登陸系統(tǒng)的時(shí)間。2.6.4日志信息(1)"日志信息"數(shù)據(jù)結(jié)構(gòu)①日志名字:日志目錄的大概信息。②日志別名:日志記錄的詳細(xì)信息。③日志描述:系統(tǒng)后臺(tái)通過自動(dòng)采集管理員的登陸和操作信息以及系統(tǒng)的各種故障信息后生成日志信息后自動(dòng)入庫保存。④定義:日志信息由日志編號(hào)、日志類型、管理員編號(hào)、管理員操作、日志自動(dòng)同步、日志模塊、日志記錄結(jié)果、日志記錄時(shí)間。3.系統(tǒng)分析與設(shè)計(jì)3.1系統(tǒng)總體分析3.1.1流程圖管理員通過登錄系統(tǒng)后進(jìn)行商品的管理與訂單的管理的操作3.3.1管理員功能流程圖3.1.2用戶首次登錄次系統(tǒng)通過注冊(cè)功能獲得憑證后進(jìn)入系統(tǒng)對(duì)商品進(jìn)行操作圖3.1.2普通用戶功能流程圖3.2各功能詳細(xì)分析3.2.1首頁-頂部指引欄(登錄成功時(shí))(1)指引欄的內(nèi)容:"首頁"、"個(gè)人中心"、"我的訂單"、"購物車"、"退出登錄"。(2)指引欄的位置:位于系統(tǒng)頁面頂部的位置。(3)指引欄的功能:既可以作為系統(tǒng)頁面的導(dǎo)航入口,又可以有到"首頁"、"個(gè)人中心"、"我的訂單"、"購物車"和"退出登錄"頁面的進(jìn)入方式。其中"我的訂單"中又提供了"待支付訂單"、"待發(fā)貨訂單"、"待收貨訂單"、"待評(píng)價(jià)訂單"、"已完成訂單"和"全部訂單"等幾種不同進(jìn)度訂單的界面,每個(gè)界面會(huì)顯示自己不同進(jìn)度的訂單列表,并且還會(huì)提供給用戶對(duì)所有狀態(tài)的訂單的對(duì)應(yīng)的操作。3.2.2首頁-頂部指引欄(未成功登錄時(shí))(1)指引欄的內(nèi)容:"網(wǎng)站首頁"、"登陸頁面"、"注冊(cè)頁面"。(2)指引欄的位置:系統(tǒng)所有頁面頂部(3)、指引欄的功能:既可以作為系統(tǒng)所有界面的入口,又可以提供到"首頁"、"登陸頁面"和"注冊(cè)頁面"的入口。3.2.3首頁-輪播圖(1)輪播圖的內(nèi)容:可以查看系統(tǒng)推薦商品。(2)輪播圖的位置:位于系統(tǒng)首頁的中間的位置。(3)輪播圖的功能:可以為用戶展示當(dāng)前系統(tǒng)中一些最近比較火的商品。3.2.4首頁-搜索框(1)搜索欄的內(nèi)容:可以查找相關(guān)產(chǎn)品的信息與類別。(2)搜索欄的位置:網(wǎng)站首頁上部。(3)搜索欄的功能:當(dāng)用戶不了解商品的具體特征時(shí),那就可以使用搜索欄來精確定位來滿足用戶的需求。3.2.5首頁-按類商品列表(1)商品列表的內(nèi)容:隨機(jī)排列的商品。(2)商品列表的位置:中部位置。(3)商品列表的功能:幫助商品按照商品的自有屬性分組。3.2.6購物車(1)購物車的內(nèi)容:用戶添加的商品。(2)購物車的入口:位于系統(tǒng)界面的右上角的位置上。(3)購物車的功能:幫助用戶暫時(shí)儲(chǔ)存神往的商品。3.2.7個(gè)人中心(1)用戶個(gè)人中心的內(nèi)容:用戶注冊(cè)賬號(hào)時(shí)填寫的信息。(2)用戶個(gè)人中心的入口:右上角“個(gè)人中心”。(3)用戶個(gè)人中心的功能:幫助用戶增刪改自己的信息。3.2.8商品詳細(xì)信息(1)商品詳細(xì)信息的內(nèi)容:可以了解商品的一些信息和購買商品等操作。(2)商品詳細(xì)信息的入口:商品信息下部。(3)商品詳細(xì)信息的功能:幫助用戶了解商品與商家的信息。3.2.9訂單列表(1)訂單列表的內(nèi)容:用戶購買的貨品。(2)訂單列表的鏈接:用戶中心里面。(3)訂單列表的功能:幫助用戶了解自己購買商品的情況并且可以讓系統(tǒng)了解用戶的喜好來給用戶推薦用戶喜歡的商品。3.2.10后臺(tái)管理(1)“普通用戶管理”:系統(tǒng)會(huì)自動(dòng)的提供給管理員一些普通用戶的一些相關(guān)信息。(2)“管理員管理”:系統(tǒng)會(huì)賦予管理員一些權(quán)力來幫助系統(tǒng)管理用戶。(3)“關(guān)于上架商品”:通過此界面還可以提供給系統(tǒng)一些商品的相關(guān)信息。如商品的名稱、商品所屬類型、商品上架時(shí)設(shè)定的價(jià)格、商品的剩余量、商品的相關(guān)介紹等,之后完成對(duì)商品的上架。(4)“商品列表”:主要包括了三個(gè)類別。即系統(tǒng)中存在的所有的商品、已上市的商品和未上市的商品,進(jìn)行分類的依據(jù)是商品所屬類型。以及可以對(duì)商品進(jìn)行更多的操作:查看詳細(xì)情況、修改和上架和下架商品?!霸斍椤保嚎梢圆榭吹缴唐返乃性敿?xì)的信息,以及一些商品的相關(guān)評(píng)價(jià),同時(shí)也提供了修改商品信息的入口。(5)“訂單管理”:這部分主要根據(jù)訂單的處理進(jìn)度來將設(shè)計(jì)。主要分為:待發(fā)貨訂單、待收貨訂單、待評(píng)價(jià)訂單、已完成和全部訂單。且每個(gè)模塊都提供了訂單的編號(hào)、訂單的狀態(tài)、訂單中商品的總件數(shù)、訂單的總金額、運(yùn)單號(hào)(未發(fā)貨訂單此處為“暫未發(fā)貨”)、訂單的創(chuàng)建時(shí)間和訂單的最后更新時(shí)間等信息。同時(shí)針對(duì)不同模塊也提供了許多不同的操作選項(xiàng),支持查看訂單的更多相關(guān)信息“待發(fā)貨”訂單中管理員可以完成訂單的發(fā)貨狀態(tài),即填寫運(yùn)單號(hào)然后確認(rèn)訂單已經(jīng)發(fā)貨來更新訂單的狀態(tài)。(6)“關(guān)于日志管理”:日志管理主要包含三大部分:登陸日志、操作日志和系統(tǒng)日志?!暗顷懭罩尽庇涗浀氖枪芾韱T的使用系統(tǒng)的情況?!安僮魅罩尽庇涗浟斯芾韱T在系統(tǒng)的后臺(tái)管理中對(duì)各個(gè)功能的操作情況?!跋到y(tǒng)日志”則是對(duì)系統(tǒng)使用過程中發(fā)生的事情進(jìn)行存儲(chǔ)。3.3系統(tǒng)的概念設(shè)計(jì)圖3.3系統(tǒng)的概念設(shè)計(jì)圖3.4購物系統(tǒng)功能模塊的設(shè)計(jì)購物系統(tǒng)3.4.1總體功能模塊圖購物系統(tǒng)后端前端后端前端圖3.4.1系統(tǒng)總體模塊圖3.4.2用戶端頁面設(shè)計(jì)圖3.4.2用戶端頁面設(shè)計(jì)圖3.4.3后臺(tái)頁面設(shè)計(jì):圖3.4.3后臺(tái)頁面設(shè)計(jì)圖3.5數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)(1)用戶信息包括用戶的編號(hào),用戶的姓名、用戶的通訊地址、用戶的狀態(tài)、用戶的昵稱,用戶的暗碼(登陸暗碼與交易暗碼)、用戶注冊(cè)系統(tǒng)賬號(hào)時(shí)的時(shí)間、用戶最后登錄時(shí)間),代碼實(shí)現(xiàn)如下:用戶表(user),其屬性對(duì)應(yīng)的意義:用戶的編號(hào)、用戶的姓名、用戶的通訊地址、用戶的狀態(tài)、用戶的昵稱、用戶的暗碼、用戶注冊(cè)系統(tǒng)賬號(hào)時(shí)的時(shí)間、用戶最后使用系統(tǒng)的時(shí)間。createtableuser(idintnotnullauto_incrementprimarykey,namevarchar(20)notnull,phonevarchar(11)notnull,emailvarchar(100),statusvarchar(20)notnull,addressvarchar(200)notnull,nicknamevarchar(50)notnull,passwordvarchar(200)notnull,create_timedatetime,last_logindatetime)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;(2)管理員的詳細(xì)信息(管理員的編碼,管理員姓名,管理員預(yù)留的電話,管理員賬戶密碼,管理員所擁有的權(quán)限),具體代碼實(shí)現(xiàn)如下:管理員表(administrator),其屬性所對(duì)應(yīng)的意義:管理員的編號(hào),管理員的姓名,管理員預(yù)留電話,管理員賬戶密碼,管理員所擁有的權(quán)限。createtableadministrator(idintnotnullauto_incrementprimarykey,namevarchar(20)notnull,phonevarchar(11)notnull,passwordvarchar(200)notnull,permissionintdefault1notnull)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;(3)商品種類的信息(商品的編號(hào),商品種類名稱),具體代碼實(shí)現(xiàn)如下:商品種類表(commodity_category):其屬性所對(duì)應(yīng)的意義:商品種類編號(hào),商品種類名稱。createtablecommodity_category(idintnotnullauto_incrementPRIMARYKEY,namevarchar(20)notnull)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;(4)商品表(commodity),其屬性所對(duì)應(yīng)的意義:商品編號(hào)、商品名稱、商品種類編號(hào)、商品價(jià)格、商品庫存、商品圖片、商品簡介、商品詳細(xì)介紹、商品銷量、商品商家的創(chuàng)建時(shí)間、商品更新時(shí)間、商品狀態(tài)、商品上架時(shí)間。createtablecommodity(idintnotnullauto_incrementPRIMARYKEY,namevarchar(50)notnull,type_idintnotnull,pricefloatnotnull,stockintnotnull,imagevarchar(200),introductionvarchar(200),detailed_introductiontext,sales_volumeintdefault0,create_timedatetime,update_timedatetime,statusvarchar(10),added_timedatetime)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;altertablecommodityaddconstraintFK_IDforeignkey(type_id)REFERENCEScommodity_category(id);(5)訂單信息(訂單編號(hào)、用戶編號(hào)、訂單狀態(tài)、商品的數(shù)量、商品的總價(jià)、商品運(yùn)單號(hào)、訂單創(chuàng)建時(shí)間、訂單更新時(shí)間),具體代碼實(shí)現(xiàn)如下:訂單表格,其屬性所對(duì)應(yīng)的意思:訂單編號(hào)、用戶編號(hào)、訂單狀態(tài)、商品的數(shù)量、商品總價(jià)、運(yùn)單號(hào)、訂單的創(chuàng)建時(shí)間、訂單的更新時(shí)間。createtablecommodity_order(idintnotnullauto_incrementprimarykey,user_idintnotnull,statusvarchar(20)notnull,commodity_quantityintnotnull,total_amountfloatnotnull,waybill_numbervarchar(100),create_timedatetime,update_timedatetime)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;(6)訂單的明細(xì)信息(訂單明細(xì)編號(hào)、訂單的編號(hào)、所購貨物的編號(hào)、所購貨物的名稱、所購貨物的價(jià)格、所購貨物的數(shù)量),具體代碼實(shí)現(xiàn)如下:訂單明細(xì)表,其屬性所對(duì)應(yīng)的意義:編號(hào),訂單編號(hào),所購貨物的編號(hào),所購貨物的名稱,所購貨物的價(jià)格,所購貨物的數(shù)量。createtablecommodity_order_detail(idintnotnullauto_incrementprimarykey,order_idintnotnull,commodity_idintnotnull,commodity_quantityintnotnull)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;altertablecommodity_order_detailaddconstraintFK_ID_2foreignkey(order_id)REFERENCEScommodity_order(id);altertablecommodity_order_detailaddconstraintFK_ID_3foreignkey(commodity_id)REFERENCEScommodity(id);訂單處理記錄信息(順序號(hào),訂單的編號(hào),管理者編號(hào),訂單更新后狀態(tài),訂單處理的時(shí)間),具體代碼實(shí)現(xiàn)如下:(7)訂單處理記錄表,其屬性所對(duì)應(yīng)的意義:順序號(hào),訂單的編號(hào),管理者編號(hào),訂單更新后狀態(tài),訂單處理的時(shí)間。createtableorder_processing_record(idintnotnullauto_incrementprimarykey,order_idintnotnull,operator_idintnotnull,statusvarchar(20)notnull,timedatetime)ENGINE=InnoDBDEFAULTCHARACTERSETutf8;altertableorder_processing_recordaddconstraintFK_ID_5foreignkey(order_id)REFERENCEScommodity_order(id);altertableorder_processing_recordaddconstraintFK_ID_6foreignkey(operator_id)REFERENCESadministrator(id);(8)評(píng)價(jià)信息(順序號(hào),訂單的明細(xì)編號(hào),評(píng)價(jià)的星級(jí),評(píng)價(jià)商品的內(nèi)容,圖片,評(píng)價(jià)的時(shí)間),具體代碼實(shí)現(xiàn)如下:評(píng)價(jià)表,其屬性所對(duì)應(yīng)的意義:順序號(hào),訂單的明細(xì)編號(hào),評(píng)價(jià)的星級(jí),評(píng)價(jià)商品的內(nèi)容,圖片,評(píng)價(jià)的時(shí)間。createtableevaluation(idintnotnullauto_incrementprimarykey,order_detail_idintnotnull,gradeint,contenttext,imagevarchar(200),timedatetime)ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARACTERSETutf8;altertableevaluationaddconstraintFK_ID_7foreignkey(order_detail_id)REFERENCEScommodity_order_detail(id);系統(tǒng)的實(shí)現(xiàn)4.1本系統(tǒng)結(jié)構(gòu)圖4.1系統(tǒng)的結(jié)構(gòu)4.2配置applicationContext.xml圖3.6.2配置applicationContext.xml文件4.3配置mybatis-config.xml,具體代碼實(shí)現(xiàn)如下:圖4.3配置mybatis-config.xml4.4配置spring-mvc.xml,圖4.4配置spring-mvc.xml,4.5注冊(cè)界面用戶通過本系統(tǒng)注冊(cè)一個(gè)私有的的賬號(hào)來提供給用戶進(jìn)行私有的操作,具體代碼實(shí)現(xiàn)如下:publicStringregisterAdd(Stringname,Stringpassword,Modelmodel)throwsException{
Stringmsg=null;
if(!HtmlUtils.htmlEscape(name).equals(name)){
msg="用戶名含有特殊字符,無法注冊(cè),請(qǐng)重新輸入";
}
if(userService.isExist(name)){
msg="用戶名已存在,無法注冊(cè),請(qǐng)重新輸入";
}
if(msg!=null){
model.addAttribute("msg",msg);
return"register";
}
Useruser=newUser();
user.setName(name);
user.setPassword(password);
user.setGroup(User.Group.user);
userService.add(user);
return"registerSuccess";
}圖4.5注冊(cè)界面4.6登陸界面用戶注冊(cè)完賬號(hào)以后,可以通過注冊(cè)時(shí)所獲得的賬號(hào)與自己設(shè)置的密碼登錄系統(tǒng),具體代碼實(shí)現(xiàn)如下:@RequestMapping("loginIn")
publicStringloginIn(Stringname,Stringpassword,Modelmodel,HttpSessionsession,Stringrefer){
UseruserFromDB=userService.get(name,password);
if(userFromDB==null){
Stringmsg="用戶名密碼錯(cuò)誤,請(qǐng)重試";
model.addAttribute("msg",msg);
return"login";
}
session.setAttribute("user",userFromDB);
return"redirect:"+refer;
}圖4.6登陸界面4.7搜索功能用戶登錄成功后選擇心意的產(chǎn)品,如果想買模糊的東西,可以通過搜索框進(jìn)行模糊查找,直至找到心儀的產(chǎn)品,具體代碼實(shí)現(xiàn)如下:@RequestMapping("search")
publicStringsearch(Stringkeyword,@NullableStringsort,Modelmodel)throwsException{
if(keyword.length()==0){
return"search";
}
List<Product>products=productService
.list("name_like",keyword,"order",handleSort(sort),"stock_gt",0);
model.addAttribute("products",products);
model.addAttribute("keyword",keyword);
return"search";
}圖4.7搜索界面4.8購物車功能4.8.1添加購物車用戶找到產(chǎn)品以后可以通過加入購物車的方式來收藏商品,等到用戶找到所有心意的商品一起下單,具體代碼實(shí)現(xiàn)如下:@RequestMapping("addCart")
publicStringaddCart(Integerpid,Integernum,Modelmodel,HttpSessionsession)throwsException{
Productproduct=(Product)productService.get(pid);
Useruser=(User)session.getAttribute("user");
Stringmsg;
//獲取原來就在購物車的數(shù)據(jù)
CartItemcartItem=(CartItem)cartItemService
.getOne("uid",user.getId(),"pid",product.getId());
BooleanisInDB=cartItem!=null;
//判斷是否超出庫存
if(isInDB){
num+=cartItem.getNumber();
}else{
cartItem=newCartItem();
cartItem.setProduct(product);
cartItem.setUser(user);
}
圖4.8.1添加購物車功能4.8.2刪除購物車用戶可以在添加完購物車以后,將暫時(shí)不喜歡的產(chǎn)品刪除,具體代碼實(shí)現(xiàn)如下:@RequestMapping("deleteCartItem")
publicStringdeleteCartItem(Integerid,Modelmodel,HttpSessionsession)throwsException{
Useruser=(User)session.getAttribute("user");
CartItemcartItemFromDB=(CartItem)cartItemService.get(id);
checkUser(user,cartItemFromDB.getUser());
cartItemService.delete(cartItemFromDB);
model.addAttribute("msg","success");
return"msg";
}圖4.8.2刪除購物車功能4.9購買功能用戶可以選擇自己心意的產(chǎn)品以后下單,具體代碼實(shí)現(xiàn)如下:@RequestMapping("buy")
publicStringbuy(Integer[]ciid,Modelmodel,HttpSessionsession)throwsException{
List<CartItem>cartItems=newArrayList<>();
Useruser=(User)session.getAttribute("user");
inttotalNum=0;
BigDecimalsum=newBigDecimal(0);
for(Integerid:ciid){
CartItemcartItem=null;
if(id==-1){
//由buyOne跳轉(zhuǎn)而來
cartItem=(CartItem)session.getAttribute("tempCartItem");
}else{
//由購物車跳轉(zhuǎn)而來
cartItem=(CartItem)cartItemService.get(id);
}
//檢查
checkUser(user,cartItem.getUser());
totalNum+=cartItem.getNumber();
sum=sum.add(cartItem.getSum());
cartItems.add(cartItem);
}
session.setAttribute("cartItems",cartItems);
model.addAttribute("totalNum",totalNum);
model.addAttribute("sum",sum);
return"buy";
}圖4.9購買功能4.10訂單用戶可以查看自己已經(jīng)購買的產(chǎn)品或未支付的產(chǎn)品,具體代碼實(shí)現(xiàn)如下:@RequestMapping("createOrder")
publicStringcreateOrder(Stringaddress,Stringpost,Stringreceiver,
Stringmobile,
StringuserMessage,
HttpSessionsession)throwsException{
List<CartItem>cartItems=(List<CartItem>)session.getAttribute("cartItems");
Useruser=(User)session.getAttribute("user");
//簡單校驗(yàn)下手機(jī)
Patternpattern=Ppile("1[0-9]{10}");
if(!pattern.matcher(mobile).matches()){
thrownewParameterException("手機(jī)號(hào)填寫錯(cuò)誤");
}
Orderorder=newOrder();
order.setAddress(address);
order.setPost(post);
order.setReceiver(receiver);
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024鐵塔采購合同
- 2025年度環(huán)保場調(diào)研與污染源排查服務(wù)合同4篇
- 二零二五年度旅游產(chǎn)品預(yù)約解除與賠償協(xié)議合同
- 二零二五年度美容機(jī)構(gòu)美容師聘用及技能考核合同
- 二零二五年度水電能源市場交易合同
- 二零二五年度電商平臺(tái)虛擬商品返利合同范本
- 2025年度智能社區(qū)安全監(jiān)控系統(tǒng)集成服務(wù)合同
- 2025年度酒水行業(yè)展會(huì)參展與廣告投放合同
- 二零二五年度知識(shí)產(chǎn)權(quán)法律文件起草與知識(shí)產(chǎn)權(quán)保護(hù)顧問合同
- 南京理工大學(xué)泰州科技學(xué)院《羽毛球初級(jí)》2023-2024學(xué)年第一學(xué)期期末試卷
- 統(tǒng)編版六年級(jí)語文上冊(cè)專項(xiàng) 專題13記敘文閱讀-原卷版+解析
- 2023-2024學(xué)年物理九年級(jí)第一學(xué)期期末復(fù)習(xí)檢測模擬試題
- 教師培訓(xùn)課件信息技術(shù)與數(shù)字素養(yǎng)教育
- 外觀專利授權(quán)協(xié)議書
- 全套消防管理記錄本
- 浙大一院之江院區(qū)就診指南
- 離婚協(xié)議書電子版下載
- 完整版供應(yīng)商質(zhì)量審核檢查評(píng)分表(供應(yīng)商審核表)
- 項(xiàng)目日程表模板
- 質(zhì)量評(píng)估報(bào)告(光伏)
- 農(nóng)村個(gè)人房屋抵押借款合同
評(píng)論
0/150
提交評(píng)論