- 昨天實(shí)現(xiàn)了商品規(guī)格參數(shù)組業(yè)務(wù),今天繼續(xù)實(shí)現(xiàn)其對(duì)應(yīng)的規(guī)格參數(shù)。
- 理清楚SPU和SKU的概念,同時(shí)分析對(duì)SPU的數(shù)據(jù)表設(shè)計(jì)。
一、規(guī)格參數(shù)業(yè)務(wù)實(shí)現(xiàn)
1業(yè)務(wù)需求分析

昨天實(shí)現(xiàn)了規(guī)格參數(shù)組相關(guān)的業(yè)務(wù),點(diǎn)擊商品分類(lèi),可以查看到其對(duì)應(yīng)的規(guī)格參數(shù)組信息。
比如上圖中“手機(jī)”這個(gè)商品分類(lèi)的規(guī)格參數(shù)組有:主體、基本信息和操作系統(tǒng)。
現(xiàn)在我們要實(shí)現(xiàn)的需求是:
點(diǎn)擊相應(yīng)的規(guī)格組,會(huì)跳轉(zhuǎn)到其規(guī)格參數(shù)的頁(yè)面,也就是該規(guī)格組下有哪些規(guī)格參數(shù)?
具體數(shù)據(jù)需要我們從數(shù)據(jù)庫(kù)中查詢(xún),因?yàn)槲疫@邊業(yè)務(wù)還未完成,所以顯示的數(shù)據(jù)為:“該分組下沒(méi)有參數(shù)”。
2請(qǐng)求相關(guān)分析

無(wú)外乎還是要弄清楚四大內(nèi)容:
- 請(qǐng)求路徑:真實(shí)路徑就是spec/params。
- 請(qǐng)求方式:GET請(qǐng)求。
- 請(qǐng)求參數(shù):gid,也就是規(guī)格參數(shù)組id。
- 返回值:是一個(gè)規(guī)格參數(shù)數(shù)組。
好,弄清楚了這四點(diǎn),就可以寫(xiě)后臺(tái)代碼了。
3實(shí)體類(lèi)和數(shù)據(jù)表
關(guān)于實(shí)體類(lèi)有一個(gè)知識(shí)點(diǎn)要說(shuō)明下。

numeric這個(gè)字段在mysql數(shù)據(jù)庫(kù)中是一個(gè)關(guān)鍵字,會(huì)有沖突。
面對(duì)這個(gè)問(wèn)題有兩種解決方式:
①使用注解@Colum
說(shuō)明關(guān)鍵字字段是哪個(gè)一個(gè)即可,但是該方式若是有多個(gè)關(guān)鍵字需要一一說(shuō)明。
②配置文件中配置
也可以在yam文件中如圖中配置。
注意:該配置只在mysql數(shù)據(jù)庫(kù)中有用。
3Java三層架構(gòu)

①Controller層代碼編寫(xiě)
根據(jù)請(qǐng)求相關(guān)的四大內(nèi)容即可完成Controller層的代碼編寫(xiě)。
注意請(qǐng)求參數(shù)gid是以問(wèn)號(hào)的形式拼接到請(qǐng)求路徑中的,所以使用注解@RequestParam。
②Service層代碼編寫(xiě)
使用通用mapper完成查詢(xún)操作:因?yàn)椴皇侵麈I查詢(xún),所以創(chuàng)建對(duì)應(yīng)的實(shí)體類(lèi)對(duì)象,將gid賦值給該對(duì)象,最后根據(jù)該對(duì)象完成查詢(xún)。
③Mapper層代碼編寫(xiě)
繼承通用mapper提供的Mapper接口即可,在泛型中說(shuō)明對(duì)應(yīng)的實(shí)體類(lèi)SpecParam。
4測(cè)試

我們?cè)俅卧诠芾硐到y(tǒng)中點(diǎn)擊對(duì)應(yīng)的規(guī)格參數(shù)組,就能查詢(xún)到對(duì)應(yīng)的規(guī)格參數(shù)了。
上圖中就是“主體”這個(gè)規(guī)格參數(shù)組,從數(shù)據(jù)庫(kù)中查詢(xún)到了3個(gè)規(guī)格參數(shù),此外還有:
- 新增業(yè)務(wù)對(duì)應(yīng)新增參數(shù)按鈕。
- 修改業(yè)務(wù)對(duì)應(yīng)修改按鈕。
- 刪除業(yè)務(wù)對(duì)應(yīng)刪除按鈕。
關(guān)于這三個(gè)業(yè)務(wù)就暫且不一一說(shuō)明了,其實(shí)無(wú)外乎就還是這么一個(gè)思路。
二、SPU和SKU數(shù)據(jù)結(jié)構(gòu)
SPU和SKU是電商中兩個(gè)非常重要的概念。
1什么是SPU和SKU呢?
- SPU全稱(chēng)為Standard Product Unit,翻譯過(guò)來(lái)就是標(biāo)準(zhǔn)產(chǎn)品單位。
- SKU全稱(chēng)為Stock Keeping Unit,翻譯過(guò)來(lái)就是庫(kù)存量單位。
這種官方定義看起來(lái)好像挺難理解的,我以某電商網(wǎng)站某品牌手機(jī)為例作個(gè)說(shuō)明:

思考問(wèn)題:上圖是一個(gè)商品么?
它不是一個(gè)具體的商品,它是一個(gè)SPU,我通過(guò)選擇不同的屬性可以組合成多個(gè)商品。
SPU是商品的共有集,并不是固定某個(gè)商品。
比如上圖中手機(jī)有三種顏色可以選擇,手機(jī)內(nèi)存也有4種可以選擇。
而SKU才是具體的某個(gè)商品。
比如陶瓷黑、8G+128GB內(nèi)存…等每一項(xiàng)都確定好之后的商品才是一個(gè)SKU。
通俗理解就是我們購(gòu)買(mǎi)訂單頁(yè)面對(duì)商品的詳細(xì)說(shuō)明,就是一個(gè)SKU。
每一個(gè)SKU的價(jià)格一般是不一樣,我們購(gòu)買(mǎi)的是SKU而不是SPU。
2SPU數(shù)據(jù)表設(shè)計(jì)分析
在數(shù)據(jù)庫(kù)中其被拆分成了兩張表,我們具體做一個(gè)分析:

商品①:陶瓷黑、8G+128GB內(nèi)存…等屬性都確定后的一個(gè)SKU。
商品②:亮銀版、8GB+256GB內(nèi)存…等屬性都確定后的一個(gè)SKU。
無(wú)論是商品①還是商品②其SPU都是一樣的。
其包含有:id、商品名稱(chēng)、品牌id,副標(biāo)題、商品描述(描述一般都會(huì)描述配置最高的那個(gè))、包裝、售后服務(wù)。
因?yàn)殛P(guān)于商品描述這個(gè)字段非常的長(zhǎng),所以將SPU表做了一個(gè)拆分,將這些描述性字段單獨(dú)又放在了一個(gè)數(shù)據(jù)表中。
聲明:本文由網(wǎng)站用戶(hù)竹子發(fā)表,超夢(mèng)電商平臺(tái)僅提供信息存儲(chǔ)服務(wù),版權(quán)歸原作者所有。若發(fā)現(xiàn)本站文章存在版權(quán)問(wèn)題,如發(fā)現(xiàn)文章、圖片等侵權(quán)行為,請(qǐng)聯(lián)系我們刪除。