- 使用者表
CREATE TABLE `nickymall_user` (
`id` int() NOT NULL AUTO_INCREMENT COMMENT '使用者表id',
`username` varchar() NOT NULL COMMENT '使用者名',
`password` varchar() NOT NULL COMMENT '使用者密碼,MD5加密',
`email` varchar() DEFAULT NULL,
`phone` varchar() DEFAULT NULL,
`question` varchar() DEFAULT NULL COMMENT '找回密碼問題',
`answer` varchar() DEFAULT NULL COMMENT '找回密碼答案',
`role` int() NOT NULL COMMENT '角色0-管理者,1-普通使用者',
`create_time` datetime NOT NULL COMMENT '建立時間',
`update_time` datetime NOT NULL COMMENT '最後一次更新時間',
PRIMARY KEY (`id`),
UNIQUE KEY `user_name_unique` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
- 商品分類表
CREATE TABLE `nickymall_category` (
`id` int() NOT NULL AUTO_INCREMENT COMMENT '類别Id',
`parent_id` int() DEFAULT NULL COMMENT '父類别id當id=0時說明是根節點,一級類别',
`name` varchar() DEFAULT NULL COMMENT '類别名稱',
`status` tinyint() DEFAULT '1' COMMENT '類别狀态1-正常,2-已廢棄',
`sort_order` int() DEFAULT NULL COMMENT '排序編号,同類展示順序,數值相等則自然排序',
`create_time` datetime DEFAULT NULL COMMENT '建立時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
由于之後搜尋的需要,分類表必須是能遞歸的,遞歸的退出條件是parent_id為0,即遞歸至根節點。
- 産品表
CREATE TABLE `nickymall_product` (
`id` int() NOT NULL AUTO_INCREMENT COMMENT '商品id',
`category_id` int() NOT NULL COMMENT '分類id,對應mmall_category表的主鍵',
`name` varchar() NOT NULL COMMENT '商品名稱',
`subtitle` varchar() DEFAULT NULL COMMENT '商品副标題',
`main_image` varchar() DEFAULT NULL COMMENT '産品主圖,url相對位址',
`sub_images` text COMMENT '圖檔位址,json格式,擴充用',
`detail` text COMMENT '商品詳情',
`price` decimal(,) NOT NULL COMMENT '價格,機關-元保留兩位小數',
`stock` int() NOT NULL COMMENT '庫存數量',
`status` int() DEFAULT '1' COMMENT '商品狀态.1-在售 2-下架 3-删除',
`create_time` datetime DEFAULT NULL COMMENT '建立時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
- 購物車表
CREATE TABLE `nickymall_cart` (
`id` int() NOT NULL AUTO_INCREMENT,
`user_id` int() NOT NULL,
`product_id` int() DEFAULT NULL COMMENT '商品id',
`quantity` int() DEFAULT NULL COMMENT '數量',
`checked` int() DEFAULT NULL COMMENT '是否選擇,1=已勾選,0=未勾選',
`create_time` datetime DEFAULT NULL COMMENT '建立時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`),
KEY `user_id_index` (`user_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
- 支付資訊表
CREATE TABLE `nickymall_pay_info` (
`id` int() NOT NULL AUTO_INCREMENT,
`user_id` int() DEFAULT NULL COMMENT '使用者id',
`order_no` bigint() DEFAULT NULL COMMENT '訂單号',
`pay_platform` int() DEFAULT NULL COMMENT '支付平台:1-支付寶,2-微信',
`platform_number` varchar() DEFAULT NULL COMMENT '支付寶支付流水号',
`platform_status` varchar() DEFAULT NULL COMMENT '支付寶支付狀态',
`create_time` datetime DEFAULT NULL COMMENT '建立時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
- 訂單表
CREATE TABLE `nickymall_order` (
`id` int() NOT NULL AUTO_INCREMENT COMMENT '訂單id',
`order_no` bigint() DEFAULT NULL COMMENT '訂單号',
`user_id` int() DEFAULT NULL COMMENT '使用者id',
`shipping_id` int() DEFAULT NULL,
`payment` decimal(,) DEFAULT NULL COMMENT '實際付款金額,機關是元,保留兩位小數',
`payment_type` int() DEFAULT NULL COMMENT '支付類型,1-線上支付',
`postage` int() DEFAULT NULL COMMENT '運費,機關是元',
`status` int() DEFAULT NULL COMMENT '訂單狀态:0-已取消-10-未付款,20-已付款,40-已發貨,50-交易成功,60-交易關閉',
`payment_time` datetime DEFAULT NULL COMMENT '支付時間',
`send_time` datetime DEFAULT NULL COMMENT '發貨時間',
`end_time` datetime DEFAULT NULL COMMENT '交易完成時間',
`close_time` datetime DEFAULT NULL COMMENT '交易關閉時間',
`create_time` datetime DEFAULT NULL COMMENT '建立時間',
`update_time` datetime DEFAULT NULL COMMENT '更新時間',
PRIMARY KEY (`id`),
UNIQUE KEY `order_no_index` (`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
- 訂單明細表
CREATE TABLE `nickymall_order_item` (
`id` int() NOT NULL AUTO_INCREMENT COMMENT '訂單子表id',
`user_id` int() DEFAULT NULL,
`order_no` bigint() DEFAULT NULL,
`product_id` int() DEFAULT NULL COMMENT '商品id',
`product_name` varchar() DEFAULT NULL COMMENT '商品名稱',
`product_image` varchar() DEFAULT NULL COMMENT '商品圖檔位址',
`current_unit_price` decimal(,) DEFAULT NULL COMMENT '生成訂單時的商品單價,機關是元,保留兩位小數',
`quantity` int() DEFAULT NULL COMMENT '商品數量',
`total_price` decimal(,) DEFAULT NULL COMMENT '商品總價,機關是元,保留兩位小數',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `order_no_index` (`order_no`) USING BTREE,
KEY `order_no_user_id_index` (`user_id`,`order_no`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;
- 收貨位址表
CREATE TABLE `mmall_shipping` (
`id` int() NOT NULL AUTO_INCREMENT,
`user_id` int() DEFAULT NULL COMMENT '使用者id',
`receiver_name` varchar() DEFAULT NULL COMMENT '收貨姓名',
`receiver_phone` varchar() DEFAULT NULL COMMENT '收貨固定電話',
`receiver_mobile` varchar() DEFAULT NULL COMMENT '收貨行動電話',
`receiver_province` varchar() DEFAULT NULL COMMENT '省份',
`receiver_city` varchar() DEFAULT NULL COMMENT '城市',
`receiver_district` varchar() DEFAULT NULL COMMENT '區/縣',
`receiver_address` varchar() DEFAULT NULL COMMENT '詳細位址',
`receiver_zip` varchar() DEFAULT NULL COMMENT '郵編',
`create_time` datetime DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT= DEFAULT CHARSET=utf8;