2019谷粒商城新電商課件購(gòu)物車(chē)_第1頁(yè)
2019谷粒商城新電商課件購(gòu)物車(chē)_第2頁(yè)
2019谷粒商城新電商課件購(gòu)物車(chē)_第3頁(yè)
2019谷粒商城新電商課件購(gòu)物車(chē)_第4頁(yè)
2019谷粒商城新電商課件購(gòu)物車(chē)_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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)介

1、x 課程系列谷粒商城版本:V 1.0購(gòu)物車(chē)一、購(gòu)物車(chē)業(yè)務(wù)簡(jiǎn)介購(gòu)物車(chē)模塊要能過(guò)顧客所選的的商品,下所選商品,還要能隨時(shí)更新,當(dāng)用戶(hù)決定時(shí),用戶(hù)可以選擇決定的商品進(jìn)入結(jié)算頁(yè)面。功能要求:1)要持久化,保存到數(shù)據(jù)庫(kù)中。2)利用緩存提高性能。3)未登錄狀態(tài)也可以存入購(gòu)物車(chē),一旦用戶(hù)登錄要進(jìn)行合并操作。1Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)當(dāng)前的位置x 課程系列二 購(gòu)物車(chē)模塊搭建1gmall-cart-web2Java 大數(shù)據(jù) 前端python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列pom.xml3Java 大數(shù)據(jù)前端 python 人工智能資料,可:尚硅谷官網(wǎng)xmlns

2、:xsi= xsi:schemaLocation=4.0.0com.atguigu.gmallgmall-cart-web0.0.1-SNAPSHOTjargmall-cart-webDemo project for Spring Bootcom.atguigu.gmallgmall-parent1.0-SNAPSHOTcom.atguigu.gmallgmall-interface1.0-SNAPSHOTcom.atguigu.gmallgmall-web-util1.0-SNAPSHOTorg.springframework.bootspring-boot-maven-pluginproj

3、ectxmlns=x 課程系列pertieshost 文件nginx.confGmallCartWebApplication 提到跟 cart 目錄同級(jí)拷入靜態(tài)文件和頁(yè)面4Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)upstream server :8087;server listen 80;server_name ; location / proxy_pass;proxy_set_header X-forwarded-for $proxy_add_x_forwarded_for;# gmall

4、63 server.port=8087spring.thymeleaf.cache=falsespring.thymeleaf.mEGACYHTML5=cart-web tocol=zookeeper spring.dubbo.registry.address=63:2181 spring.dubbo.base-package=com.atguigu.gmall =dubbo spring.dubbo.consu

5、mer.timeout=100000 spring.dubbo.consumer.check=falsex 課程系列2gmall-cart-service5Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列pom.xml6Java 大數(shù)據(jù)前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列pertiesGmallCartServiceApplication 提到跟 cart 目錄同級(jí)三、功能添加入購(gòu)物車(chē)7Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列1功能:1、 根據(jù) skuId出商品詳情 sku

6、Info2、 把 skuInfo 信息對(duì)應(yīng)保存到購(gòu)物車(chē)3、 返回頁(yè)面2設(shè)計(jì)購(gòu)物車(chē)的數(shù)據(jù)結(jié)構(gòu)3實(shí)體 beanCartInfo8Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列4 Redis 中的結(jié)構(gòu)利用 Hash 結(jié)構(gòu):5 gmall-cart-service 模塊業(yè)務(wù)思路:11、 先檢查該用戶(hù)的購(gòu)物車(chē)?yán)锸欠褚呀?jīng)有該商品2、 如果有商品,只要把對(duì)應(yīng)商品的數(shù)量增加上去就可以,同時(shí)更新緩存3、 如果沒(méi)有該商品,則把對(duì)應(yīng)商品到購(gòu)物車(chē)中,同時(shí)緩存。2CartServiceImpl9Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列6Web 模塊業(yè)

7、務(wù)(gmall-cart-web)1思路:1、 獲得參數(shù):skuId 、num2、該用戶(hù)是否登錄,用 userId3、 如果登錄則調(diào)用10的 service 的業(yè)務(wù)Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列4、 如果未登錄,要把購(gòu)物車(chē)信息暫存到 cookie 中。5、 實(shí)現(xiàn)利用 cookie 保存購(gòu)物車(chē)的。2CartController7實(shí)現(xiàn)利用 cookie 保存購(gòu)物車(chē)的 CartCookieHandler思路:1和 service 模塊的類(lèi)似1、 先出來(lái)在 cookie 中的購(gòu)物車(chē),反序列化成列表。11Java 大數(shù)據(jù) 前端 python 人工智能資料,

8、可:尚硅谷官網(wǎng)x 課程系列2、 通過(guò)循環(huán)比較有沒(méi)有該商品3、 如果有,增加數(shù)量4、 如果沒(méi)有,增加商品5、 然后把列表反序列化,利用之前最好的 CookieUtil 保存到 cookie 中。2CartCookieHandler12Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列3 添加后的展示頁(yè)面succuess.html13Java 大數(shù)據(jù)前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列8 測(cè)試效果四、功能展示購(gòu)物車(chē)列表1 功能1、 展示購(gòu)物中的信息2、 如果用戶(hù)已登錄從緩存中取值,如果緩存沒(méi)有,加載數(shù)據(jù)庫(kù)。3、 如果用戶(hù)未登錄從 cookie 中

9、取值。2 CartServiceImpl:1、redis 中取出來(lái)要進(jìn)行反序列化2、redis 的 hash 結(jié)構(gòu)是無(wú)序的,要進(jìn)行排序(可以用時(shí)間戳或者主鍵 id,倒序排序)3、如果 redis 中沒(méi)有要從數(shù)據(jù)庫(kù)中,要連帶把最新的價(jià)格也取出來(lái),默認(rèn)要顯示最新價(jià)格而不是當(dāng)時(shí)放入購(gòu)物車(chē)的價(jià)格,如果考慮用戶(hù)體驗(yàn)可以把兩者的差價(jià)提示給用戶(hù)。4、加載入緩存時(shí)一定要設(shè)定失效時(shí)間,保證和用戶(hù)信息的失效時(shí)間一致即可。14Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列CartInfoMapper.xml15Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程

10、系列CartInfoMapper.java因?yàn)橐?mapper.xml 所以perties 中要加入3 CartController16Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列cartCookieHandler 中 getCartList 在前面的做添加購(gòu)物車(chē)時(shí)已完成。4顯示購(gòu)物車(chē)列表頁(yè)面17Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列5 測(cè)試效果五、功能-合并購(gòu)物車(chē)由于加入購(gòu)物車(chē)時(shí),用戶(hù)可能登錄和未登錄兩種情況,登錄前在 cookie 中保存了一部分購(gòu)物車(chē)信息,如果用戶(hù)登錄了,那么對(duì)應(yīng)的要

11、把 cookie 中的購(gòu)物車(chē)合并到數(shù)據(jù)庫(kù)中,并且刷新緩存。1CartServiceImpl思路:用數(shù)據(jù)庫(kù)中的購(gòu)物車(chē)列表與傳遞過(guò)來(lái)的 cookie 里的購(gòu)物車(chē)列表循環(huán)匹配。18Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列能匹配上的數(shù)量相加匹配不上的到數(shù)據(jù)庫(kù)中。最后重新加載緩存2CartController增加如果用戶(hù)是登錄狀態(tài)的,但是 cookie 里卻還有購(gòu)物車(chē),說(shuō)明需要把 cookie 中的購(gòu)物車(chē)合并進(jìn)來(lái),同時(shí)把 cookie 中的清空。19Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列在 CartCookieHandler

12、中加入在 web-util 的 CookieUtil 中增加六、選中狀態(tài)的變更用戶(hù)每次購(gòu)物車(chē)的多選框,都要把當(dāng)前狀態(tài)保存起來(lái)。由于可能會(huì)涉及更頻繁的操作,所以這個(gè)狀態(tài)不必到數(shù)據(jù)庫(kù)中。保留在緩存狀態(tài)即可。1CartServiceImpl把對(duì)應(yīng) skuId 的購(gòu)物車(chē)的信息從 redis 中取出來(lái),反序列化,修改 isChecked 標(biāo)志。再保存回 redis 中。同時(shí)保存另一個(gè) redis 的 key 專(zhuān)門(mén)用來(lái)用戶(hù)選中的商品,方便結(jié)算頁(yè)面使用。20Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列合并的時(shí)候要把未登錄前 cookie 里的附上。21Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列2CartController同樣這里要區(qū)分,用戶(hù)登錄和未登錄狀態(tài)。如果登錄,修改緩存中的數(shù)據(jù),如果未登錄,修改 cookie 中的數(shù)據(jù)。3CartCookieHandler(修改 cookie 數(shù)據(jù))從 cookie 的購(gòu)物車(chē)列表中依次匹配 skuId,匹配中則設(shè)入 isChecked 標(biāo)志。22Java 大數(shù)據(jù) 前端 python 人工智能資料,可:尚硅谷官網(wǎng)x 課程系列4頁(yè)面動(dòng)作的 js注意 jquery1.6 版本以后要用 prop(“chec

溫馨提示

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