微服務專案第24天:商品新增業務(二)

今天是劉小愛自學Java的第154天。

感謝你的觀看,謝謝你。

微服務專案第24天:商品新增業務(二)

學習計劃安排如下:

繼續接著昨天的學習,因為該業務實現較為複雜,還要花一天的時間才能搞定。

一、新增商品資料

關於新增資料一共是劃分成了4塊內容:

①基本資訊

微服務專案第24天:商品新增業務(二)

這個也就是昨天實現了的內容。

當然,上述資料都是我自己瞎填的,正式專案的話就填和產品相關的資料就好。

其中商品分類和該分類下所屬的品牌都是從資料庫中查詢到的。

而商品標題、商品賣點和包裝清單是我們自己要填的資料,也就是要新增到資料庫中的。

基本資訊這塊的資料算是填寫完成了,後面還有三塊資料內容。

②商品描述

微服務專案第24天:商品新增業務(二)

這裡是一個富文字編輯器,填寫的也就是商品的賣點,這個在電商網站中就太常見了。

基本就是誇商品很厲害很好,還有影片可以播放,以及各種圖片接受什麼的。

這個商品比如說手機,無論是買低配置的還是買高配的,關於描述一般都是配置最高的那個,也就是這裡面需要填的內容。

此處使用的富文字編輯器是Vue-Quill-Editor,其在GitHub上就可以完成下載。

至於具體如何使用?

因為其牽扯到前端程式碼的編寫,就不展開講述了,我們主要以後臺數據為主。

③規格引數

如果我們直接點進去是沒有顯示資料的,具體原因看網頁請求:

微服務專案第24天:商品新增業務(二)

昨天講解和實現了上述4個請求,確定了商品分類和品牌,其中還有一個請求報錯,就是和規格引數相關的請求。

我們看請求路徑初步就能判斷是根據cid查詢商品規格引數。

而規格引數是我們前幾天就實現了增刪改查的,不過沒有根據cid查詢的業務。

二、根據cid查詢規格引數

規格引數是屬於SpercController處理器的:

1Controller層程式碼

微服務專案第24天:商品新增業務(二)

我們以前就實現了查詢業務,不過當時是根據gid查詢,也就是規格引數組id。

現在又新增了一個查詢,是根據cid查詢。

並且它們的請求路徑是一致的,只是引數不一樣,如果像上圖中這樣寫是不行的。

所以要將這兩個方法合併成一個方法:

微服務專案第24天:商品新增業務(二)

使用required=false設定引數,表示該引數不強制要求一定要有,可有可無。

都是查詢規格引數,只不過引數不一樣,所以將這多個引數集合在一起了,統一查詢。

其中這裡有一個引數是searching,根據搜尋條件查詢,這是以後需要學到的一個知識點。

總之凡是查詢規格引數的,都可以使用該方法來實現,無外乎就是增加一個引數而已。

因為這個引數可以有也可以沒有,所以要記得用required來說明。

2Service層程式碼

微服務專案第24天:商品新增業務(二)

因為gid和cid以及searching這三個引數都是SpecParam這個實體類裡的屬性。

所以使用通用mapper查詢資料,查詢條件是包含這些屬性的物件即可。

3頁面測試

再次測試時,會發現商品對應的規格引數名都出現了,只需要填寫對應的值即可。

微服務專案第24天:商品新增業務(二)

當然上述都是我自己瞎寫的,也就是商品規格引數中的一些資料。

但是呢還有三個規格引數是和商品息息相關的,其中就牽扯到了第④點SKU屬性。

三、SKU屬性

關於規格引數還有手機顏色、記憶體以及儲存空間這三個資料,上述中並未填寫。

而是劃分到了SKU屬性中,如下圖:

微服務專案第24天:商品新增業務(二)

SKU就是指具體的某個確定的商品。

比如說手機顏色有2種,記憶體有1種,手機儲存大小也有2種,透過這三個屬性可以組合出2*1*2一共4個SKU。

當然我這邊因為頁面受限作為測試只填寫了這幾種,實際上一般都可以組合成3*3*3一共27個SKU。

而這些在前端頁面都幫我們自動組合好了,如下圖:

微服務專案第24天:商品新增業務(二)

其中在對應的SKU中添加價格和庫存,以及該商品是否啟用。

不同的配置價格肯定不一樣,這也好理解。

點選對應的商品也能新增該SKU對應的圖片。

以上就是對商品新增業務中的資料說明。

點選儲存商品資訊,會向後臺傳送新增請求,將我們填寫的資料傳送給伺服器,從而新增到資料庫中,具體實現後續再學習。

最後

行有不得反求諸己,我是@劉小愛

一個白天上班晚上學習的95後滬漂,不為其它,只為學會自律做好自己,也願我的每日打卡能給你帶來勇氣,歡迎點贊關注和評論。

頂部