国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

電商系統(tǒng)設(shè)計之商品 (上)

wuyangnju / 1499人閱讀

摘要:如果設(shè)計不合理例如商品添加很簡單,但是修改商品就很復雜。在前期設(shè)計上我們要盡量避免這些坑謝謝你看到這里,希望我的文章能夠幫助到你。

電商大伙每天都在用,類似某貓,某狗等。
電商系統(tǒng)設(shè)計看似復雜又很簡單,看似簡單又很復雜
本章適合初級工程師及中級工程師細看,大佬請隨意
前言

商品的設(shè)計是電商系統(tǒng)中占據(jù)重要地位,如何設(shè)計出高擴展,高性能的商品系統(tǒng)并非一件簡單的事情,我的設(shè)計是觀摩互聯(lián)網(wǎng)各大佬的設(shè)計后自行研究的,并非完全正確,但也不完全錯誤,現(xiàn)在我設(shè)計的這套電商系統(tǒng)已經(jīng)在使用,如果在邏輯上遇到什么問題,會及時修改我關(guān)于電商系統(tǒng)相關(guān)文章的設(shè)計思想部分。

元素


見上圖,本次我們先講解下系統(tǒng)規(guī)格與自定義規(guī)格、系統(tǒng)屬性與自定義屬性的關(guān)于及其他們存在的意義。

SPU
SPU(Standard Product Unit)標準化產(chǎn)品單元

什么叫標準化產(chǎn)品單元?

拋棄標準化一詞來看,產(chǎn)品單元?就是以一個產(chǎn)品為一個單位。例如你是手記銷售商,你在廠家進貨的時候說我要iphonex 100部型號隨意規(guī)格隨意,進貨的時候沒考慮到內(nèi)存或者屏幕尺寸,這個時候你就把iphonex這個商品當作一個單位。這就是產(chǎn)品單位。再談標準化,只是一些人或一個人制定的這么一個標準,所以稱為標準化產(chǎn)品單元,不要拿百度百科上的解釋反駁我,我只是用更通俗易懂的方式解釋一下SPU。

例如iphonex的價格也不同的地方,分別為iphonex 64g 是8888,iphonex 256g是18888。這個時候我們不能建立2個spu去管理這2個商品。這個時候就需要用到spu的概念了。

SKU
SKU(Stock Keeping Unit)庫存量單元

什么叫庫存量單位?

字面意思來看,庫存則是指的某個商品的某個規(guī)格還有多少件,這個時候就不能只針對商品了。上面的例子iphonex有2個不同規(guī)格的商品,這個時候無法計算其每個規(guī)格的庫存(創(chuàng)建2個商品可是不切實際,未來管理會很復雜,就例如安踏的跑鞋有十幾個尺碼,難道要創(chuàng)建十幾個商品嗎?),此時只能針對當前商品再創(chuàng)建子商品,我們叫它規(guī)格,例如iphonex 有 存儲和顏色2個規(guī)格

有木有發(fā)現(xiàn)還是有點問題?那具體的存儲大小與具體顏色該如何表達呢?這個時候需要創(chuàng)建規(guī)格的子商品,我們稱他為屬性

這個每個屬性的結(jié)合則就是一個新的商品,我們稱它為SKU,一個SPU對應(yīng)著N個SKU


這樣就生成了N個商品

iphonex 64G白色

iphonex 32G黑色

iphonex 256G白色 等等...

系統(tǒng)規(guī)格/屬性

為什么要設(shè)立系統(tǒng)規(guī)格屬性呢?


盜用一張?zhí)詫毜膱D,以上都是根據(jù)分類品牌設(shè)定好的規(guī)格及屬性

主要是為了方便商家添加商品及其對商品的規(guī)格屬性進行統(tǒng)一的管理,當然一個電商系統(tǒng)在前期運營的情況下盡量減少系統(tǒng)屬性規(guī)格的使用(方便商家入住嘛)。

自定義屬性就不用說了。不讓商家添加自己的規(guī)格和尺碼什么的怎么能行?

數(shù)據(jù)

具體數(shù)據(jù)表的設(shè)計如下

product

商品表 (spu表)

CREATE TABLE `product` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "商品標題",
  `category_id` int(11) NOT NULL COMMENT "商品分類編號",
  `mer_id` int(11) NOT NULL COMMENT "商家編號",
  `freight_id` int(11) DEFAULT NULL,
  `type_id` tinyint(4) NOT NULL COMMENT "類型編號",
  `sketch` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "簡述",
  `intro` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "商品描述",
  `keywords` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "商品關(guān)鍵字",
  `tags` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "標簽",
  `marque` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "商品型號",
  `barcode` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "倉庫條碼",
  `brand_id` int(11) NOT NULL COMMENT "品牌編號",
  `virtual` int(11) NOT NULL DEFAULT "0" COMMENT "虛擬購買量",
  `price` decimal(8,2) NOT NULL COMMENT "商品價格",
  `market_price` decimal(8,2) NOT NULL COMMENT "市場價格",
  `integral` int(11) NOT NULL DEFAULT "0" COMMENT "可使用積分抵消",
  `stock` int(11) NOT NULL COMMENT "庫存量",
  `warning_stock` int(11) NOT NULL COMMENT "庫存警告",
  `picture_url` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "封面圖",
  `posters` varchar(125) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `status` tinyint(4) NOT NULL COMMENT "狀態(tài) -1=>下架,1=>上架,2=>預售,0=>未上架",
  `state` tinyint(4) NOT NULL DEFAULT "0" COMMENT "審核狀態(tài) -1 審核失敗 0 未審核 1 審核成功",
  `is_package` enum("0","1") COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT "0" COMMENT "是否是套餐",
  `is_integral` enum("0","1") COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT "0" COMMENT "是否是積分產(chǎn)品",
  `sort` int(11) NOT NULL DEFAULT "99" COMMENT "排序",
  `deleted_at` timestamp NULL DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
system_attribute

系統(tǒng)規(guī)格表

CREATE TABLE `system_attribute` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `category_id` int(11) NOT NULL COMMENT "商品類別編號",
  `name` varchar(25) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "屬性名稱",
  `sort` int(11) NOT NULL DEFAULT "999" COMMENT "排列次序",
  PRIMARY KEY (`id`),
  KEY `product_attribute_category_id_name_index` (`category_id`,`name`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
system_attribute_option

系統(tǒng)屬性表

CREATE TABLE `product_attribute_option` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "選項名稱",
  `attr_id` int(11) NOT NULL COMMENT "屬性編碼",
  `sort` int(11) NOT NULL DEFAULT "999" COMMENT "排序",
  PRIMARY KEY (`id`),
  KEY `product_attribute_option_name_attr_id_index` (`name`,`attr_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
product_attribute_and_option

規(guī)格屬性綁定表

CREATE TABLE `product_attribute_and_option` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `sku_id` int(11) NOT NULL COMMENT "sku編碼",
  `option_id` int(11) NOT NULL DEFAULT "0" COMMENT "屬性選項編碼",
  `attribute_id` int(11) NOT NULL COMMENT "屬性編碼",
  `sort` int(11) NOT NULL DEFAULT "999" COMMENT "排序",
  `supplier_option_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `product_attribute_and_option_sku_id_option_id_attribute_id_index` (`sku_id`,`option_id`,`attribute_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6335 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
product_sku

sku表

CREATE TABLE `product_sku` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL COMMENT "商品編碼",
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "sku名稱",
  `img` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "主圖",
  `price` decimal(8,2) NOT NULL COMMENT "價格",
  `stock` int(11) NOT NULL DEFAULT "0" COMMENT "庫存",
  `code` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "商品編碼",
  `barcode` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "商品條形碼",
  `data` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT "sku串",
  PRIMARY KEY (`id`),
  KEY `product_sku_name_product_id_index` (`name`,`product_id`)
) ENGINE=InnoDB AUTO_INCREMENT=530 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
product_attribute

自定義規(guī)格表

CREATE TABLE `product_attribute` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `product_id` int(11) NOT NULL COMMENT "商品編碼",
  `name` varchar(125) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT "規(guī)格名稱",
  `sort` int(11) NOT NULL DEFAULT "999" COMMENT "排序",
  PRIMARY KEY (`id`),
  KEY `product_supplier_attribute_name_product_id_index` (`name`,`product_id`)
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
致謝

其實在商品的設(shè)計層面看懂后還是很簡單的,后續(xù)文章主要講解的更多的是這些數(shù)據(jù)該如何存儲更合理。如果設(shè)計不合理例如商品添加很簡單,但是修改商品就很復雜。在前期設(shè)計上我們要盡量避免這些“坑”

謝謝你看到這里,希望我的文章能夠幫助到你。有什么問題可以在評論區(qū)留言,我看到會第一時間回復。謝謝

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/28993.html

相關(guān)文章

  • 電商系統(tǒng)設(shè)計商品[番外篇]

    摘要:前言這是電商系統(tǒng)設(shè)計系列在商品設(shè)計這塊的最后一篇文章。電商系統(tǒng)商品相關(guān)的文章已經(jīng)到了尾聲如果有其他商品相關(guān)的文章需要編寫可以私信聯(lián)系我畢竟我也是公司員工寫這些文章并不是我的工作,只是記錄我的職業(yè)生涯。 showImg(https://segmentfault.com/img/bVbePdh?w=1260&h=628); 前言 這是電商系統(tǒng)設(shè)計系列在商品設(shè)計這塊的最后一篇文章。以下是其他...

    crossoverJie 評論0 收藏0
  • 電商系統(tǒng)設(shè)計購物車

    摘要:可擴展性百度百科的定義是設(shè)計良好的代碼允許更多的功能在必要時可以被插入到適當?shù)奈恢弥小UY徫镘嚿唐穬?yōu)惠券都是獨立的系統(tǒng)及功能,不要看做商品在購物車內(nèi)。可維護性百度百科的定義是系統(tǒng)的可維護性是衡量一個系統(tǒng)的可修復恢復性和可改進性的難易程度。 showImg(https://segmentfault.com/img/bVbcqJE?w=506&h=326); 本章適合初級工程師及中級工程...

    TigerChain 評論0 收藏0
  • 電商系統(tǒng)設(shè)計商品 (中)

    摘要:我一直在說電商是一個既簡單又復雜的東西本章我們再一次深度解析電商系統(tǒng)商品設(shè)計的更多邏輯與實現(xiàn)。品牌無需關(guān)聯(lián)到內(nèi),道理很簡單,當前的是歸屬與蘋果公司,自然而然下面的規(guī)格都屬于蘋果了。 showImg(https://segmentfault.com/img/bVbdtuc?w=1824&h=1028); 電商大伙每天都在用,類似某貓,某狗等。電商系統(tǒng)設(shè)計看似復雜又很簡單,看似簡單又很復雜...

    banana_pi 評論0 收藏0
  • 電商系統(tǒng)設(shè)計商品 (下)

    摘要:訂單號用戶商品標題商品價格商品封面圖商品其他屬性小明愛瘋手機其他屬性像上表中設(shè)計,有人會問了那關(guān)聯(lián)的意義何在呢我的回答是保持數(shù)據(jù)關(guān)聯(lián),雖然商戶有可能改變商品屬性,但作為一名程序員,應(yīng)該盡可能的記錄用戶所有的動作。 showImg(https://segmentfault.com/img/bVbdtuc?w=1824&h=1028); 電商大伙每天都在用,類似某貓,某狗等。電商系統(tǒng)設(shè)計看...

    shiguibiao 評論0 收藏0
  • 電商系統(tǒng)設(shè)計用戶系統(tǒng)

    摘要:致謝感謝你們看到這里,下一篇我會講一下關(guān)于電商系統(tǒng)的商品設(shè)計的部分。 showImg(https://segmentfault.com/img/bVbclTs?w=500&h=329); 電商大伙每天都在用,類似某貓,某狗等。電商系統(tǒng)設(shè)計看似復雜又很簡單,看似簡單又很復雜本章適合初級工程師及中級工程師細看,大佬請隨意 前言 設(shè)計以以下為工具講起 PHP為開發(fā)語言 基于Laravel框...

    lindroid 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<