1、商城购物车
一般 分为订单表 商品表
订单表有字段区分订单类型
2、
购物车表goods_shopcar的SQL语句如下:
CREATE TABLE `goods_shopcar` (
`id` int(4) NOT NULL ,
`uid` int(10) NULL ,
`goods_id` int(10) NULL ,
`number` int(10) NULL ,
`status` tinyint(4) NULL ,
`create_time` int(10) NULL ,
`update_time` int(10) NULL ,
PRIMARY KEY (`id`));
表设计中关键字段为uid和goods_id,可以记录那个用户加入了那个商品。number则记录了某个商品的加入的数量。
既然有购物车那么就会有支付功能,发起支付的时候需要发送一个唯一的订单号给服务器,这样在通知的时候才可以了解该修改那条订单记录。另外订单的核心就是记录那个用户买个那些商品,并提供支付等相关的状态管理
3、
订单表order的SQL语句如下:
CREATE TABLE `order` (
`id` int(4) NOT NULL ,
`order_number` varchar(50) NULL ,
`uid` int(10) NULL ,
`pay_price` double(20,2) NULL ,
`is_pay` tinyint(4) NULL ,
`pay_time` int(10) NULL ,
`is_ship` tinyint(4) NULL ,
`ship_time` int(10) NULL ,
`is_receipt` tinyint(4) NULL ,
`receipt_time` int(10) NULL ,
`ship_nmber` varchar(100) NULL ,
`status` tinyint(4) NULL ,
`create_time` int(10) NULL ,
`update_time` int(10) NULL ,
PRIMARY KEY (`id`));
因为用户可以一次性购买多个商品,所以用户订单与商品是一对多的关系
4、
订单商品表order_goods的SQL语句如下:
CREATE TABLE `order_goods` (
`id` int(4) NOT NULL ,
`order_id` int(10) NULL ,
`goods_id` int(10) NULL ,
`goods_num` int(10) NULL ,
`goods_price` double(20,2) NULL ,
`status` tinyint(4) NULL ,
`create_time` int(10) NULL ,
`update_time` int(10) NULL ,
PRIMARY KEY (`id`));
订单表(order)只是记录了商品的总支付金额(pay_price),所以在订单商品表(order_goods)中设计记录了每个商品的购买价格(goods_price)