談一談商品編碼的問題

如題:今天談一談商品編碼的問題,咱們不是徹底從物流和商品自己的角度去談商品該怎麼編碼才符合國際標準,EAN,UPC啥啥啥怎麼樣的。
咱們從計算機程序設計,電商,數據庫存儲的角度看一看商品編碼,首先商品有哪些編碼,而後這些編碼和商品的關係,在而後這些編碼該怎麼使用。
要從電商的角度瞭解商品,立刻想到的多是淘寶,天貓,京東,亞馬遜等他們的商品是怎麼樣子,是怎麼存儲的。程序員

這些這麼成熟的電商徹底能夠參考和借鑑。
關於商品這個話題仍是太大,由於商品自己設計的東西太多了,不一樣活動先不一樣的價格,多規格商品,不一樣的計量單位,多圖片展現該怎麼存儲等等。
每個點都值得單獨拿出來仔細討論和思考,因此商品這個話題仍是太大了,咱們就定位一個小的問題編碼問題,其餘的問題我會在以後每個都會細細談到。數據庫

那麼關於編碼,我網上搜到的有sku_code、spu_code、barcode、serial_number等,還有倉庫給條的tag標籤上也有編碼。
那麼這些編碼各自表明什麼含義,表示商品的什麼屬性和商品的對應關係,該怎麼使用,具體到程序設計上,數據庫該怎麼設計,怎麼存儲。
下邊咱們就一一把每一個名詞給予講解,這些講解不是從物流,商品專業角度講解的,但也和那些專業上的差的不是很遠,因此也有助於理解。
這些解釋是從程序開發,設計角度講解,若是你是程序員,設計師,那麼你應該好好讀一下有些瞭解。數據庫設計

一向的做風,爲何要談這個問題,爲何要談商品編碼,在作和ERP對接的時候,讓我帶一個沒有任何經驗的產品妹妹,和沒有對接經驗的技術哥哥。
新人確定須要人帶的,我當時脾氣很差,而後咱們工期還特別的緊張,特別的緊張更加弄的我脾氣暴躁,焦慮。我首先得認可本身的錯誤,脾氣很差。
而後咱們在心平靜氣的來談一談,對接的故事。
首先對接,咱們商城和ERP對接確定須要有商品上惟一上標示能標示兩邊推送,對接的是同一個東西。
在咱們這個小team裏,我對於這個小產品妹妹和技術哥哥算是一個天降leader,我還算不上一個徹底的leader,就是這個意思吧。
就是他們對我不瞭解,我也對他們不是很瞭解,並且在我對ERP對接這項目也不瞭解,就這麼着,說咱們要一個月對接ERP項目。
而後對接技術細節呢,咱們的技術哥哥說要用咱們的gd_id來對接ERP,我當時就暈了,痛苦不已。測試

我在想咱們是用咱們本身數據庫的自定序列ID來對接別人程序,這個是一個什麼想法。
而後我仔細研究了咱們本身的數據庫和ERP系統,還好,還好,還好咱們還有一個gsn這樣的東西,首先說明gsn這個東西的值徹底等同於sku_code。
你們先聽我把故事講完,我們在細談什麼是sku_code這些,有這麼離奇和好玩的故事,爲何必定要急着知道各類編碼,聽故事豈不是很好。編碼

而後因爲程序和設計這邊都是我本身來弄,說是讓我帶他們,其實我私下自私和不負責的想法是讓他們看着我開發,
我有了這樣的想法,加上我當時咱們工期緊,我壓力大,我能不生氣。我這樣的想法是否是太臭屁了。
因此我最後執拗的堅持了本身的想法,就是我要本身作,我本身從新建表,我用本身強大堅持和執拗的想法,在有些地方徹底不放任何人的意見和建議。設計

最後我終於讓他們知道了SKU,SPU,barcode這些概念。
最後程序開發出來,終於能讓他們本身,從本身口中常常說SKU,SPU了,終因而讓他們認同這些。
這期間好玩的事情是產品妹妹糾結條形碼barcode糾結了3天,
最後我很是生氣的告訴她若是咱們不使用什麼條形碼,若是條形碼在咱們系統裏沒有多少意義和使用價值那咱們就不作barcode了,
而後咱們的採購還說一個產品可能有多個條形碼,我真是醉了,最後我執拗的認爲一個商品就只有一個條碼,若是有多個之後再說,
咱們開發測試上線真的沒有多少時間,糾結這個糾結3天,由於我生氣,我被老大批評一頓。
還有好玩的事情,咱們和別人對接,好比倉庫,好比ERP,有些東西,咱們不明白,須要請教ERP或倉庫的人,
咱們的採購小哥再請教別人時,我聽到的對話都是倉庫那邊的回答和講解只有;「是,嗯,是,嗯」,最後問題沒解決。code

而後我還要本身親自在問一遍,讓對方講話,讓對方說清楚。
更加搞笑的事情是,咱們有個QQ羣,忽然有一天咱們的產品妹妹跟我說,QQ羣裏跟我們對接ERP那邊一個哥哥退羣了,好搞笑啊。
我感受沒有什麼搞笑的,可能那哥們忍受不了咱們的折磨,不肯意受打擾吧。
咱們時間緊,任務重咱們要加班,而後咱們也拉着ERP的人一塊兒加班,這原本是合情合理你們都互相理解。
後來ERP那邊來了個牛人以後咱們跟ERP對接算是比較順暢的。圖片

最後團隊磕磕絆絆終於把開發搞定,到最後導入數據是,產品妹妹的一個好心修改ERP的默認設置,致使咱們加班了大半夜。
也由於開發測試不全面數據導入一半時發現導入的產品所有下架,當時我嚇的滿身冒冷汗,咱們的商城商品全下架了,嚇死了。
還好導入的數據很少及時發現,中止了從新,修改程序,在測試再上線,最終也算是圓滿的完成任務。
這就是咱們對接的故事,雖然你們都沒有多少經驗,但不能說你們不努力,咱們產品妹妹仍是的挺認真負責的這確實值得表揚。
這也是爲何必定要談商品編碼的問題的緣由。開發

那麼什麼是SKU,是什麼是SPU。
我我的理解要理解這兩個名詞,還得要結合計量單位,這樣子更加全面。
我忘記了從哪裏查到的例子了,我感受那個例子說的很是好,例子大概是這樣子。
好比說煙這個商品,那麼煙有中華煙,雲煙,鑽石等等,中華煙又分軟盒,硬盒,鑽石又分成鑽,藍鑽,黃鑽,QQ鑽等等,
QQ鑽,是我假設的,估計且這麼認爲吧,我不吸菸對煙瞭解很少。
那麼在商城,特別上電商,看到的商品列表上必定只是展現了中華,鑽石,雲煙,在列表上通常不會在展現軟盒中華,紅色鑽石煙。
只有在詳細頁面點開中華時會看到有軟盒的硬盒的讓你選。
SKU,SPU具體的名稱解釋我們不說了,百度,谷歌一堆一堆的,我解釋也不必定徹底對,但我說的必定能幫助你理解。
到這裏那麼就能夠這麼看SPU和SKU了,列表上看到中華,鑽石這一種類的集合算是SPU,
而具體的像軟盒中華,紅色鑽石,那個很是具體的就是SKU了,這裏須要明確和多想一想思考的地方就是商城賣的東西通常必定是一個SKU。string

那麼剛纔我說過了我的感受加上計量單位纔算更加全面,
爲何這麼說,網上的例子也是很是棒的,仍是煙這個例子。咱們都知道煙的計量單位一箱子有20條,一條有10盒,一盒有20根。
不一樣的人或者銷售對煙的計量單位是不同的。
好比說,生產煙的菸廠,它賣煙必定是一箱一箱的賣,那麼對於它來講它的SKU應就是一整箱。
而小商店,小商城呢,必定是一條或一盒一盒的賣,那麼這個SKU的計算應是條或者盒纔對。
而在細化到你們聚餐喝酒,吸菸,你遞我一支,我遞你一支,這時的SKU計算是支纔對。
因此從程序的角度理解這些感受是加上計量單位才完整。
不知道從真正的倉儲,物流上怎麼理解SKU和SPU,但願懂的大神不吝賜教,很是感謝。

因此總結就是SKU是商城賣出貨物的不能分割最小計量單位,包含了價格,顏色,尺寸,包裝,等等的規格。
不一樣的規格就是不一樣的SKU,黑色和白色,軟盒和硬盒就是不一樣的SKU,而SPU是一組能夠抽象的SKU的組合名稱。

再有就是商品的條碼barcode,我感受認爲一個SKU,應該是隻有一個條形碼的就像我們買的礦泉水,紙筆,手機,等必定都有本身的一個條形碼。
可是咱們採購的兄弟說一個東西是能夠有不一樣的條碼的,是能夠從新貼條碼的,這東西我就很無奈,那就算是能夠有吧,這在數據庫設計時也有辦法解決。

最後還有就是我在故事裏講的gsn,和我最開始提到的serial_number,這個是什麼東西,通俗講就是序列號,
我查了網上的一些資料,感受在買商品的時候不多說起序列號這東西,序列號是什麼,我理解序列號就是商品的身份證。
不管商品到哪裏怎麼變幻按着序列號是變的且是惟一的。
那咱們故事中的gsn徹底不是序列號的意思,是的gsn在我接手以前,這個概念很是之弱化,你們居然都沒人知道這個gsn是個什麼東西,就知道這是咱們的一個序列號。
實際上這不是序列號,是咱們的SKU,這是我們的商城同事們作了一年的商城後,我給他們明確的概念。

在合做不算愉快磕磕絆絆的團隊中,我不知道是由於我生氣他們恨我,怕我,
仍是說我讓他們瞭解了,更加清楚了看清了SKU,SPU,barcode,序列號,包括對接,ERP倉庫,這些東西感謝我。


關於說商品編碼的這塊數據庫設計就是一個SPU先有多個SKU,一個SKU下有一個或多個條碼,有一個序列號。
大概就是這個樣子:
SPU(
int id pk,
string code,
string name,
)
SKU(
int id pk,
int spu_id,
string spu_code,
string sku_code,
string sku_name,

string serial_number,
string unit,
string current_barcode,
timestamp update_time
)
barcode_history(
int id pk,
int sku_id,
string sku_code,
string barcode,
timestamp create_time
)
談這些必定是要談商品的設計的,而關於商品這塊的數據設計,因爲設計到多規格屬性。我對現有的設計很不滿意。
我本身也設計了一版,對比咱們如今設計是有天壤之別的,可是我也是感受仍是不滿意,這個對多規格的設計仍是很頭疼的。
不過,我會陸續把這個產品這塊的總體設計和思路所有發出來。

最後最後,很是歡迎你們評論和討論,whatever,什麼都行。

相關文章
相關標籤/搜索