外貿領航
首頁展會信息 > 商品的spu是什么意思「數據結構到底是什么」

商品的spu是什么意思「數據結構到底是什么」

來源:互聯網 2024-09-01 21:04:05

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

感謝你的觀看,謝謝你。

學習計劃安排如下:

昨天實現了商品規格參數組業務,今天繼續實現其對應的規格參數。理清楚SPU和SKU的概念,同時分析對SPU的數據表設計。一、規格參數業務實現

1業務需求分析

昨天實現了規格參數組相關的業務,點擊商品分類,可以查看到其對應的規格參數組信息。

比如上圖中“手機”這個商品分類的規格參數組有:主體、基本信息和操作系統。

現在我們要實現的需求是:

點擊相應的規格組,會跳轉到其規格參數的頁面,也就是該規格組下有哪些規格參數?

具體數據需要我們從數據庫中查詢,因為我這邊業務還未完成,所以顯示的數據為:“該分組下沒有參數”。

2請求相關分析

無外乎還是要弄清楚四大內容:

請求路徑:真實路徑就是spec/params。請求方式:GET請求。請求參數:gid,也就是規格參數組id。返回值:是一個規格參數數組。

好,弄清楚了這四點,就可以寫后臺代碼了。

3實體類和數據表

關于實體類有一個知識點要說明下。

numeric這個字段在mysql數據庫中是一個關鍵字,會有沖突。

面對這個問題有兩種解決方式:

①使用注解@Colum

說明關鍵字字段是哪個一個即可,但是該方式若是有多個關鍵字需要一一說明。

②配置文件中配置

也可以在yam文件中如圖中配置。

注意:該配置只在mysql數據庫中有用。

3Java三層架構

①Controller層代碼編寫

根據請求相關的四大內容即可完成Controller層的代碼編寫。

注意請求參數gid是以問號的形式拼接到請求路徑中的,所以使用注解@RequestParam。

②Service層代碼編寫

使用通用mapper完成查詢操作:因為不是主鍵查詢,所以創建對應的實體類對象,將gid賦值給該對象,最后根據該對象完成查詢。

③Mapper層代碼編寫

繼承通用mapper提供的Mapper接口即可,在泛型中說明對應的實體類SpecParam。

4測試

我們再次在管理系統中點擊對應的規格參數組,就能查詢到對應的規格參數了。

上圖中就是“主體”這個規格參數組,從數據庫中查詢到了3個規格參數,此外還有:

新增業務對應新增參數按鈕。修改業務對應修改按鈕。刪除業務對應刪除按鈕。

關于這三個業務就暫且不一一說明了,其實無外乎就還是這么一個思路。

二、SPU和SKU數據結構

SPU和SKU是電商中兩個非常重要的概念。

1什么是SPU和SKU呢?

SPU全稱為Standard Product Unit,翻譯過來就是標準產品單位。SKU全稱為Stock Keeping Unit,翻譯過來就是庫存量單位。

這種官方定義看起來好像挺難理解的,我以某電商網站某品牌手機為例作個說明:

思考問題:上圖是一個商品么?

它不是一個具體的商品,它是一個SPU,我通過選擇不同的屬性可以組合成多個商品。

SPU是商品的共有集,并不是固定某個商品。

比如上圖中手機有三種顏色可以選擇,手機內存也有4種可以選擇。

而SKU才是具體的某個商品。

比如陶瓷黑、8G 128GB內存…等每一項都確定好之后的商品才是一個SKU。

通俗理解就是我們購買訂單頁面對商品的詳細說明,就是一個SKU。

每一個SKU的價格一般是不一樣,我們購買的是SKU而不是SPU。

2SPU數據表設計分析

在數據庫中其被拆分成了兩張表,我們具體做一個分析:

商品①:陶瓷黑、8G 128GB內存…等屬性都確定后的一個SKU。

商品②:亮銀版、8GB 256GB內存…等屬性都確定后的一個SKU。

無論是商品①還是商品②其SPU都是一樣的。

其包含有:id、商品名稱、品牌id,副標題、商品描述(描述一般都會描述配置最高的那個)、包裝、售后服務。

因為關于商品描述這個字段非常的長,所以將SPU表做了一個拆分,將這些描述性字段單獨又放在了一個數據表中。

最后

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

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

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如有侵權行為,請第一時間聯系我們修改或刪除,多謝。

CopyRight ? 外貿領航 2023 All Rights Reserved.