1. 程式人生 > >品優購專案記錄:day19

品優購專案記錄:day19

2018年08月19日 12:00:36 GodBbb 閱讀數:176更多
個人分類: 個人成長 實戰專案 品優購
今日目標:

(1)理解秒殺實現思路

(2)實現秒殺頻道首頁功能

(3)實現秒殺商品詳細頁功能

(4)實現秒殺下單功能

(5)實現秒殺支付功能

目錄

1、秒殺實現思路

1.1 需求分析

1.2 實現思路

1.3 準備工作

2、秒殺頻道首頁

2.1 需求分析

2.2 後端程式碼

2.3 前端程式碼

2.4 引入快取

3、秒殺商品詳細頁

3.1 需求分析

3.2 顯示商品詳細頁資料

3.3 秒殺倒計時,$interval服務

4、秒殺商品下單

4.1 需求分析

4.2 後端程式碼

4.3 前端程式碼

5、秒殺支付

5.1 需求分析

5.2 生成支付二維碼

5.3 支付成功,儲存訂單

5.4 訂單超時處理

1、秒殺實現思路

1.1 需求分析
所謂“秒殺”,就是網路賣家釋出一些超低價格的商品,所有買家在同一時間網上搶購的一種銷售方式。通俗一點講就是網路商家為促銷等目的組織的網上限時搶購活動。由於商品價格低廉,往往一上架就被搶購一空,有時只用一秒鐘。

秒殺商品通常有兩種限制:庫存限制、時間限制。

詳細:

商家提交秒殺商品申請,錄入秒殺商品資料,主要包括:商品標題、原價、秒殺價、商品圖片、介紹等資訊
運營商稽核秒殺申請
秒殺頻道首頁列出秒殺商品(進行中的)點選秒殺商品圖片跳轉到秒殺商品詳細頁。
商品詳細頁顯示秒殺商品資訊,點選立即搶購實現秒殺下單,下單時扣減庫存。當庫存為0或不在活動期範圍內時無法秒殺。
秒殺下單成功,直接跳轉到支付頁面(微信掃碼),支付成功,跳轉到成功頁,填寫收貨地址、電話、收件人等資訊,完成訂單。
當用戶秒殺下單5分鐘內未支付,取消預訂單,呼叫微信支付的關閉訂單介面,恢復庫存。

1.2 實現思路
秒殺技術實現核心思想是運用快取減少資料庫瞬間的訪問壓力!讀取商品詳細資訊時運用快取,當用戶點選搶購時減少快取中的庫存數量,當庫存數為0時或活動期結束時,同步到資料庫。 產生的秒殺預訂單也不會立刻寫到資料庫中,而是先寫到快取,當用戶付款成功後再寫入資料庫。

1.3 準備工作
(1)建立秒殺服務介面模組 pinyougou-seckill-interface ,依賴pinyougou-pojo

(2)建立秒殺服務模組pinyougou-seckill-service (war),pom.xml引入依賴參見其它服務工程,依賴 pinyougou-seckill-interface , Tomcat7外掛執行埠為9009。新增web.xml、 spring 配置檔案參見其它服務工程, dubbox的埠為20889。

(3)建立秒殺頻道web模組 pinyougou-seckill-web(war) pom.xml引入依賴參見cart_web工程(需新增單點登入和許可權控制),依賴 pinyougou-seckill-interface ,Tomcat7外掛執行埠為9109 新增web.xml、 spring 配置檔案參見cart_web工程。

將秒殺相關的頁面及資源拷貝到此模組。新增angularJS.

2、秒殺頻道首頁

2.1 需求分析
秒殺頻道首頁,顯示正在秒殺的商品(已經開始,未結束的商品)