校園二手平臺的開發(fā)與設(shè)計網(wǎng)絡(luò)工程專業(yè)_第1頁
校園二手平臺的開發(fā)與設(shè)計網(wǎng)絡(luò)工程專業(yè)_第2頁
校園二手平臺的開發(fā)與設(shè)計網(wǎng)絡(luò)工程專業(yè)_第3頁
校園二手平臺的開發(fā)與設(shè)計網(wǎng)絡(luò)工程專業(yè)_第4頁
校園二手平臺的開發(fā)與設(shè)計網(wǎng)絡(luò)工程專業(yè)_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄1 緒論11.1 課題研究背景11.2 研究意義11.3 研究的目標(biāo)22 系統(tǒng)技術(shù)選型32.1 數(shù)據(jù)庫選擇32.2 開發(fā)工具的選擇32.3 后端框架選擇32.4 前端框架選擇33 系統(tǒng)需求和可行性分析43.1 總體設(shè)計原則43.2 需求分析43.3 可行性分析53.3.1 技術(shù)可行性53.3.2 經(jīng)濟(jì)可行性63.3.3 操作可行性64 系統(tǒng)設(shè)計74.1 概要設(shè)計74.2 頁面設(shè)計74.3 數(shù)據(jù)庫設(shè)計74.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計74.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計85 系統(tǒng)實現(xiàn)115.1 網(wǎng)站前臺設(shè)計與實現(xiàn)115.1.1 用戶登錄模塊115.1.2 用戶注冊模塊125.1.3 商品模塊13

2、5.1.4 用戶訂單模塊145.1.5 用戶購物車模塊165.1.6 申請商家模塊185.1.7 個人信息模塊195.2 網(wǎng)站后臺設(shè)計與實現(xiàn)205.2.1 商品管理模塊205.2.2 用戶管理模塊216 系統(tǒng)調(diào)試與測試236.1 測試概述236.2 測試內(nèi)容236.3 測試結(jié)果236.4 本章小結(jié)257 總結(jié)與展望267.1 總結(jié)267.2 展望27參考文獻(xiàn)28致 謝29III1 緒論1.1 課題研究背景在科技和生產(chǎn)力的快速發(fā)展下,各個行業(yè)都在蓬勃發(fā)展,互聯(lián)網(wǎng)購物這樣一個新型產(chǎn)業(yè)也在不斷壯大,當(dāng)代大學(xué)生作為網(wǎng)上購物的一個群體,在消費的時候大學(xué)生購買的物品有的時候利用率很低,有的甚至只用一次,造

3、成了物品的閑置和浪費1。在一個在科技飛速發(fā)展的現(xiàn)在,電子產(chǎn)品更換周期短。一直這樣下去不僅僅是對資源的一種浪費,關(guān)鍵還浪費了大學(xué)生很多的資金。并且在每年的畢業(yè)季,對于我親身經(jīng)歷或許也是大多數(shù)的在校大學(xué)生所經(jīng)歷到的,有的學(xué)生會在校園內(nèi)擺上小地攤來出售自己的閑置物品,這樣的情況雖然是很好的,但是無形之間給校園內(nèi)部的交通帶來了壓力,而且對于這樣的現(xiàn)象也是沒有一個規(guī)范化的管理。這樣的情況下,一個規(guī)范的只通用在校園內(nèi)部的平臺就非常必要了。而這個平臺的范圍只是在校園中的學(xué)生之間,讓在校大學(xué)生當(dāng)商家,坐在電腦前就可以把自己的閑置物品賣出去,讓學(xué)生們的閑置物品流動起來,更好的運用商品的用途。而且在校園內(nèi)的學(xué)生們

4、都是通過注冊學(xué)生信息來使用的,比起現(xiàn)在網(wǎng)上二手物品交易平臺,更加便捷,實用性更強(qiáng),其中所含信息量具體,發(fā)展前景十分明朗?,F(xiàn)在很多大學(xué)都有校園二手交易的活動,這種交易方式已經(jīng)進(jìn)入了廣大群眾的視野,正是在現(xiàn)在這種包容的大環(huán)境之下,有很多有關(guān)于我們大學(xué)生的二手物品交易平臺被大多數(shù)學(xué)生所期待,它可以使學(xué)生之間快速的聯(lián)系起來,滿足一些學(xué)生的需求,也幫助一些學(xué)生處理自己的物品,也可以讓用戶選擇自己真正喜歡的商品2。對于現(xiàn)在經(jīng)常網(wǎng)購的大學(xué)生來說,如何能夠?qū)⑵脚_開發(fā)好,更好地便利人們的生活,讓平臺上的商品更加物美價廉,是我們眼前第一個要解決的問題。1.2 研究意義建立這個平臺我們的本意是完成大學(xué)生在校內(nèi)的閑置

5、物品出售,利用了大學(xué)生閑置物品循環(huán),讓同學(xué)們自己做賣家,既能處理掉自己的閑置物品,也能獲取到自己想要的東西。借助網(wǎng)絡(luò)技術(shù),開發(fā)這樣的web端網(wǎng)站,目的是為了能夠?qū)⑿@里面的商品交易做的更加規(guī)范,更好管理,更加便利。與此同時也能將同學(xué)們的個性發(fā)揚(yáng)出來,而且我們所做的網(wǎng)站功能齊全,操作使用起來一點都不復(fù)雜,十分方便,我相信它可以成為大學(xué)生處理閑置物品的有力工具?;赟pringBoot的校園二手交易平臺,有效地拉近了同學(xué)們之間的距離,有效降低了運行所需的成本,使得學(xué)校二手交易更加規(guī)范,有效保證了學(xué)生們的消費者權(quán)利,讓同學(xué)們?nèi)粘=灰赘臃奖愫透咝А?.3 研究的目標(biāo)我們對這個方向進(jìn)行研究是基于將校園

6、交易與互聯(lián)網(wǎng)管理進(jìn)行有機(jī)結(jié)合,把二者結(jié)合到一起,其中我們最具特色的功能便是可以實現(xiàn)用戶發(fā)布商品和發(fā)布需求的功能,實現(xiàn)了校內(nèi)閑置物品的流動。本平臺中可以對多方面信息進(jìn)行管理,例如商戶的有關(guān)信息,商戶所賣商品的有關(guān)信息和消費者的有關(guān)信息等等。用戶可以在本平臺上實名認(rèn)證之后申請成為商戶,商戶可以在個人中心發(fā)布自己不在使用或者擱置的物品。以上申請直接轉(zhuǎn)到管理員的信息中心。管理員有處置申請通過和不通過的權(quán)限。從而達(dá)到在校大學(xué)生合理處置安排自己的閑置物品。本平臺實現(xiàn)了線上以及線下溝通交易。在保證安全交易的情況下更大限度的給大學(xué)生處置物品的自由。292 系統(tǒng)技術(shù)選型本人所設(shè)計的校園交易平臺不僅具有交易平臺所

7、需要的基本功能,而且操作起來沒有任何難度,對用戶們十分友好,不僅滿足了各種各樣用戶的需求,同時我們在安全性方面也做了十足的考慮,從保障用戶安全的方面進(jìn)行考慮選擇的操作系統(tǒng)。2.1 數(shù)據(jù)庫選擇所有在平臺登記的商品和登記的用戶的信息都在數(shù)據(jù)庫中進(jìn)行儲存,而且對于事務(wù)來說其一致性是必須被確保的,以此來確保各方的權(quán)益,所以選擇關(guān)系數(shù)據(jù)庫更加合適,因此選擇數(shù)據(jù)庫,這種數(shù)據(jù)庫是當(dāng)下潮流最流行的而且其更加穩(wěn)定,更加可靠,并且可以進(jìn)行可視化操作4。對于后期調(diào)試和測試幫助很大,并且在大學(xué)期間我曾系統(tǒng)的學(xué)習(xí)過該數(shù)據(jù)庫,掌握其基本知識。2.2 開發(fā)工具的選擇在市面上有許許多多的開發(fā)工具,人們所用到比較多的無非就是這

8、幾款,就像是等,開發(fā)工具的選擇必須要重視,因為如果選擇的開發(fā)工具不可使,極有可能會造成事倍功半,工作效率大幅降低,達(dá)不到我們的預(yù)期效果,我所選擇的開發(fā)工具是,理由如下;1.其具有自動提示的功能,并且能自動導(dǎo)包,2.代碼重構(gòu),代碼的重構(gòu)功能也很聰明智能。能幫助你在代碼書寫過程中發(fā)現(xiàn)并且提示代碼冗余地方。3.使用起來十分流暢,相比于其他的開發(fā)工具,他不會出現(xiàn)卡頓的情況,這是它所具有的優(yōu)勢之一。2.3 后端框架選擇后端框架的選擇是至關(guān)重要的,我選擇作為我的開發(fā)框架,因為這種開發(fā)框架去油其他開發(fā)框架所不具有的有點。SpringBoot框架可以非常方便的集成其他相關(guān)技術(shù)。為項目配置提供了強(qiáng)大的支持6。而

9、且相比其他還具有操作簡便的優(yōu)點。2.4 前端框架選擇我們所創(chuàng)建的這個校園交易平臺不僅有一定客戶端,還有電腦端,前端框架的選擇也是十分重要的,因此必須慎重,現(xiàn)在市面上最流行的是。可以選擇這個前端框架。Spring 官方推薦使用Thymeleaf模板引擎功能強(qiáng)大,完全代替了jsp中的EL表達(dá)式7。這里面包含著很多的資源,基于此所以我們最后選擇 +Thymeleaf模板引擎和前端框架。3 系統(tǒng)需求和可行性分析3.1 總體設(shè)計原則我們秉持著要給消費者提供最方便的服務(wù)和最舒適的用戶體驗的目的,要將校園交易平臺設(shè)計得功能盡可能完善,操作最簡化,同時保證平臺上商品的質(zhì)量,保證消費者權(quán)益,我們應(yīng)當(dāng)在開發(fā)時候遵

10、循表3.1。系統(tǒng)的數(shù)據(jù)吞吐力很高,在有較多用戶同時進(jìn)行數(shù)據(jù)查詢更新操作時系統(tǒng)依然可以保持運行的平穩(wěn)實現(xiàn)系統(tǒng)時使用開源、通用的相關(guān)技術(shù)手段系統(tǒng)需要滿足:全面的功能、便捷的操作、友好的接口、美觀的UI設(shè)計 針對實際使用中不同需求的用戶,系統(tǒng)都應(yīng)當(dāng)盡力滿足,現(xiàn)有功能模塊要有繼續(xù)擴(kuò)展的空間,且保持外部接口不變確保代碼具有規(guī)范性及較強(qiáng)的可讀性,嚴(yán)格按照DRY原則進(jìn)行編寫,對相關(guān)代碼進(jìn)行合理的注釋系統(tǒng)的組成上,要對相關(guān)權(quán)限進(jìn)行明確的劃分、嚴(yán)格限制部分敏感操作,最大程度上保證服務(wù)器的平穩(wěn)安全3.2 需求分析最開始我們需要對市場所需的東西進(jìn)行有效分析,設(shè)計調(diào)查問卷對其進(jìn)行相關(guān)調(diào)研,了解到我們所設(shè)計的平臺應(yīng)該具

11、有哪些功能,經(jīng)過這些步驟就可以得到這個平臺的邏輯模型,在經(jīng)過一定方式的轉(zhuǎn)化,便可實現(xiàn)對于相關(guān)需求的滿足。首先我們需要將所需的系統(tǒng)構(gòu)架出來。我們所設(shè)計的平臺追求的不僅僅是基本功能齊全,我們更加追求的是消費者良好的體驗,因此簡潔美觀的界面是必不可少的,只要能夠?qū)㈨撁嬖O(shè)計成功,呢就是向整體成功邁出了一大步,歸根結(jié)底我們設(shè)計的是校園交易平臺,要能滿足小于交易的各種需求,我們要進(jìn)行結(jié)構(gòu)化設(shè)計,現(xiàn)將整個平臺根據(jù)不同的特性分為幾個模塊,然后再將每個模塊細(xì)分,從而進(jìn)行相關(guān)的設(shè)計和有關(guān)的調(diào)整。將平臺進(jìn)行模塊劃分過程中,我們是根據(jù)不同模塊的特性和功能來進(jìn)行劃分的,這樣做可以有效地降低在開發(fā)過程中的復(fù)雜度,并且能使

12、開發(fā)者的思路很明確,可以在很短的時間內(nèi)完成任務(wù)9。網(wǎng)站功能如下:(1)首頁:商城首頁展示了平臺所售商品的一切相關(guān)信息,讓用戶可以全面了解商品情況。(2)新用戶進(jìn)行注冊:在新用戶進(jìn)行注冊的過程中填寫個人信息,并且使用手機(jī)接收驗證碼,校驗用戶的信息是否屬實,并對其真實身份進(jìn)行有效驗證,一旦出現(xiàn)問題則不予注冊。(3)用戶進(jìn)行登錄:如果該用戶曾經(jīng)注冊過本平臺賬號,可以進(jìn)行登錄操作,保存登錄信息。(4)商品展示模塊:商品展示區(qū)域展示當(dāng)前平臺的所有上架的商品信息。包含商品名、價格等,可以實現(xiàn)分類別查看展示和搜索展示信息。(5)商品詳情展示:展示當(dāng)前商品的全部信息,羅列到頁面上,多表聯(lián)查商家信息和評論信息。

13、(6)訂單模塊:對于用戶進(jìn)行購買操作時直接生成訂單,用戶在個人中心可以查看自己的訂單,對未付款的訂單執(zhí)行付款操作,對其余訂單可以進(jìn)行刪除操作。(7)管理員登錄:管理員使用同一配發(fā)的賬號進(jìn)行登錄操作。在后臺模塊管理員賬號是不可注冊,只能進(jìn)行一并發(fā)放。(8)商品進(jìn)行管理:本平臺所出售的所有商品都由我們平臺的管理員進(jìn)行統(tǒng)一管理,商品的注冊,出庫,派發(fā)都是由其負(fù)責(zé)。(9)對本網(wǎng)站的所有用戶進(jìn)行管理:所有經(jīng)過注冊的用戶的信息都有備份,管理員可以查看相關(guān)的賬號信息,并且在發(fā)現(xiàn)賬號信息異常的時候可以執(zhí)行鎖定功能。系統(tǒng)整體設(shè)計框架圖如圖3-1所示:圖3-1 系統(tǒng)整體設(shè)計架構(gòu)圖3.3 可行性分析3.3.1 技術(shù)

14、可行性創(chuàng)建校園交易平臺對其進(jìn)行技術(shù)可行性分析研究,其主要有兩個難點,主要是前期對相關(guān)軟件進(jìn)行開發(fā)和創(chuàng)建平臺后的維護(hù)兩點,在對相關(guān)軟件進(jìn)行開發(fā)的過程中,模式是其主要的模式,對其進(jìn)行分層所使用的是設(shè)計模式。為了能夠更好地控制版本,本地和遠(yuǎn)程倉庫的部署采用的是不同的管理模式,這樣可以使得管理起來更加高效,合理。創(chuàng)建平臺后對其維護(hù)的時候,管理員可以通過后臺管理的接口進(jìn)入平臺,從而對平臺進(jìn)行維護(hù)。除此以外,管理員還可以通過服務(wù)器進(jìn)入數(shù)據(jù)庫。實現(xiàn)以上要求主要使用了等相關(guān)技術(shù)。3.3.2 經(jīng)濟(jì)可行性創(chuàng)建校園交易平臺對其進(jìn)行經(jīng)濟(jì)可行性分析研究,經(jīng)濟(jì)所用部分主要可以分為三個部分,其分別是軟件在前期進(jìn)行開發(fā),所需

15、要的硬件設(shè)施和后期的運行維護(hù)。11。軟件在前期進(jìn)行開發(fā):全部過程都由一個人進(jìn)行操作,計劃出每天的工作量然后按照計劃完成,人工費可以降至最低,而且技術(shù)上無需任何第三方的幫助,也不需要任何費用。所需要的硬件設(shè)施:必須要有一臺性能可以保證相關(guān)測試能順利進(jìn)行的電腦。系統(tǒng)所需后期的運行維護(hù):當(dāng)系統(tǒng)成功上線后,獨立的域名和服務(wù)器主機(jī)都是必不可少的,這些都必須要進(jìn)行購買。對相關(guān)所需成本進(jìn)行大致估算,各個部分所需的預(yù)算如下表所示:3.3.3 操作可行性本平臺采用的是服務(wù)器和網(wǎng)站的架構(gòu),對于剛使用該平臺的人員,熟悉電腦操作即可,并且在開發(fā)完成之后會附增使用說明,讓用戶和管理者更加快捷使用。4 系統(tǒng)設(shè)計4.1 概

16、要設(shè)計我們所設(shè)計的這個校園交易平臺在其結(jié)構(gòu)上進(jìn)行分類大體上可以分為兩個部分,分別是用戶所用的客戶端和管理員所使用的后臺,這兩方面中客戶端是較為主要的,在這個的基礎(chǔ)上進(jìn)行各方面的延伸,路由接口的設(shè)計,網(wǎng)站的頁面的設(shè)計和數(shù)據(jù)庫的設(shè)計是最主要的三個方面,我們將從這三個方面進(jìn)行概述。(1) 在對平臺路由的設(shè)計過程中,經(jīng)過慎重考慮,我們所選擇的是RESTful的 設(shè)計風(fēng)格,主要是因為其簡潔明了的設(shè)計,能夠讓用戶有更好的體驗感。(2) 歸根到底平臺最主要的目的就是為用戶提供便利,以實用為主,UI設(shè)計簡潔,讓人煥然一樣,同時彰顯自己的特色風(fēng)格。(3) 是我們所選用的管理系統(tǒng),在不同情況下建立不同的數(shù)據(jù)庫。4

17、.2 頁面設(shè)計我們所設(shè)計平臺的初衷是給用戶提供各種方便的服務(wù),讓用戶有更好地用戶體驗,因此前端設(shè)計是十分重要的,是影響用戶體驗感十分重要的一個環(huán)節(jié),基于以上要求進(jìn)行綜合考慮,我們最后決定使用這一項技術(shù)。4.3 數(shù)據(jù)庫設(shè)計4.3.1 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計數(shù)據(jù)概念結(jié)構(gòu)設(shè)計對于整個數(shù)據(jù)庫是來說是十分重要的,因此我們必須對其十分重視,通過各種各樣的方式對用戶所有的需求進(jìn)行歸納總結(jié)統(tǒng)一,只有經(jīng)過這樣的處理我們才能更加深刻全面的了解用戶需求,才能更好地滿足各種各樣的用戶不同的需求。對平臺進(jìn)行分類是十分重要的一步,業(yè)界都將其稱為平臺的邏輯結(jié)構(gòu),平臺會被其分類成為好幾部分,分類后的部分各有各的功能,最后我們依據(jù)

18、得到的ER圖來確定平臺的數(shù)據(jù)模型,將實體之間的關(guān)系關(guān)聯(lián)轉(zhuǎn)換成為數(shù)據(jù)庫中的數(shù)據(jù)模型。圖4-1 系統(tǒng)數(shù)據(jù)庫概念設(shè)計圖4.3.2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計本平臺所選用的系統(tǒng)是,與此同時可以根據(jù)相關(guān)的數(shù)據(jù)庫,由此可以有效地避免數(shù)據(jù)庫被不良數(shù)據(jù)污染,為了避免這種情況,有些原則是必須要遵循的:在對數(shù)據(jù)庫的結(jié)構(gòu)進(jìn)行分析的工程中,表的設(shè)計是特別重要的,切記不可使用過于冗長的字段,否則表與表之間會出現(xiàn)耦合的現(xiàn)象,這是一個非常不好的現(xiàn)象。13在對表設(shè)計的過程中,我是親力親為的,在對表設(shè)計的過程中我取得了三個重要的結(jié)論,呢就是可以通過添加一些無關(guān)的語句段落,這樣可以有效地降低設(shè)計過程中的復(fù)雜度。14數(shù)據(jù)庫的表結(jié)構(gòu)如下:U

19、_EMAILvarchar(32)NULLU_addressvarchar(200)NULLU_postalcodeInt(11)NULLU_codetypevarchar(10)NULLU_codenumbervarchar(50)NULLU_PUESITIONvarchar(100)NULLU_ISLOCKintNULLU_CODENAMEvarchar(32)NULL表4.2 商品信息表C_SUBTITLEvarchar(200)NULLC_MAINIMAGEvarchar(500)NULLC_IMAGESvarchar(500)NOT NULLC_DETAILvarchar(1000)

20、NULLisdelvarchar(20)NULLC_ORIGINALDecimal(20)NULLC_PRICEDecimal(20)NULLC_DEGREEvarchar(32)NULLC_STOCKvarchar(11)NULLC_STATUSint(6)NULL表4.3 訂單信息表U_USERNAMEvarchar(32)NULLU_PHONEvarchar(11)NULLU_addressvarchar(200)NULLO_NUMBERint(11)NULLO_PRICEdecima(20)NULLO_PAYMENTvarchar(32)NULLO_PAYMETHODvarchar(3

21、2)NULLO_PAYTIMEdatetimeNULLO_ORDERNUMvarchar(32)NULLR_ADDCITYvarchar(50)NULLR_ADDRESSvarchar(255)NULLR_ISDEFAULTint(11)NULLR_DATEFLAGint(11)NULLR_CREATETIMEdate(0)NULLR_ADDAREAvarchar(50)NULLD_CONTENTvarchar(255)NULLD_FATHERIDint(11)NULLD_SONIDint(11)NULLD_RELTIMEdatetimeNULLADMIN_PHONEvarchar(32)NU

22、LLADMIN_QUESITIONvarchar(100)NULLADMIN_ANSWERvarchar(100)NULL5 系統(tǒng)實現(xiàn)本章節(jié)為論文的第五部分,主要對本次設(shè)計的系統(tǒng)進(jìn)行全面解釋,側(cè)重于實現(xiàn)過程與實現(xiàn)方法,并對整個網(wǎng)站的各個功能模塊進(jìn)行對應(yīng)說明。5.1 網(wǎng)站前臺設(shè)計與實現(xiàn)本次設(shè)計的網(wǎng)站運用了的相關(guān)知識及功能,并以此為基礎(chǔ)完成網(wǎng)頁的設(shè)計實現(xiàn),總體架構(gòu)采用的是模式,這是一種分層架構(gòu)模式。首先,我對本系統(tǒng)的網(wǎng)站前臺進(jìn)行了設(shè)計實現(xiàn)。網(wǎng)頁前臺主要是負(fù)責(zé)面向用戶實現(xiàn)功能呈現(xiàn),其中包括:注冊、登錄等,在整個系統(tǒng)中網(wǎng)頁前臺劃分在系統(tǒng)用戶模塊。除此之外,網(wǎng)頁前臺還要為用戶提供:商品展示(分類、詳情)

23、、購物車、下單、實時互動交流、用戶間分享等多種功能。5.1.1 用戶登錄模塊實現(xiàn)了網(wǎng)頁前臺的設(shè)計,就可以進(jìn)一步完善用戶登錄模塊的實現(xiàn)。一般來說,網(wǎng)頁用戶想要進(jìn)行登陸操作都要進(jìn)行以下這些操作:一是確認(rèn)用戶向網(wǎng)頁中輸入的整體內(nèi)容是否準(zhǔn)確無誤,即驗證信息是否存在;二是借助編寫好的相關(guān)程序?qū)τ脩糨斎氲男畔⑦M(jìn)行傳輸,確保后臺能夠準(zhǔn)確接收到用戶信息;三是后臺程序接受到用戶信息后,根據(jù)關(guān)鍵信息查詢用戶數(shù)據(jù)庫。如果能夠找到與用戶信息完全相同的數(shù)據(jù),就將用戶密碼進(jìn)行比對,如果密碼正確無誤就返回成功,并且實現(xiàn)用戶的登陸操作,向用戶顯示個人主頁界面,如果沒有在用戶數(shù)據(jù)庫中查找到輸入的用戶數(shù)據(jù),直接返回錯誤,并向用戶

24、顯示賬號密碼錯誤的界面。圖5-1就是登錄界面。圖5-1用戶登錄界面網(wǎng)站主要采用響應(yīng)式布局的方式,使用ajax異步請求,實現(xiàn)了用戶登錄的反饋信息。核心代碼如下:RequestMapping(value = login.action) public String login(RequestParam(U_PHONE) String U_PHONE,RequestParam(U_PASSWORD) String U_PASSWORD, User user, HttpServletRequest request, HttpSession session,Model model) String u_ph

25、one = request.getParameter(U_PHONE); user.setU_PHONE(u_phone); user.setU_PASSWORD(u_password); user = this.userService.dologin(user); if (user !=null) session.setAttribute(user,user); return forward:/; else System.out.println(未查詢到信息!); model.addAttribute(errorMSG,賬號錯誤或密碼錯誤!請重新輸入); return forward:/lo

26、gin; 5.1.2 用戶注冊模塊用戶注冊時首先填寫個人基本信息,之后同意條款后平臺向用戶手機(jī)發(fā)送用戶注冊的驗證碼,通過驗證后驗證用戶的身份信息,并完成注冊。完成注冊的賬號才能使用該平臺。在注冊的過程中,平臺首先對比用戶的手機(jī)信息,如果與數(shù)據(jù)庫中的手機(jī)號匹配,則改手機(jī)號已被其他用戶注冊,則不可以在進(jìn)行注冊操作。圖5-2顯示的就是注冊界面。注冊功能的實現(xiàn)使用了阿里云短信功能支撐,當(dāng)用戶在注冊時收到短信后,輸入正確的驗證碼才可以入駐本平臺。核心代碼如下:public static String getCode() StringBuilder sb = new StringBuilder(); fo

27、r (int i = 0; sb.length() 6; i+) int num = new Random().nextInt(10); sb.append(num); return sb.toString(); RequestMapping(value = /checkPhoneCode) public Integer checkPhoneCode(RequestParam(verifyCode) String verifyCode,HttpSession session) System.out.println(verifyCode); System.out.println(session.

28、getAttribute(Checkphonecode); if (verifyCode.equals(session.getAttribute(Checkphonecode) System.out.println(相等!); return 1; else System.out.println(不相等!); return 0; 5.1.3 商品模塊商品顯示信息時的控制層代碼是先通過服務(wù)層方法findAll ()訪問持久層,并通過該操作對全部的信息列表進(jìn)行搜尋,接下來借助域?qū)ο笤谟脩繇撁嫜h(huán)展示查找到相關(guān)商品的數(shù)據(jù)信息。圖5-3顯示的就是用戶瀏覽商品信息時的界面。商品信息展示部分包括兩個小模塊,

29、即:用戶操作使用的模塊和管理員操作使用的模塊。在用戶操作使用模塊中,商品按照瀑布流模式展示出來。商品展示頁面中的商品均是商戶們上傳的商品信息、管理員上傳的商品信息。商戶上傳的商品必須由管理員審核后方可上架,如果商品審核不通過則給商戶反饋信息,商戶可以進(jìn)行刪除和重新上架申請。核心代碼如下:/ 查詢商品表格所有數(shù)據(jù) RequestMapping(/AllProduct) ResponseBody public String AllProduct() JSONObject jsonObject = new JSONObject(); List AllProduct = productService.

30、tofindAllProduct(); jsonObject.put(rows,AllProduct); return jsonObject.toJSONString(); / 添加商品信息 RequestMapping(/addProduct) public ModelAndView addProduct(RequestParam(file) MultipartFile file,HttpServletRequest request,HttpSession session) throws IOException ModelAndView mav = new ModelAndView(); A

31、dmin admin = (Admin) session.getAttribute(admin); Product product = new Product(); int i =productService.toAddProduct(product); mav.setViewName(Back-stageManagement/CommodityManagement); return mav; / 更新商品信息 RequestMapping(/updateProduct) public ModelAndView SelectOne(ModelAttribute(product) Product

32、 product,HttpServletRequest request) int success = productService.doUpdateByPrimaryKey(product); mav.setViewName(Back-stageManagement/CommodityManagement); return mav; / 所有商品 / 審核的商品頁面跳轉(zhuǎn) / 審核通過 RequestMapping(/ExaminePass) public ModelAndView ExaminePass(RequestParam(c_ID) Integer C_ID,Product produ

33、ct) int success = productService.doexaminePass(product); mav.setViewName(Back-stageManagement/ExamineProduct); return mav; 5.1.4 用戶訂單模塊用戶只要在平臺中購物就會產(chǎn)生一個訂單信息,并且存儲到數(shù)據(jù)庫中,Dion用戶可以在個人中心查看自己的訂單信息,在賣家處也會生成一個訂單,該訂單則是購買產(chǎn)品的用戶信息,賣家根據(jù)自己的訂單發(fā)貨,最終完成商品交易。圖5-4所顯示的就是用戶瀏覽訂單信息的界面。用戶登陸后可以訪問個人中心,里面會包含有訂單詳情,這里顯示的是全部的用戶訂單,其

34、中包括已付款和未付款,未付款訂單點擊可以繼續(xù)付款。已付款商品則跳轉(zhuǎn)至訂單詳情頁面,查看訂單的詳細(xì)信息。核心代碼如下:Model model, Integer CID = Integer.valueOf(C_ID); if (session.getAttribute(user) = null) mav.setViewName(login); else / 查詢收貨地址 List userAddresses = userAddressService.findUserAddress(U_USERID); model.addAttribute(UserAddress, userAddresses);/

35、 從商品表中查詢商品信息 model.addAttribute(Product, product); mav.setViewName(CHpay); return mav; / 用戶全部訂單查詢 頁面跳轉(zhuǎn) 并且查詢所有信息 List orderDetails=orderTableService.toOrderAndPro(U_USERID) model.addAttribute(orderDetails, orderDetails); mav.setViewName(PersonInfo/Allorders); return mav; / 查詢用戶當(dāng)前的所有訂單信息 public String

36、 AllOrdersTable(HttpSession session) JSONObject jsonObject = new JSONObject(); = user.getU_USERID(); List ordertables = orderTableService.tofindAllOrders(userid) jsonObject.put(rows, ordertables); return jsonObject.toJSONString(); 5.1.5 用戶購物車模塊平臺中的購物車功能實現(xiàn),用戶可以在商品詳細(xì)情況頁面把商品加入購物車,如果商品庫存不夠,會提示用戶商品暫時缺貨,在

37、為缺貨的狀態(tài)下點擊結(jié)算跳轉(zhuǎn)支付頁面。用戶購物車頁面如下圖5-5所示。圖5-5 用戶購物車界面5.1.6 需求廣場模塊用戶在需求廣場模塊可以查閱其他用戶發(fā)布的需求告知,也可以對其他用戶的需求進(jìn)行回復(fù),回復(fù)之后發(fā)布需求者可以查看到評論內(nèi)容??梢葬槍ο鄳?yīng)的需求發(fā)布商品。有效的利用自己的閑置物品。同樣用戶在進(jìn)行登錄完成后可以在需求廣場上發(fā)布自己的所需告示。在我的需求中可以對自己發(fā)布過的需求文檔進(jìn)行刪除操作。需求廣場如下圖5-6所示。圖5-6 需求廣場界面需求廣場的加入能更加貼近大學(xué)生們的生活,通過供求關(guān)系來達(dá)成閑置物品的交易。能解決相對于盲目上線商品的問題。核心代碼如下:/ 當(dāng)前用戶發(fā)布需求 Requ

38、estMapping(/addDemand) ResponseBody public int AddDemand(HttpSession session, HttpServletRequest request, Demand demand) = user.getU_USERID(); String UserName = user.getU_USERNAME(); String DemandContent =request.getParameter(DemandContent); int success = demandService.addDemand(demand); return 1; /

39、 我發(fā)布的需求 RequestMapping(/MyDemand) Integer userid = user.getU_USERID(); List demands = demandService.tofindByUserID(userid); model.addAttribute(demands,demands); mav.setViewName(/Demand/MyDemand); return mav; / 回復(fù)評論 RequestMapping(/ReplyComments) ResponseBody public int ReplyComments(RequestParam(D_F

40、ATHERID) String USERNAME = user.getU_USERNAME(); int success = demandService.addDemand(demand); return success; 5.1.7 申請商家模塊用戶在注冊平臺賬號之后,可以通過個人中心的申請為商家向平臺申請上架商品的權(quán)限。在本過程中預(yù)保留了學(xué)生認(rèn)證的接口來實現(xiàn)學(xué)生認(rèn)證。學(xué)生需填寫對應(yīng)的姓名和學(xué)生證號來認(rèn)證自己的學(xué)生信息。后臺管理員在用戶管理的商戶管理下可以查看對應(yīng)賬號申請的個人信息。通過后即可使用商家功能實現(xiàn)商品的上傳。申請為商家模塊如下圖5-7所示。圖5-7 申請為商家界面用戶在該模塊實現(xiàn)

41、了自己也可以上傳商品信息,并且通過審核后直接上架到平臺上面。商品如被購買,金錢直接流入平臺賬上,買家確認(rèn)收貨后可以將金錢轉(zhuǎn)至用戶的賬戶上。相關(guān)代碼:/ 申請為商家 ApplyMer(RequestParam(E_USERID) Integer E_USERID) ModelAndView mav = new ModelAndView();/ 查詢是否正在申請商家 如果不是 則顯示/PersonInfo/ApplyMer 如果是 則顯示 管理員正在審核請稍后 如果已經(jīng)是商家了 則再個人中心顯示為 商家服務(wù)再說 List success = examineService.forExitApply(

42、E_USERID); System.out.println(success); if (success.size()!=0)/ 就是正在申請 mav.setViewName(/PersonInfo/InProcessing); else / 就是沒有申請 mav.setViewName(/PersonInfo/ApplyMer); return mav; / 商家服務(wù)頁面/ 查詢該用戶的所有商品并且放入list展示 = user.getU_USERID(); List products = productService.doSelectByCreateID(String.valueOf(use

43、rid); List exmianeproducts = productService.doexamineProductByCreateID(String.valueOf(userid); model.addAttribute(products,products); model.addAttribute(exmianeproducts,exmianeproducts); mav.setViewName(PersonInfo/MerchantService); return mav; 5.1.8 個人信息模塊用戶可以通過個人信息模塊修改個人信息,還可以在安全設(shè)置中修改賬戶的密碼。個人信息模塊如下

44、圖5-8所示。圖5-8 個人信息界面用戶在該模塊修改完成任何個人信息后,都需要重新登錄平臺才能更新自己的個人信息。核心代碼如下:RequestMapping(changePassWord)public String changepwd(RequestParam(U_PASSWORD)String U_PASSWORD,RequestParam(U_NEWPASSWORD)String U_NEWPASSWORD,RequestParam(U_confirmpwd)String U_confirmpwd,User user,HttpSession session,Model model) Use

45、r user1 =(User) session.getAttribute(user); if (U_PASSWORD != & U_NEWPASSWORD != & U_confirmpwd != & U_PASSWORD.equals(UPWD) & U_NEWPASSWORD.equals(U_confirmpwd) Integer success = userService.dochangepwd(user); return login; else model.addAttribute(errorMsg,密碼或者新密碼不能為空,或者新密碼輸入不一致!); return PersonInf

46、o/changePWD; 5.2 網(wǎng)站后臺設(shè)計與實現(xiàn)這一部分實現(xiàn)了網(wǎng)站后臺的設(shè)計,這也是本系統(tǒng)中十分重要的部分。后臺管理模塊就好比橋梁,它的主要功能就是為管理員提供操作網(wǎng)站的接口,便于讓管理員對留言、商品類別、平臺商品、訂單信息、用戶模塊等部分的功能進(jìn)行管理。5.2.1 商品管理模塊商品管理模塊顧名思義就是對于商品相關(guān)的信息進(jìn)行管理,其中就包括對詳細(xì)信息、添加、刪除及更新等操作的管理,除此之外還要以商品的發(fā)布狀態(tài)作為參考對商品列表分類顯示。圖5-9顯示的就是商品管理界面。圖5-9 管理員商品管理由管理員添加的商品無需審核即可上架銷售,管理員在該界面可以對平臺的所有商品進(jìn)行操作,其中包括有上架、

47、下架和修改商品的詳細(xì)信息。其中下架的商品不會出現(xiàn)在用戶的瀏覽中。核心代碼如下:/ 添加商品信息 RequestMapping(/addProduct) public ModelAndView addProduct(RequestParam(file) MultipartFile file,HttpServletRequest request,HttpSession session) throws IOException Admin admin = (Admin) session.getAttribute(admin); String examineName = admin.getADMIN_N

48、AME(); Product product = new Product(); int i =productService.toAddProduct(product); mav.setViewName(Back-stageManagement/CommodityManagement); return mav; / 下架商品 GetMapping(/CancelSale) public ModelAndView CancelSale(RequestParam(c_ID) int c_ID,Product product) ModelAndView mav = new ModelAndView()

49、; int success = productService.doCancelSale(product); mav.setViewName(Back-stageManagement/CommodityManagement); return mav; / 上架商品 GetMapping(/OnSale) public ModelAndView OnSale(RequestParam(c_ID) int c_ID,Product product) int success = productService.doCancelSale(product); mav.setViewName(Back-sta

50、geManagement/CommodityManagement); return mav; / 更新商品信息 RequestMapping(/updateProduct) public ModelAndView SelectOne(ModelAttribute(product) Product product,HttpServletRequest request) int success = productService.doUpdateByPrimaryKey(product); mav.setViewName(Back-stageManagement/CommodityManagement); return mav; 5.2.2 訂單統(tǒng)計模塊該模塊主要實現(xiàn)了查看平臺上的所有訂單信息信息。對于異常的訂單信息管理員有權(quán)限執(zhí)行結(jié)束訂單。并且將異常信息反饋給買家和賣家,實現(xiàn)信息共享,避免了一些異常的操作后續(xù)工作。其中包含了對訂單的操作和對用

溫馨提示

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

評論

0/150

提交評論