999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MVC的母嬰用品租賃系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2023-05-30 06:27:37劉媛媛
電腦知識與技術(shù) 2023年1期

劉媛媛

摘要:該文根據(jù)某移動母嬰電商公司的實(shí)際需求,提出了一套適用于母嬰用品購買租賃的全新設(shè)計(jì)方案。使用SSM框架進(jìn)行系統(tǒng)構(gòu)架搭建,設(shè)計(jì)出一套基于MVC模型的母嬰用品購買租賃系統(tǒng)。此外,系統(tǒng)通過引入推薦算法,改善了用戶的體驗(yàn)度,為用戶提供了一個便捷的母嬰用品租賃平臺。

關(guān)鍵詞:推薦算法;租賃;MVC;SSM

中圖分類號:TP311? ? 文獻(xiàn)標(biāo)識碼:A

文章編號:1009-3044(2023)01-0053-05

開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID) :

1 緒論

2021年8月,全面三孩生育政策正式通過,意味著中國三孩政策全面開放[1]。這一重大的政策變動將對母嬰消費(fèi)市場產(chǎn)生了巨大的影響[2]。為了提倡共享經(jīng)濟(jì),有效節(jié)約資源,針對兒童玩具、嬰兒推車等時效性強(qiáng)的消費(fèi)品,移動租賃平臺給消費(fèi)者提供了一個租賃的渠道,解決了母嬰用品價格高、時效性短、更新快等問題[3]。本文將基于上述系統(tǒng)中租賃流程復(fù)雜,用戶體驗(yàn)度差等問題,設(shè)計(jì)出一套租賃流程簡單,使用方便,用戶體驗(yàn)度好的移動母嬰租賃App。系統(tǒng)中用推薦算法實(shí)現(xiàn)了在不同的商城基于銷量,評論數(shù),好評數(shù),以及搜索數(shù)的排名推薦,基于用戶的協(xié)同過濾推薦。

2 系統(tǒng)的需求分析

2.1 功能性需求分析

管理端分為5個角色:系統(tǒng)管理員、訂單管理員、商品管理員、收益管理員、推廣管理員,不同的用戶擁有不同的權(quán)限。移動端分為3個角色:游客、普通用戶和會員用戶。移動客戶端游客有注冊和瀏覽商品的權(quán)限,普通用戶可以登錄、購買商品、租賃商品、修改個人信息以及修改購物車的權(quán)限,會員用戶和普通用戶權(quán)限相同,但會員可以免押金、免租金、免運(yùn)費(fèi)進(jìn)行商品租賃。商品查詢模塊是移動母嬰購物租賃平臺的重要組成部分。同一時間段內(nèi),該功能使用的并發(fā)量大,設(shè)計(jì)商品搜索按租賃購買類別、關(guān)鍵字、品牌、商品分類、價格范圍查詢,并且可以按熱度、價格、上架時間排序,以滿足用戶多樣的需求。

2.2 數(shù)據(jù)流圖

由圖1所示,游客注冊信息后返回注冊結(jié)果,注冊信息保存在用戶信息表,也可游客身份瀏覽商品,商品信息保存在商品表中,注冊后可進(jìn)行購買和租賃,可以查看訂單信息,訂單信息保存在訂單表中,同時,管理員可以對用戶信息表,商品信息表以及訂單信息表進(jìn)行CRUD操作。用戶登錄移動端可以瀏覽查詢商品,商品信息從商品表中獲得,選擇商品下單后,訂單信息記錄在訂單信息表中,同時顯示用戶訂單信息。

3 系統(tǒng)的總體設(shè)計(jì)

3.1 功能模塊設(shè)計(jì)

根據(jù)用戶的功能需求,基于MVC模型的母嬰租賃平臺客戶端分為系統(tǒng)主界面模塊、購物車模塊、訂單模塊、商品查詢模塊、會員功能模塊和個人信息模塊六個模塊。其中每個大模塊又包含若干個小模塊。平臺功能結(jié)構(gòu)如圖2所示。

主界面模塊主要展示用戶進(jìn)入手機(jī)App首頁所顯示的內(nèi)容,有新品上架、商品分類、商城快訊以及促銷打折,每個小模塊點(diǎn)擊后可進(jìn)入相應(yīng)的詳情頁面;商品查詢模塊可以對商城中的商品進(jìn)行查詢;會員功能模塊主要有會員充值、修改以及查看功能;訂單管理模塊主要功能是查看訂單,申請退租、續(xù)租、撤銷及評價相應(yīng)的訂單。購物車模塊可以對購物車中商品進(jìn)行編輯;個人信息模塊主要功能是查看用戶個人信息,提交反饋信息等。

3.2 數(shù)據(jù)庫設(shè)計(jì)

本系統(tǒng)采用MySQL數(shù)據(jù)庫,根據(jù)設(shè)計(jì)生成的部分關(guān)系模型如下:

1) 用戶管理模塊

用戶{用戶ID、手機(jī)號、微信號、QQ號、密碼、昵稱、性別、頭像、角色I(xiàn)D、賬戶余額、邀請碼、是否會員、狀態(tài)、創(chuàng)建時間}

角色{角色I(xiàn)D、角色名、權(quán)限ID、狀態(tài)、創(chuàng)建時間}

權(quán)限{權(quán)限ID、權(quán)限名、狀態(tài)、創(chuàng)建時間}

2) 商品管理模塊

商品{商品ID、商品名、租買類型、類別ID、租期、主圖、描述、收藏?cái)?shù)、品牌ID、狀態(tài)、創(chuàng)建時間}

商品詳情{商品詳情ID、商品ID、商品規(guī)格ID、租金、押金、原價、售價、庫存、創(chuàng)建時間}

品牌{品牌ID、品牌名、描述、品牌圖片、創(chuàng)建時間}

商品類別{類別ID、類別名、父級類別、創(chuàng)建時間}

商品規(guī)格{規(guī)格ID、規(guī)格名、創(chuàng)建時間}

3) 訂單管理模塊

訂單{訂單ID、訂單編號、訂單類型、支付時間、訂單總額、配送方式、收貨人、收貨地址、聯(lián)系方式、快遞公司、快遞單號、運(yùn)費(fèi)、備注信息、優(yōu)惠券編號、預(yù)約時間、訂單狀態(tài)、創(chuàng)建時間}

訂單詳情{訂單詳情ID、訂單ID、商品ID、商品類型、租期、數(shù)量、總租金、總價格、押金、商品規(guī)格ID、租期開始時間、結(jié)束時間、到期天數(shù)、狀態(tài)、創(chuàng)建時間}

4) 活動管理模塊

活動{活動ID、活動名、類型、圖片、描述、狀態(tài)、創(chuàng)建時間}

3.3 系統(tǒng)架構(gòu)設(shè)計(jì)

本文以SSM框架進(jìn)行構(gòu)架設(shè)計(jì)。由圖3所示,通過PC端瀏覽器發(fā)出請求后將數(shù)據(jù)提交處理,業(yè)務(wù)層根據(jù)業(yè)務(wù)邏輯處理數(shù)據(jù)。業(yè)務(wù)層在處理數(shù)據(jù)時如果需要持久層提供數(shù)據(jù)支持則向持久層發(fā)出數(shù)據(jù)請求,持久層把業(yè)務(wù)層需要的數(shù)據(jù)返回,最后業(yè)務(wù)層處理數(shù)據(jù)將結(jié)果返回到表示層。數(shù)據(jù)結(jié)果由表示層來展示。

4 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

4.1 整體框架實(shí)現(xiàn)

本系統(tǒng)選擇使用Tomcat+SpringMVC+Spring+MyBatis的技術(shù)路線,數(shù)據(jù)庫采用MySQL。安裝Java開發(fā)環(huán)境JDK,開發(fā)工具IntelliJ IDEA,項(xiàng)目管理工具M(jìn)aven。在IntelliJ IDEA中構(gòu)建Maven項(xiàng)目,配置文件pom.xml中配置本系統(tǒng)構(gòu)架所需依賴包。系統(tǒng)采用Nginx+Tomcat+Redis的構(gòu)架。同時使用DRUID連接池,結(jié)合了C3PO、DBCP、PROXOOL等DataBase池的優(yōu)點(diǎn),加入了可靠的日志監(jiān)控,可以良好地監(jiān)控SQL語句的執(zhí)行情況[4]。

4.2 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)

4.2.1 商品展示模塊的設(shè)計(jì)與實(shí)現(xiàn)

用戶進(jìn)入商品展示頁面,可以進(jìn)行相應(yīng)的查詢,按關(guān)鍵字、種類、價格熱度等條件查詢,選擇用戶需要的商品。若選購,添加到購物車。若不選購,結(jié)束退出。商品展示頁面顯示商品的主圖、商品名稱、商品的租金、押金等信息,其次,在商品展示頁面提供商品的搜索功能,可以根據(jù)分類、價格、熱點(diǎn)、年齡等的條件搜索。點(diǎn)擊某個商品,進(jìn)入商品詳情頁。本文對移動母嬰租賃系統(tǒng)移動端的功能定義在com.zlzq.pro.controller.webservice包中,后端管理系統(tǒng)的功能定義在com.zlzq.pro.controller包中,利用Map傳輸必傳和可傳參數(shù),必傳參數(shù)有type,值為0和1,分別代表銷售和租賃的商品類型。

如果必傳參數(shù)傳輸錯誤,則顯示Constant類中相應(yīng)的錯誤提示。該接口不僅可以顯示全部商品數(shù)據(jù),還可以顯示商品查詢數(shù)據(jù),例如,當(dāng)需要進(jìn)行關(guān)鍵字查詢商品列表時,參數(shù)中多傳一個name參數(shù),在SQL語句查詢中可以使用like關(guān)鍵字進(jìn)行商品名稱模糊搜索。若搜索的關(guān)鍵字是紙尿褲,則具體SQL語句實(shí)例如下。

select * from product where name like ‘%紙尿褲%

但如果用戶搜索的關(guān)鍵字為“奶粉 白金裝”,字符串中間為空格,搜索要求為商品名中不僅含有奶粉關(guān)鍵字還要含有白金裝關(guān)鍵字,針對這個問題,本文把傳輸?shù)膎ame字段按空格拆分成關(guān)鍵字?jǐn)?shù)組namelist再進(jìn)行SQL語句拼接。具體部分SQL語句片段如下。

name like ‘%${item}%

and name like ‘%${item}%

此外,由于商品在數(shù)據(jù)表中的位置固定,故每次打開全部商品顯示數(shù)據(jù)順序一致,則會使一些商品的展現(xiàn)率不高,給用戶的體驗(yàn)度較差,對于這個問題,解決方案為移動端每次進(jìn)入商品列表時傳輸一個隨機(jī)數(shù)num,下拉分頁時,隨機(jī)數(shù)不變,但重新進(jìn)入商品列表中,則生成新的隨機(jī)數(shù),以該隨機(jī)數(shù)為種子,使用三角函數(shù)和商品主鍵id進(jìn)行排序,具體實(shí)現(xiàn)代碼如下:

order by cos(#{num}+id)

這樣可以實(shí)現(xiàn)每次進(jìn)入商品列表可以隨機(jī)顯示商品的功能。若按照商品種類、品牌、月齡進(jìn)行搜索,采用MyBatis框架后,只用一個條件查詢方法,根據(jù)不同的查詢條件參數(shù)MyBatis組合條件查詢的核心代碼如下:

status=0

and brandid = #{brandId}

and typeid = #{typeId}

and range = #{range}

通過上述代碼可以完成商品列表展示以及商品的搜索功能,實(shí)現(xiàn)效果圖如圖4所示。

4.2.2 購物車模塊的設(shè)計(jì)與實(shí)現(xiàn)

用戶進(jìn)入購物車后,可以查看該用戶購物車中存放的商品,并且可以進(jìn)行相應(yīng)的CRUD操作,并判斷是否確認(rèn)下單,確認(rèn)后可以下單,若不確認(rèn),可以繼續(xù)查看購物車并對其做相應(yīng)的更改。購物車中的信息采用持久化存儲,基于數(shù)據(jù)庫MySQL進(jìn)行數(shù)據(jù)存儲,相關(guān)的業(yè)務(wù)邏輯在Controller中進(jìn)行處理。

用戶首先把所需要的商品加入購物車,查看購物車界面時,需要驗(yàn)證用戶是否進(jìn)行登錄,登錄信息在移動端本地存儲,若登錄成功,查看添加到購物車的商品信息,并且查看商品規(guī)格信息,包括商品的庫存、現(xiàn)價、租金等信息。用戶可以對購物車商品信息進(jìn)行修改,最終把修改后的購物車信息存儲到數(shù)據(jù)庫相關(guān)表中。

為了防止超賣問題存在,在修改購物車信息時,應(yīng)反復(fù)校驗(yàn)庫存是否不足,尤其在修改購車車中商品的購買或租賃數(shù)量時。并且在最后下單時再校驗(yàn)一次商品是否下架,防止在用戶操作購物車的期間后臺管理員下架相關(guān)商品引發(fā)訂單錯誤。

購物車頁面每種商品分為租賃和銷售兩種,租賃的商品除租金之外還要額外支付押金。對于購物車中的商品用戶可以進(jìn)行修改數(shù)量、庫存,刪除購物車中的商品等操作。對于銷售和租賃的商品,用戶可以合并下單或者分別下單,刷新購物車頁面,對于商品庫存為0的有相應(yīng)提示,界面強(qiáng)制不可以下單該商品。

4.2.3 訂單管理模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

訂單管理模塊是移動母嬰購物租賃平臺最重要的模塊,游客不能進(jìn)行商品購買租賃下單,普通用戶和會員用戶可以進(jìn)行相應(yīng)的訂單管理。訂單管理模塊分為查看、退租、續(xù)租、撤銷訂單模塊。下面我們具體分析用戶下單流程。若用戶在使用移動客戶端進(jìn)行商品租賃的時,有普通用戶租賃、會員租賃、商品退租、商品續(xù)租以及押金返還等操作,在商品進(jìn)行租賃時,下單時會判斷是否為會員租賃,會員在會員有效期內(nèi)免押金、免租金、免運(yùn)費(fèi)進(jìn)行租賃商品,下單時如果是會員,則修改訂單總額后進(jìn)行下單支付。支付成功后平臺進(jìn)行統(tǒng)一發(fā)貨,待用戶確認(rèn)收到貨后進(jìn)行使用,到商品租賃期滿,用戶可以自行選擇是否續(xù)租,不續(xù)租的商品進(jìn)入退租環(huán)節(jié),由用戶發(fā)貨平臺收貨,定損后進(jìn)行押金退回,用戶可選擇評價后結(jié)束。待續(xù)租的商品選擇租期后下單,重復(fù)流程后結(jié)束。

4.3 推薦算法的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

本系統(tǒng)在完成業(yè)務(wù)功能的基礎(chǔ)上,加上推薦功能,能通過推薦來挖掘用戶的商品瀏覽、購買、搜索、評分、收藏等行為,分析用戶喜好,利用推薦算法加以推薦。推薦算法的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)包括:基于銷量、評論數(shù)、好評數(shù)、搜索數(shù)的排名推薦;基于用戶的協(xié)同過濾推薦;基于購物車商品的協(xié)同過濾推薦。

4.3.1 基于評論數(shù)、好評數(shù)、銷量、搜索數(shù)推薦的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

根據(jù)評論數(shù)、好評數(shù)、銷量、搜索數(shù)等排名推薦的具體設(shè)計(jì),是用戶作為訪客瀏覽商城時,按照評論數(shù)、好評數(shù)、銷量、搜索數(shù)四個維度,將商品推薦從數(shù)量從多到少的先后次序,為用戶進(jìn)行排名,如圖5所示。

按照商品的評論數(shù)、好評數(shù)、銷量、搜索次數(shù)從大到小倒序排列,商品的信息按照排序返回,放入Map中,在移動端展示推薦中排名前面的商品。SQL語句如下:

1) 按評論數(shù)排序:

String sql=”select * from product order by discussnums+0 desc”

2) 按好評數(shù)排序:

String sql=”select * from product order by wellcomments+0 desc”

3) 按銷量排序:

String sql=”select * from product order by salenums+0 desc”

4) 按搜索數(shù)排序:

String sql=”select * from product order by searchnums+0 desc”

當(dāng)移動端母嬰購物租賃系統(tǒng)訪問量增加,則商品的評論數(shù)、好評數(shù)、銷量、搜索量實(shí)時變化,搜索排序結(jié)果實(shí)時更新,用戶每次刷新頁面時推薦商品結(jié)果不同。

4.3.2 基于用戶協(xié)同過濾推薦的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

當(dāng)用戶登錄后,從users表格中取出logintimes字段判斷登入次數(shù),若登錄次數(shù)大于100次,就會過濾給該用戶基于用戶協(xié)同的商品推薦。詳細(xì)設(shè)計(jì)基于用戶協(xié)同過濾推薦是找出與登錄用戶最相似興趣的K位用戶,把K位用戶喜歡的商品和登錄用戶沒有喜歡過的商品拿出來做推薦展示。流程如圖6所示。

首先取出登錄者在user表中的用戶偏好商品love_goods,該字段為字符串,用戶偏好的商品id用逗號隔開,對該字符串使用split方法分割成字符串?dāng)?shù)組String[] A,該數(shù)組中存放用戶偏好商品id。取出所有的非登錄者在user表中的用戶偏好商品love_goods,使用split方法分割成字符串?dāng)?shù)組String[] B,統(tǒng)計(jì)每個非登錄者偏好商品的數(shù)組String[] B與登錄者偏好數(shù)組String[] A的共同偏好商品的數(shù)量[5]。然后使用共同偏好商品的數(shù)量,登錄者的偏好商品的數(shù)量,非登錄者的喜好商品的數(shù)量,求出非登錄者與登錄者的余弦相似度(streamsubline) ,詳見公式(1)。

對登錄者與非登錄者的余弦相似度進(jìn)行排序,調(diào)用寫好的sort方法,從大到小排出。將與登錄者相似度較大的用戶從大到小依次排出。非登錄者從大到小選擇前n個相似度,作為最接近登錄者利益的用戶,排序前3位的相似度均為非0的則取3,反之則取非0的。登錄用戶u對商品i的興趣程度,通過感興趣程度計(jì)算,詳見公式(2)。

商品篩選后,從user表中提取n個用戶的最接近u用戶興趣的商品,存入Vector對象中,然后從Vector對象中逐一提取,判斷是否存在于登錄者的偏好商品中,若不存在,保留Vector對象中該條數(shù)據(jù),若存在,則刪除該條數(shù)據(jù)。最終返回過濾后的推薦商品Vector,移動端遍歷Vector對象則顯示基于用戶協(xié)同過濾的商品推薦數(shù)據(jù)。

5 總結(jié)

本文主要完成了母嬰租賃系統(tǒng)的管理端以及客戶端的設(shè)計(jì)與實(shí)現(xiàn)。本系統(tǒng)給后期模塊的拓展留下了充足的空間,當(dāng)業(yè)務(wù)量發(fā)展到一定階段,由于強(qiáng)度大,可以分布式部署各個模塊,從而降低單臺服務(wù)器的壓力。

參考文獻(xiàn):

[1] 侯翠.“營改增”對A公司融資租賃業(yè)務(wù)的影響與對策分析[D].沈陽:遼寧大學(xué),2015.

[2] 胡先智.融資租賃業(yè)務(wù)在中國的開展與未來——淺析煤炭設(shè)備行業(yè)的融資租賃業(yè)務(wù)[D].上海:上海交通大學(xué),2014.

[3] 郭瑞.互聯(lián)網(wǎng)融資租賃業(yè)務(wù)模式發(fā)展研究[D].北京:中國社會科學(xué)院研究生院,2014:65-69.

[4] 周瑩瑩.我國商業(yè)銀行融資租賃業(yè)務(wù)的風(fēng)險管理研究[D].北京:北京交通大學(xué),2012.

[5] 曹元杰.發(fā)展我國融資租賃業(yè)務(wù)的思考[J].內(nèi)蒙古金融研究,2011(5):29-31.

【通聯(lián)編輯:朱寶貴】

主站蜘蛛池模板: 国模视频一区二区| 精品少妇人妻av无码久久 | 欧美日韩va| 国产精品分类视频分类一区| 午夜毛片免费看| 无遮挡国产高潮视频免费观看 | 国产一二三区在线| 亚洲中文久久精品无玛| 亚洲精品成人7777在线观看| 欧美日韩另类在线| 青青操国产视频| 亚洲日韩精品伊甸| 欧美色视频网站| 一级片一区| 这里只有精品在线播放| 久久综合亚洲鲁鲁九月天| 亚洲va欧美va国产综合下载| 天天综合色天天综合网| 久久婷婷五月综合97色| 日韩精品久久久久久久电影蜜臀| 在线精品亚洲一区二区古装| 波多野结衣中文字幕久久| 成人精品亚洲| 久久精品丝袜| 国产一区二区在线视频观看| 怡春院欧美一区二区三区免费| 三上悠亚精品二区在线观看| 中国国产A一级毛片| 色婷婷综合在线| 国产欧美高清| 成人午夜福利视频| 毛片网站在线播放| 18禁色诱爆乳网站| 大陆精大陆国产国语精品1024| 国产精品无码影视久久久久久久| 欧美日韩第二页| 老司机久久精品视频| 亚洲人成人伊人成综合网无码| 国产小视频a在线观看| 国产h视频在线观看视频| 精品国产乱码久久久久久一区二区| 国产日韩精品一区在线不卡 | 久久国产成人精品国产成人亚洲| 一级毛片视频免费| 夜色爽爽影院18禁妓女影院| 亚洲精品免费网站| 亚洲综合第一页| 国产成人精品一区二区秒拍1o| 狠狠亚洲五月天| 国产精品成人啪精品视频| 久久综合激情网| 狠狠色噜噜狠狠狠狠奇米777| 91精品最新国内在线播放| 99久久亚洲综合精品TS| 亚洲三级视频在线观看| 欧美黄色a| 亚洲精品欧美日本中文字幕| 午夜欧美理论2019理论| 久久天天躁狠狠躁夜夜2020一| 国产在线视频二区| 永久成人无码激情视频免费| 久久免费精品琪琪| 欧美综合一区二区三区| 亚洲美女久久| 日本精品αv中文字幕| 全午夜免费一级毛片| 亚洲成人黄色网址| 亚洲成A人V欧美综合天堂| 亚洲人成在线免费观看| 欧美成人一级| 国产美女91呻吟求| 少妇人妻无码首页| 成人亚洲国产| 亚洲中文字幕23页在线| 亚洲—日韩aV在线| 久久精品国产一区二区小说| 999国内精品久久免费视频| 国产色爱av资源综合区| 成人亚洲国产| 色播五月婷婷| 亚洲中文字幕无码爆乳| 国产18在线播放|