SpringBoot實戰電商項目mall(18k+star)地址:github.com/macrozheng/…html
接上一篇文章,本文主要對編輯商品、商品評價及回覆、商品操做記錄這三塊功能的表進行解析,採用數據庫表與功能對照的形式。git
商品信息主要包括四部分:商品的基本信息、商品的促銷信息、商品的屬性信息、商品的關聯,商品表是整個商品的基本信息部分。github
create table pms_product
(
id bigint not null auto_increment,
brand_id bigint comment '品牌id',
product_category_id bigint comment '品牌分類id',
feight_template_id bigint comment '運費模版id',
product_attribute_category_id bigint comment '品牌屬性分類id',
name varchar(64) not null comment '商品名稱',
pic varchar(255) comment '圖片',
product_sn varchar(64) not null comment '貨號',
delete_status int(1) comment '刪除狀態:0->未刪除;1->已刪除',
publish_status int(1) comment '上架狀態:0->下架;1->上架',
new_status int(1) comment '新品狀態:0->不是新品;1->新品',
recommand_status int(1) comment '推薦狀態;0->不推薦;1->推薦',
verify_status int(1) comment '審覈狀態:0->未審覈;1->審覈經過',
sort int comment '排序',
sale int comment '銷量',
price decimal(10,2) comment '價格',
promotion_price decimal(10,2) comment '促銷價格',
gift_growth int default 0 comment '贈送的成長值',
gift_point int default 0 comment '贈送的積分',
use_point_limit int comment '限制使用的積分數',
sub_title varchar(255) comment '副標題',
description text comment '商品描述',
original_price decimal(10,2) comment '市場價',
stock int comment '庫存',
low_stock int comment '庫存預警值',
unit varchar(16) comment '單位',
weight decimal(10,2) comment '商品重量,默認爲克',
preview_status int(1) comment '是否爲預告商品:0->不是;1->是',
service_ids varchar(64) comment '以逗號分割的產品服務:1->無憂退貨;2->快速退款;3->免費包郵',
keywords varchar(255) comment '關鍵字',
note varchar(255) comment '備註',
album_pics varchar(255) comment '畫冊圖片,連產品圖片限制爲5張,以逗號分割',
detail_title varchar(255) comment '詳情標題',
detail_desc text comment '詳情描述',
detail_html text comment '產品詳情網頁內容',
detail_mobile_html text comment '移動端網頁詳情',
promotion_start_time datetime comment '促銷開始時間',
promotion_end_time datetime comment '促銷結束時間',
promotion_per_limit int comment '活動限購數量',
promotion_type int(1) comment '促銷類型:0->沒有促銷使用原價;1->使用促銷價;2->使用會員價;3->使用階梯價格;4->使用滿減價格;5->限時購',
product_category_name varchar(255) comment '產品分類名稱',
brand_name varchar(255) comment '品牌名稱',
primary key (id)
);
複製代碼
SKU(Stock Keeping Unit)是指庫存量單位,SPU(Standard Product Unit)是指標準產品單位。舉個例子:iphone xs是一個SPU,而iphone xs 公開版 64G 銀色是一個SKU。sql
create table pms_sku_stock
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
sku_code varchar(64) not null comment 'sku編碼',
price decimal(10,2) comment '價格',
stock int default 0 comment '庫存',
low_stock int comment '預警庫存',
sp1 varchar(64) comment '規格屬性1',
sp2 varchar(64) comment '規格屬性2',
sp3 varchar(64) comment '規格屬性3',
pic varchar(255) comment '展現圖片',
sale int comment '銷量',
promotion_price decimal(10,2) comment '單品促銷價格',
lock_stock int default 0 comment '鎖定庫存',
primary key (id)
);
複製代碼
商品優惠相關表,購買同商品知足必定數量後,能夠使用打折價格進行購買。如:買兩件商品能夠打八折。數據庫
create table pms_product_ladder
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
count int comment '知足的商品數量',
discount decimal(10,2) comment '折扣',
price decimal(10,2) comment '折後價格',
primary key (id)
);
複製代碼
商品優惠相關表,購買同商品知足必定金額後,能夠減免必定金額。如:買滿1000減100元。iphone
create table pms_product_full_reduction
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
full_price decimal(10,2) comment '商品知足金額',
reduce_price decimal(10,2) comment '商品減小金額',
primary key (id)
);
複製代碼
根據不一樣會員等級,能夠以不一樣的會員價格購買。此處設計有缺陷,能夠作成不一樣會員等級能夠減免多少元或者按多少折扣進行購買。學習
create table pms_member_price
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
member_level_id bigint comment '會員等級id',
member_price decimal(10,2) comment '會員價格',
member_level_name varchar(100) comment '會員等級名稱',
primary key (id)
);
複製代碼
create table pms_comment
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
member_nick_name varchar(255) comment '會員暱稱',
product_name varchar(255) comment '商品名稱',
star int(3) comment '評價星數:0->5',
member_ip varchar(64) comment '評價的ip',
create_time datetime comment '建立時間',
show_status int(1) comment '是否顯示',
product_attribute varchar(255) comment '購買時的商品屬性',
collect_couont int comment '收藏數',
read_count int comment '閱讀數',
content text comment '內容',
pics varchar(1000) comment '上傳圖片地址,以逗號隔開',
member_icon varchar(255) comment '評論用戶頭像',
replay_count int comment '回覆數',
primary key (id)
);
複製代碼
create table pms_comment_replay
(
id bigint not null auto_increment,
comment_id bigint comment '評論id',
member_nick_name varchar(255) comment '會員暱稱',
member_icon varchar(255) comment '會員頭像',
content varchar(1000) comment '內容',
create_time datetime comment '建立時間',
type int(1) comment '評論人員類型;0->會員;1->管理員',
primary key (id)
);
複製代碼
用於記錄商品審覈記錄ui
create table pms_product_vertify_record
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
create_time datetime comment '建立時間',
vertify_man varchar(64) comment '審覈人',
status int(1) comment '審覈後的狀態:0->未經過;2->已經過',
detail varchar(255) comment '反饋詳情',
primary key (id)
);
複製代碼
用於記錄商品操做記錄編碼
create table pms_product_operate_log
(
id bigint not null auto_increment,
product_id bigint comment '商品id',
price_old decimal(10,2) comment '改變前價格',
price_new decimal(10,2) comment '改變後價格',
sale_price_old decimal(10,2) comment '改變前優惠價',
sale_price_new decimal(10,2) comment '改變後優惠價',
gift_point_old int comment '改變前積分',
gift_point_new int comment '改變後積分',
use_point_limit_old int comment '改變前積分使用限制',
use_point_limit_new int comment '改變後積分使用限制',
operate_man varchar(64) comment '操做人',
create_time datetime comment '建立時間',
primary key (id)
);
複製代碼
mall項目全套學習教程連載中,關注公衆號第一時間獲取。spa