本文主要对购物车功能相关表进行解析,介绍从商品加入购物车到下单的整个流程,涉及购物车优惠计算流程、确认单生成流程、下单流程及取消订单流程。
用于存储购物车中每个商品信息,可用于计算商品优惠金额。
create table oms_cart_item
(
id bigint not null auto_increment,
product_id bigint comment '商品的id',
product_sku_id bigint comment '商品sku的id',
member_id bigint comment '会员id',
quantity int comment '购买数量',
price decimal(10,2) comment '添加到购物车的价格',
sp1 varchar(200) comment '销售属性1',
sp2 varchar(200) comment '销售属性2',
sp3 varchar(200) comment '销售属性3',
product_pic varchar(1000) comment '商品主图',
product_name varchar(500) comment '商品名称',
product_brand varchar(200) comment '商品品牌',
product_sn varchar(200) comment '商品的条码',
product_sub_title varchar(500) comment '商品副标题(卖点)',
product_sku_code varchar(200) comment '商品sku条码',
member_nickname varchar(500) comment '会员昵称',
create_date datetime comment '创建时间',
modify_date datetime comment '修改时间',
delete_status int(1) default 0 comment '是否删除',
product_category_id bigint comment '商品的分类',
product_attr varchar(500) comment '商品销售属性:[{"key":"颜色","value":"银色"},{"key":"容量","value":"4G"}]',
primary key (id)
);
购物车的主要功能就是存储用户选择的商品信息及计算购物车中商品的优惠。
确认单主要用于用户确认下单的商品信息、优惠信息、价格信息,以及选择收货地址、选择优惠券和使用积分。
对购物车中信息进行处理,综合下单用户的信息来生成订单。
pms_sku_stock
表中查询出来了,lock_stock字段表示锁定库存的数量,会员看到的商品数量为真实库存减去锁定库存;订单生成之后还需开启一个延时任务来取消超时的订单。