品優購專案記錄: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 需求分析
秒殺頻道首頁,顯示正在秒殺的商品(已經開始,未結束的商品)