《網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》7700字_第1頁(yè)
《網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》7700字_第2頁(yè)
《網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》7700字_第3頁(yè)
《網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》7700字_第4頁(yè)
《網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》7700字_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-2"\h\u9935網(wǎng)上拍賣(mài)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 1101941.網(wǎng)上拍賣(mài)管理系統(tǒng)概要設(shè)計(jì) 1123881.1系統(tǒng)功能和數(shù)據(jù)設(shè)計(jì) 2101851.2系統(tǒng)用例圖設(shè)計(jì) 2129201.3系統(tǒng)類(lèi)圖設(shè)計(jì) 349291.4數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn) 8133342網(wǎng)上拍賣(mài)系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 12304582.1用戶(hù)信息模塊的設(shè)計(jì)與實(shí)現(xiàn) 12126292.2拍賣(mài)商品模塊的設(shè)計(jì)與實(shí)現(xiàn) 15244802.3競(jìng)購(gòu)商品模塊的設(shè)計(jì)與實(shí)現(xiàn) 16187812.4支付模塊的設(shè)計(jì)與實(shí)現(xiàn) 18184912.5拍賣(mài)商品訂單模塊的設(shè)計(jì)與實(shí)現(xiàn) 1924452.6拍賣(mài)商品收藏模塊的設(shè)計(jì)與實(shí)現(xiàn) 21300213系統(tǒng)測(cè)試 2299263.1系統(tǒng)測(cè)試目的 22269373.2測(cè)試用例 23159173.3其他錯(cuò)誤 24181384結(jié)束語(yǔ) 25摘要:現(xiàn)在人們的購(gòu)物消費(fèi)的方式越來(lái)越多,包括線(xiàn)上的各大平臺(tái)以及線(xiàn)下的各種商店,但一種特殊的購(gòu)物方式-拍賣(mài),卻一直沒(méi)有在線(xiàn)上被實(shí)現(xiàn)。如果我們開(kāi)發(fā)設(shè)計(jì)一個(gè)網(wǎng)上拍賣(mài)系統(tǒng),會(huì)讓更多的人參與到拍賣(mài)中來(lái),使人們不出家門(mén)就能進(jìn)行商品的拍賣(mài),并且沒(méi)有時(shí)間與地點(diǎn)的限制,相對(duì)于傳統(tǒng)的拍賣(mài)方式來(lái)說(shuō),就大大節(jié)省了需要處理數(shù)據(jù)的人力,以及場(chǎng)地等物力,使拍賣(mài)商品變得更加的便捷,更加的普及,使商品拍賣(mài)變成人人都能進(jìn)行的活動(dòng)。該系統(tǒng)的實(shí)用性和普及性更強(qiáng),可以吸引到很多的拍賣(mài)者和賣(mài)家。網(wǎng)上拍賣(mài)系統(tǒng)基于MySQL數(shù)據(jù)庫(kù)、SpringBoot框架和JSP技術(shù)進(jìn)行開(kāi)發(fā)設(shè)計(jì),在開(kāi)發(fā)設(shè)計(jì)前對(duì)拍賣(mài)者和競(jìng)拍者的需求進(jìn)行了市場(chǎng)調(diào)研,主要功能包括有登錄注冊(cè),用戶(hù)對(duì)競(jìng)拍商品的搜索、競(jìng)價(jià)、評(píng)論以及收藏的功能。此系統(tǒng)還將設(shè)置管理員功能,可對(duì)拍賣(mài)商品和用戶(hù)的信息進(jìn)行維護(hù)與管理;管理員在系統(tǒng)網(wǎng)站中發(fā)布競(jìng)拍商品;買(mǎi)家根據(jù)需求瀏覽搜索心儀的商品并競(jìng)拍;之后便為商品結(jié)算,支付結(jié)算訂單;商品拍賣(mài)完成后管理員和用戶(hù)都可對(duì)商品訂單進(jìn)行管理,更好的滿(mǎn)足多方面的需求滿(mǎn)足人們方便快捷的進(jìn)行商品拍賣(mài),省去了很多冗余的環(huán)節(jié)。關(guān)鍵字:拍賣(mài)管理系統(tǒng);MySQL;JSP;SpringBoot;ECharts在當(dāng)前時(shí)代,隨著互聯(lián)網(wǎng)科技的不斷發(fā)展、人們購(gòu)物理念的不斷革新,網(wǎng)上消費(fèi)購(gòu)物作為新時(shí)代的購(gòu)物方式,正在以一種強(qiáng)悍又可怕的速度逐漸改變著人們的購(gòu)物方式,滿(mǎn)足人們的生活及各方面的需求[1]。從前,人們只能在線(xiàn)下拍賣(mài)行進(jìn)行商品拍賣(mài),采用三次定捶的方式?jīng)Q定拍賣(mài)商品的去留。而網(wǎng)上拍賣(mài)則利用互聯(lián)網(wǎng)的系列優(yōu)勢(shì)發(fā)展開(kāi)來(lái),可以讓人足不出戶(hù)隨時(shí)隨地便拍到自己想要的商品,給人一種全新的購(gòu)物體驗(yàn)。1.網(wǎng)上拍賣(mài)管理系統(tǒng)概要設(shè)計(jì)1.1系統(tǒng)功能和數(shù)據(jù)設(shè)計(jì)在對(duì)網(wǎng)上拍賣(mài)系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)時(shí),需要對(duì)網(wǎng)上拍賣(mài)管理系統(tǒng)進(jìn)行整體性的詳細(xì)分析。本系統(tǒng)分為前后臺(tái)系統(tǒng),前后臺(tái)系統(tǒng)都有若干個(gè)功能模塊,本系統(tǒng)的每個(gè)模塊之間或多或少的有所關(guān)聯(lián)。將網(wǎng)上拍賣(mài)系統(tǒng)的前臺(tái)系統(tǒng)分為7個(gè)模塊來(lái)實(shí)現(xiàn),后臺(tái)系統(tǒng)分為5個(gè)模塊來(lái)實(shí)現(xiàn),使項(xiàng)目的整個(gè)架構(gòu)更加完整,有利于代碼的編寫(xiě),便于后期人員的維護(hù)。本系統(tǒng)的整體功能結(jié)構(gòu)如圖1-1所示。圖1-1整體功能結(jié)構(gòu)圖1.2系統(tǒng)用例圖設(shè)計(jì)通過(guò)對(duì)網(wǎng)上拍賣(mài)系統(tǒng)的需求分析,規(guī)定了適合網(wǎng)上拍賣(mài)系統(tǒng)的角色。(1)用戶(hù)角色的用例圖主要是用來(lái)搜索商品信息、瀏覽商品信息、參與競(jìng)拍并評(píng)論和收藏操作、管理收藏信息和修改個(gè)人信息,具體信息如圖1-2所示。圖5-2用戶(hù)用例圖(2)管理員角色的用例圖主要具有競(jìng)價(jià)商品詳情管理、競(jìng)價(jià)商品分類(lèi)管理、競(jìng)價(jià)商品訂單狀態(tài)管理、用戶(hù)的信息查看以及管理員賬戶(hù)修改等等,具體信息如圖1-3所示。圖1-3管理員用例圖1.3系統(tǒng)類(lèi)圖設(shè)計(jì)網(wǎng)上拍賣(mài)系統(tǒng)的類(lèi)圖主要描述了用戶(hù)、商品類(lèi)別、競(jìng)拍商品、競(jìng)價(jià)成功后的評(píng)論、收藏、后臺(tái)管理員,商品訂單,收貨地址等實(shí)體類(lèi)結(jié)構(gòu)。(1)競(jìng)價(jià)商品類(lèi)別類(lèi)圖,如圖1-4所示。圖1-4競(jìng)價(jià)商品類(lèi)別類(lèi)圖(2)會(huì)員用戶(hù)類(lèi)圖,如圖1-5所示。圖1-5會(huì)員用戶(hù)類(lèi)圖(3)競(jìng)價(jià)商品類(lèi)圖,如圖1-6所示。圖1-6競(jìng)價(jià)商品類(lèi)圖(4)競(jìng)價(jià)商品收藏類(lèi)圖,如圖1-7所示。圖1-7競(jìng)價(jià)商品收藏類(lèi)圖(5)管理員類(lèi)圖,如圖1-8所示。圖1-8管理員類(lèi)圖(6)地址類(lèi)圖,如圖1-9所示。圖1-9地址類(lèi)圖(7)競(jìng)價(jià)商品訂單類(lèi)圖,如圖1-10所示。圖1-10競(jìng)價(jià)商品訂單類(lèi)圖1.4數(shù)據(jù)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)1.4.1E-R圖設(shè)計(jì)通過(guò)對(duì)本網(wǎng)上拍賣(mài)系統(tǒng)的需求與系統(tǒng)設(shè)計(jì)的分析,設(shè)計(jì)出網(wǎng)上拍賣(mài)系統(tǒng)所用的用戶(hù)實(shí)體,管理員實(shí)體,商品類(lèi)別實(shí)體,競(jìng)拍商品實(shí)體,商品訂單實(shí)體,收貨地址實(shí)體,評(píng)論實(shí)體,收藏實(shí)體。本網(wǎng)上拍賣(mài)系統(tǒng)的E-R圖,具體如圖1-11所示。圖1-11E-R圖1.4.2數(shù)據(jù)表設(shè)計(jì)(1)本網(wǎng)上拍賣(mài)系統(tǒng)的用戶(hù)表,用于記錄廣大用戶(hù)的信息,如表1-1所示。表1-1用戶(hù)表(user)字段類(lèi)型備注約束user_idint(10)用戶(hù)編號(hào)主鍵,自增user_namevarchar(25)用戶(hù)名notnulluser_nicknamevarchar(50)用戶(hù)昵稱(chēng)notnulluser_passwordvarchar(50)用戶(hù)密碼notnulluser_realnamevarchar(20)真實(shí)姓名user_gendertinyint(1)用戶(hù)性別notnulluser_birthdayuser_addressuser_homeplaceuser_profile_picture_srcidentitydatechar(6)char(6)varchar(100)varchar(255)出生日期地址編碼居住地址用戶(hù)頭像身份證號(hào)notnullnotnullnotnull(2)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)商品類(lèi)別表,用于區(qū)分商品的種類(lèi),如表1-2所示。表1-2競(jìng)價(jià)商品類(lèi)別表(category)字段類(lèi)型備注約束category_idint(10)類(lèi)別編號(hào)主鍵,自增category_namecategory_image_srcvarchar(20)varchar(255)類(lèi)別名稱(chēng)類(lèi)別圖片notnullnotnull(3)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)地址表,用于用戶(hù)注冊(cè)時(shí)家庭住址的填寫(xiě)以及用戶(hù)競(jìng)拍商品成功后,發(fā)貨地址的填寫(xiě),如表1-3所示。表1-3地址表(address)字段類(lèi)型備注約束address_areaIdchar(6)地址編號(hào)主鍵,自增address_nameaddress_regionIdvarchar(50)char(6)地區(qū)名郵政編碼notnullnotnull(4)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)管理員表,用于儲(chǔ)存管理員的信息,如表1-4所示。表1-4管理員表(admin)字段類(lèi)型備注約束admin_idint(10)管理員編號(hào)主鍵,自增admin_nameadmin_nicknameadmin_passwordadmin_profile_picture_srcvarchar(25)varchar(50)varchar(50)varchar(255)用戶(hù)名昵稱(chēng)管理員密碼管理員頭像notnullnotnullnotnull(5)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)收藏表,用于記錄用戶(hù)收藏的感興趣的競(jìng)拍商品,如1-5所示。表1-5收藏表(collection)字段類(lèi)型備注約束idint(11)收藏編號(hào)主鍵,自增user_idproduct_idstatuscreate_dateint(11)int(11)varchar(255)varchar(50)用戶(hù)編號(hào)商品編號(hào)收藏狀態(tài)創(chuàng)建時(shí)間(6)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)商品表,用于儲(chǔ)存競(jìng)拍商品的信息,如表1-6所示。表1-6商品表(product)字段類(lèi)型備注約束product_idint(10)商品編號(hào)主鍵,自增product_nameproduct_titleproduct_priceproduct_sale_priceproduct_create_dateproduct_category_idproduct_isEnabledstart_dateend_datestepcurrent_priceuser_idpm_statusvarchar(100)varchar(100)decimal(10)decimal(10)datetimeint(10)tinyint(1)varchar(50)varchar(50)int(11)decimal(10)int(11)varchar(255)商品名稱(chēng)商品標(biāo)題商品價(jià)格商品售價(jià)創(chuàng)建時(shí)間商品分類(lèi)編號(hào)是否在售競(jìng)價(jià)開(kāi)始時(shí)間競(jìng)價(jià)結(jié)束時(shí)間價(jià)格增幅當(dāng)前價(jià)格最后加價(jià)人id是否停止拍賣(mài)notnullnotnullnotnullnotnull(7)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)商品圖片表,用于儲(chǔ)存競(jìng)拍商品的圖片信息,如表1-7所示。表1-7商品表(product_image)字段類(lèi)型備注約束productimage_idint(10)圖片編號(hào)主鍵,自增productimage_typeproductimage_srcproductimage_product_idtinyint(1)varchar(255)int(10)圖片類(lèi)型商品圖片所屬的商品編號(hào)notnullnotnullnotnull(8)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的一個(gè)訂單表,用于儲(chǔ)存競(jìng)拍商品的訂單信息,如表1-8所示。表1-8訂單表(product_order)字段類(lèi)型備注約束productorder_idint(10)訂單編號(hào)主鍵,自增productorder_codeproductorder_addressproductorder_detail_addressproductorder_postvarchar(30)char(6)varchar(255)char(6)商品訂單編號(hào)收貨地址詳細(xì)地址郵政編碼notnullnotnullnotnullproductorder_receivervarchar(20)收貨人姓名notnullproductorder_mobileproductorder_pay_dateproductorder_delivery_dateproductorder_confirm_datechar(11)datetimedatetimetinyint手機(jī)號(hào)碼成交時(shí)間發(fā)貨時(shí)間確認(rèn)時(shí)間notnullproductorder_statusint(10)訂單狀態(tài)notnull(9)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的訂單詳情表,用于儲(chǔ)存訂單詳情信息,是用戶(hù)在付款前對(duì)競(jìng)拍商品的確認(rèn),用戶(hù)還可以在訂單詳情中可對(duì)商家進(jìn)行留言,如表1-9所示。表1-9競(jìng)價(jià)商品訂單詳情表(product_order_item)字段類(lèi)型備注約束productorderitem_idint(10)訂單詳情編號(hào)主鍵,自增productorderitem_numbersmallint(5)訂單數(shù)量notnullproductorderitem_pricedecimal(10)訂單價(jià)格notnullproductorderitem_product_idint(10)商品編號(hào)notnullproductorderitem_order_idint(10)訂單編號(hào)productorderitem_user_idint(10)用戶(hù)編號(hào)notnullproductorderitem_userMessagecurrent_pricestatusvarchar(255)decimal(10)varchar(255)用戶(hù)留言當(dāng)前價(jià)格狀態(tài)(10)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的分類(lèi)屬性表,用于儲(chǔ)存分類(lèi)屬性信息,如表1-10所示。表1-10分類(lèi)屬性表(property)字段類(lèi)型備注約束property_idint(10)分類(lèi)屬性編號(hào)主鍵,自增property_namevarchar(25)屬性名稱(chēng)notnullproperty_category_idint(10)分類(lèi)編號(hào)notnull(11)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的商品屬性表,用于儲(chǔ)存商品屬性信息,如表1-11所示。表1-11商品屬性表(propertyvalue)字段類(lèi)型備注約束propertyvalue_idint(10)商品屬性編號(hào)主鍵,自增propertyvalue_valuevarchar(100)商品屬性notnullpropertyvalue_property_idpropertyvalue_product_idint(10)int(10)分類(lèi)屬性編號(hào)商品編號(hào)notnullnotnull(12)本網(wǎng)上拍賣(mài)系統(tǒng)設(shè)計(jì)的評(píng)價(jià)表,用于儲(chǔ)存用戶(hù)對(duì)競(jìng)拍商品的評(píng)價(jià),只有競(jìng)拍到商品且確認(rèn)收貨的用戶(hù)才能進(jìn)行評(píng)價(jià),因此表中設(shè)置了用戶(hù)編號(hào)。如表1-12所示。表1-12評(píng)價(jià)表(review)字段類(lèi)型備注約束review_idint(10)評(píng)價(jià)編號(hào)主鍵,自增review_contentmediumtext評(píng)價(jià)內(nèi)容notnullreview_createdatereview_user_idreview_product_idreview_orderItem_iddatetimeint(10)int(10)int(10)評(píng)價(jià)時(shí)間用戶(hù)編號(hào)商品編號(hào)訂單詳情編號(hào)notnullnotnullnotnull2網(wǎng)上拍賣(mài)系統(tǒng)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)2.1用戶(hù)信息模塊的設(shè)計(jì)與實(shí)現(xiàn)2.1.1管理員后臺(tái)商品管理(1)算法設(shè)計(jì)思路管理員在后臺(tái)系統(tǒng)可以隨時(shí)添加商品,成功添加商品后,商品會(huì)在前臺(tái)上架顯示,若添加失敗,則在后臺(tái)controller事務(wù)回滾;管理員也可以更新商品的信息,比如重新設(shè)置商品的價(jià)格增幅、競(jìng)價(jià)開(kāi)始時(shí)間和競(jìng)價(jià)結(jié)束時(shí)間,在后臺(tái)用List整合需要更新的產(chǎn)品屬性;管理員也可以按商品的名字和競(jìng)價(jià)商品的標(biāo)題來(lái)查詢(xún)商品信息;管理員按ID刪除商品圖片并返回最新結(jié)果。(2)實(shí)現(xiàn)代碼@RequestMapping(value="admin/product/{product_id}")publicStringupdateProduct(@RequestParamStringproduct_name){JSONObjectjsonObject=newJSONObject();Productproduct=newProduct().setProduct_id(product_id).setProduct_name(product_name).setProduct_sale_price(product_sale_price).setProduct_create_date(newDate());if(!StringUtils.isEmpty(userId)){product.setUserId(Integer.valueOf(userId));}if(!StringUtils.isEmpty(currentPrice)){product.setCurrentPrice(Double.valueOf(currentPrice));}product.setStartDate(startDate);product.setEndDate(endDate);booleanem=productService.update(product)}2.1.2管理員后臺(tái)商品分類(lèi)管理(1)算法設(shè)計(jì)思路管理員在后臺(tái)系統(tǒng)可以隨時(shí)添加商品分類(lèi)并且按照條件查詢(xún)分類(lèi)。使用ajax整合添加商品分類(lèi)后,分類(lèi)會(huì)在前臺(tái)主頁(yè)面用輪播圖顯示,若添加失敗,則在后臺(tái)controller事務(wù)回滾;管理員在后臺(tái)系統(tǒng)可以更新競(jìng)價(jià)商品的分類(lèi)信息,例如重新設(shè)置競(jìng)價(jià)商品分類(lèi)的類(lèi)別及名稱(chēng);管理員可以通過(guò)ajax上傳分類(lèi)文件圖片,獲取文件圖片的上傳路徑。(2)實(shí)現(xiàn)代碼@RequestMapping(value="admin/category",method=RequestMethod.POST")publicStringaddCategory(@RequestParamStringcategory_mname,){JSONObjectjsonObject=newJSONObject();Categorycategory=newCategory().setCategory_mname(category_mname).setCategory_uimage_src(category_uimage_src.substring(category_uimage_src.lastIndexOf("/")+1));booleanen=categoryService.add(category);if(en){intcategory_uid=lastIDService.selectLastID();jsonObject.put("category_uid",category_uid);}else{thrownewRuntimeException();}returnjsonObject.toJSONString();}2.1.3用戶(hù)注冊(cè)功能(1)算法設(shè)計(jì)思路用戶(hù)在網(wǎng)上拍賣(mài)管理系統(tǒng)的前臺(tái)填寫(xiě)好用戶(hù)名、登錄密碼的信息等等,并且選擇性別之后,點(diǎn)擊注冊(cè)按鈕,若確認(rèn)密碼和密碼不一致則不能注冊(cè),反之,向后臺(tái)發(fā)送請(qǐng)求,請(qǐng)求參數(shù)包含了用戶(hù)填好的個(gè)人信息,后臺(tái)對(duì)應(yīng)的controller方法接收頁(yè)面?zhèn)鬟f過(guò)來(lái)的參數(shù),利用方法判斷用戶(hù)填寫(xiě)的用戶(hù)名是否存在,若存在則在用戶(hù)名框右側(cè)進(jìn)行提醒;若不存在,調(diào)用service中添加會(huì)員用戶(hù)的方法,service調(diào)用mapper中的方法往數(shù)據(jù)庫(kù)中添加會(huì)員用戶(hù)信息,最后后臺(tái)將注冊(cè)成功信息轉(zhuǎn)發(fā)至登錄頁(yè)面,并提示用戶(hù)登錄。(2)實(shí)現(xiàn)代碼@RequestMapping(value="register/doRegister")publicStringregister(@RequestParam(value="user_mname")Stringuser_mname,@RequestParam(value="user_mnickname")Stringuser_mnickname,@RequestParam(value="user_mpassword")Stringuser_mpassword,)throwsParseException{Integercount=userService.getTotal(newUser().setUser_mname(user_mname));if(count>0){returnobject.toJSONString();}Useruser=newUser().setUser_mname(user_mname).setUser_mnickname(user_mnickname).setUser_mpassword(user_mpassword).setUser_mgender(Byte.valueOf(user_mgender)).setUser_maddress(newAddress().setAddress_areaId(user_maddress)).setUser_mhomeplace(newAddress().setAddress_areaId("140000"));user.setIdentity(identity);if(userService.add(user)){//注冊(cè)成功returnobject.toJSONString();}else{thrownewRuntimeException();}}2.2拍賣(mài)商品模塊的設(shè)計(jì)與實(shí)現(xiàn)(1)算法設(shè)計(jì)思路只有管理員才可以發(fā)布拍賣(mài)商品,在后臺(tái)系統(tǒng)網(wǎng)站上發(fā)布競(jìng)購(gòu)商品[14]。設(shè)置好競(jìng)拍起始價(jià)、時(shí)間限制、加價(jià)幅度等等,填寫(xiě)關(guān)于物品的信息(例如商品品牌、商品屬性、商品價(jià)格等等),數(shù)據(jù)傳遞到controller,整合商品預(yù)覽圖片、詳情圖片和產(chǎn)品屬性等等,若商品發(fā)布成功,則在后臺(tái)顯示新增商品的ID值,添加失敗,則事務(wù)回滾。(2)實(shí)現(xiàn)代碼@RequestMapping(value="admin/product")publicStringaddProduct(@RequestParamStringproduct_mname,){Productproduct=newProduct().setProduct_mname(product_mname).setProduct_mtitle(product_mtitle).setProduct_mcategory(newCategory().setCategory_mid(product_category_mid)).setProduct_create_date(newDate());product.setStartDate(startDate);product.setEndDate(endDate);product.setCurrentPrice(product_price);booleanem=productService.add(product);intproduct_id=lastIDService.selectLastID();JSONObjectobject=JSON.parseObject(propertyJson);Set<String>propertyIdSet=object.keySet();if(propertyIdSet.size()>0){List<PropertyValue>propertyValueList=newArrayList<>(5);for(Stringkey:propertyIdSet){Stringvalue=object.getString(key);PropertyValuepropertyValue=newPropertyValue().setPropertyValue_value(value).setPropertyValue_property(newProperty().setProperty_mid(Integer.valueOf(key))).setPropertyValue_product(newProduct().setProduct_mid(product_mid));propertyValueList.add(propertyValue);}em=propertyValueService.addList(propertyValueList);}("商品信息及其子信息添加成功!");jsonObject.put("product_mid",product_mid);returnok;}2.3競(jìng)購(gòu)商品模塊的設(shè)計(jì)與實(shí)現(xiàn)2.3.1用戶(hù)競(jìng)價(jià)功能(1)算法設(shè)計(jì)思路用戶(hù)可以根據(jù)自己的需求,在拍賣(mài)系統(tǒng)中搜索自己心儀想要的商品。搜索到用戶(hù)想要的商品,就可在登錄注冊(cè)之后對(duì)商品進(jìn)行競(jìng)拍,參加拍賣(mài)活動(dòng),然后判斷是否競(jìng)價(jià)成功。在后臺(tái)的service里,用for循環(huán)和和list獲取所有付款沒(méi)有結(jié)束的商品,并判斷當(dāng)前的商品是否競(jìng)價(jià)結(jié)束;競(jìng)價(jià)結(jié)束后,在訂單處理數(shù)據(jù),用if語(yǔ)句判斷商品是否符合發(fā)貨要求,將符合的改為“等待商家發(fā)貨”,不符合的改為“已退款”。(2)實(shí)現(xiàn)代碼@Override@Scheduled(cron="0/1****?")publicvoiddealPay(){//獲取所有付款沒(méi)結(jié)束的貨物L(fēng)ist<String>list=productOrderMapper.orderList();for(Stringid:list){//判斷當(dāng)前貨物是否結(jié)束Integerover=productOrderMductIsOver(id);if(over!=0){ProductOrderorder=productOrderMductOrder(id);if(ObjectUtils.isEmpty(order)){continue;}ProductOrderproductOrder=newProductOrder().setProductOrder_id(order.getProductOrder_id()).setProductOrder_status((byte)1);productOrderMapper.updateOne(productOrder);ProductOrderrefund=newProductOrder().setProductOrder_id(order.getProductOrder_id()).setProductOrder_status((byte)8);refund.setProduct_id(id);productOrderMapper.updateNotIn(refund);}}}2.3.2獲取商品最新價(jià)(1)算法設(shè)計(jì)思路當(dāng)?shù)谝粋€(gè)用戶(hù)參與競(jìng)拍,填寫(xiě)收貨信息,支付成功之后,商品價(jià)格數(shù)值傳到后臺(tái)controller,用get方法獲取產(chǎn)品ID和價(jià)格數(shù)據(jù),界面刷新后,競(jìng)拍商品的價(jià)格會(huì)根據(jù)后臺(tái)管理員設(shè)置的價(jià)格增幅自動(dòng)提升,更新成為當(dāng)前的最新價(jià)格。當(dāng)下一位用戶(hù)參與競(jìng)拍時(shí),則會(huì)以當(dāng)前最新價(jià)格參與競(jìng)拍,往復(fù)循環(huán),直到后臺(tái)管理員設(shè)置的競(jìng)拍時(shí)間結(jié)束。(2)實(shí)現(xiàn)代碼@RequestMapping(value="currentPrice/{pid}")publicStringdetailWhoBy(HttpSessionsession,@PathVariable("pid")Stringpid){if(userId!=null){Useruser=userService.get(Integer.parseInt(userId.toString()));}Integerproduct_mid=Integer.parseInt(pid);Stringproduct=productService.getCurrentPrice(product_mid);JSONObjectjsonObject=newJSONObject();jsonObject.put("curPrice",product);returnjsonObject.toJSONString();}2.3.3顯示參與競(jìng)拍的用戶(hù)(1)算法設(shè)計(jì)思路每當(dāng)一個(gè)用戶(hù)參與競(jìng)拍,支付成功之后,競(jìng)拍商品的詳情頁(yè)自動(dòng)更新,顯示出每一個(gè)用戶(hù)參與競(jìng)拍的昵稱(chēng)、競(jìng)拍時(shí)間以及競(jìng)購(gòu)價(jià)格,競(jìng)拍過(guò)程完全公開(kāi)透明,拒絕暗箱操作,使拍賣(mài)系統(tǒng)更加完善合理,用戶(hù)的競(jìng)購(gòu)體驗(yàn)升級(jí)。在后臺(tái)controller層下,用if語(yǔ)句判斷用戶(hù)是否付款,查詢(xún)支付成功的用戶(hù),將其競(jìng)購(gòu)信息顯示到前臺(tái)界面。(2)實(shí)現(xiàn)代碼@RequestMapping(value="whoBy/{pid}/{time}")publicStringwhoBy(HttpSessionsession,@PathVariable("pid")Stringpid,){Integerproduct_id=Integer.parseInt(pid);List<ProductOrder>productList=productService.whoBy(product_id,time);Stringbig=null;if(null!=productList&&0!=productList.size()){big=productList.get(0).getProductOrder_pay_date();for(inti=0;i<productList.size();i++){if(productList.get(i).getProductOrder_pay_date().compareTo(big)>0){big=productList.get(i).getProductOrder_pay_date();}}}if(null==big&&null!=time&&!"".equals(time)){big=time;}jsonObject.put("productOrder",JSONArray.parseArray(JSON.toJSONString(productList)));jsonObject.put("maxTime",big);returnjsonObject.toJSONString();}2.4支付模塊的設(shè)計(jì)與實(shí)現(xiàn)(1)算法設(shè)計(jì)思路用戶(hù)挑選好需要競(jìng)價(jià)的商品后便可以直接用虛擬支付功能結(jié)算提交訂單。該功能將模擬真實(shí)的支付環(huán)境,使支付業(yè)務(wù)更加完善,系統(tǒng)更加。支付成功后通過(guò)訂單項(xiàng)ID數(shù)組獲取訂單信息,檢查訂單項(xiàng)的合法建立,驗(yàn)證通過(guò)后用戶(hù)才能填寫(xiě)收貨地址,將收貨地址等相關(guān)信息存入Cookie中,獲取省份信息。填寫(xiě)個(gè)人信息之后,點(diǎn)擊“支付”按鈕將會(huì)跳轉(zhuǎn)到支付頁(yè)面,點(diǎn)擊確認(rèn)支付,即可支付成功。(2)實(shí)現(xiàn)代碼@RequestMapping(value="order/pay/{order_ucode}")publicStringgoToOrderPayPage(Map<String,Object>map,HttpSessionsession,@PathVariable("order_ucode")Stringorder_ucode){ObjectuserId=checkUser(session);order.setProductOrderItemList(productOrderItemService.getListByOrderId(order.getProductOrder_mid(),null));if(order.getProductOrderItemList().size()==1){ProductOrderItemproductOrderItem=order.getProductOrderItemList().get(0);Productproduct=productService.get(productOrderItem.getProductOrderItem_mproduct().getProduct_mid());product.setProduct_category(categoryService.get(product.getProduct_category().getCategory_mid()));productOrderItem.setProductOrderItem_mproduct(product);orderTotalPrice=product.getCurrentPrice()+product.getProduct_sale_price();}else{for(ProductOrderItemproductOrderItem:order.getProductOrderItemList()){if(!StringUtils.isEmpty(productOrderItem.getStatus())&&productOrderItem.getStatus().equals("0")){orderTotalPrice+=productOrderItem.getProductOrderItem_uprice();}}}orderTotalPrice=Double.parseDouble(String.format("%.2f",orderTotalPrice));map.put("orderTotalPrice",orderTotalPrice);return"fore/productPayPage";}2.5拍賣(mài)商品訂單模塊的設(shè)計(jì)與實(shí)現(xiàn)2.5.1管理員管理訂單功能(1)算法設(shè)計(jì)思路管理員可以在后臺(tái)查看到用戶(hù)的訂單,可以按照自動(dòng)生成的訂單號(hào)或用戶(hù)填寫(xiě)的郵政編碼查詢(xún)訂單信息,也可以根據(jù)訂單的不同狀態(tài)查詢(xún)訂單信息,該模塊還設(shè)置了ECharts統(tǒng)計(jì)圖,在后臺(tái)統(tǒng)計(jì)當(dāng)月的拍賣(mài)總數(shù)量;管理員可以在后臺(tái)給訂單狀態(tài)為“等待賣(mài)家發(fā)貨”的買(mǎi)家用戶(hù)發(fā)貨,即參與競(jìng)拍出價(jià)最高的買(mǎi)家;競(jìng)拍未成功的買(mǎi)家則顯示“交易關(guān)閉”或“競(jìng)價(jià)失敗,已退款”的字樣,且管理員無(wú)法為其發(fā)貨。(2)實(shí)現(xiàn)代碼@RequestMapping(value="admin/order/{order_mid}")publicStringupdateOrder(@PathVariable("order_mid")Stringorder_mid){ProductOrderproductOrder=newProductOrder().setProductOrder_delivery_date(newDate());booleanem=productOrderService.update(productOrder);if(em){jsonObject.put("success",true);}else{jsonObject.put("success",false);thrownewRuntimeException();}jsonObject.put("order_mid",order_mid);returnjsonObject.toJSONString();}@RequestMapping(value="admin/order/{index}/{count}")publicStringgetOrderBySearch(@PathVariableIntegercount){if(productOrder_status_array!=null&&(productOrder_status_array.length<=0||productOrder_status_array.length>=5)){productOrder_status_array=null;}if(productOrder_code!=null){productOrder_code="".equals(productOrder_code)?null:productOrder_code;}if(productOrder_post!=null){productOrder_post="".equals(productOrder_post)?null:productOrder_post;}ProductOrderproductOrder=newProductOrder().setProductOrder_code(productOrder_code).setProductOrder_post(productOrder_post);OrderUtilorderUtil=null;returnobject.toJSONString();}2.5.2用戶(hù)查看訂單功能(1)算法設(shè)計(jì)思路用戶(hù)轉(zhuǎn)到前臺(tái)可以清楚直觀的看見(jiàn)自己的訂單信息,包括競(jìng)價(jià)成功、交易成功和確認(rèn)收貨等狀態(tài)。用戶(hù)參與競(jìng)拍后,在商品最后的競(jìng)拍時(shí)間之內(nèi),顯示“已競(jìng)拍”;在競(jìng)拍活動(dòng)結(jié)束后,若用戶(hù)成功拍下商品,則在訂單業(yè)面顯示“等待賣(mài)家發(fā)貨”;若未拍下商品,則顯示“競(jìng)價(jià)失敗,已退款”;若商家已發(fā)貨,則會(huì)在用戶(hù)訂單頁(yè)面顯示“確認(rèn)收貨”按鈕;用戶(hù)確認(rèn)收貨后,則顯示“交易成功”的字樣。(2)實(shí)現(xiàn)代碼@RequestMapping(value="order/{index}/{count}")publicStringgoToPage(HttpSessionsession,Map<String,Object>map){if(userId!=null){//獲取會(huì)員用戶(hù)信息user=userService.get(Integer.parseInt(userId.toString()));}else{return"redirect:/login";}Byte[]status_array=null;if(status!=null){status_array=newByte[]{status};}PageUtilpageUtil=newPageUtil(index,count);("根據(jù)用戶(hù)ID:{}獲取訂單列表",userId);2.6拍賣(mài)商品收藏模塊的設(shè)計(jì)與實(shí)現(xiàn)(1)算法設(shè)計(jì)思路商品收藏功能。用戶(hù)碰見(jiàn)喜愛(ài)或者感興趣的競(jìng)拍商品即可進(jìn)行收藏與取消收藏操作。點(diǎn)擊收藏,將商品收藏成功,并且圖標(biāo)變成已收藏。點(diǎn)擊移除,則取消對(duì)該商品的收藏。點(diǎn)擊“☆”進(jìn)行收藏,通過(guò)controller判斷用戶(hù)是否收藏過(guò)該商品信息,若已收藏,將出現(xiàn)在收藏列表,若未收藏,則移除出列表;用戶(hù)添加收藏或取消收藏時(shí),頁(yè)面都會(huì)彈出對(duì)應(yīng)的提示信息,提高用戶(hù)的體驗(yàn)感。(2)實(shí)現(xiàn)代碼@RequestMapping("/add/{productId}")publicStringadd(HttpSessionsession){if(user!=null){List<Collect>list=collectionService.selectByProductId(user.getUser_id(),productId);if(list!=null&&!list.isEmpty()){return"0";}else{Collectclt=newCollect();clt.setUserId(user.getUser_id());clt.setProductId(productId);clt.setStatus("0");clt.setCreateDate(format.format(newDate()));collectionService.save(clt);}return"0";}else{return"-1";}@RequestMapping("/delete")publicStringupdate(Integerid){collectionService.update(id);return"0";}3系統(tǒng)測(cè)試3.1系統(tǒng)測(cè)試

溫馨提示

  • 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)論