本文主要对购物车功能相关表进行解析,介绍从商品加入购物车到下单的整个流程,涉及购物车优惠计算流程、确认单生成流程、下单流程及取消订单流程。
购物车表
用于存储购物车中每个商品信息,可用于计算商品优惠金额。
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) );
购物下单流程
整体流程示意图
实现逻辑
加入购物车
购物车的主要功能就是存储用户选择的商品信息及计算购物车中商品的优惠。
相关注意点
-
由于商品优惠都是以商品为单位来设计的,并不是以sku为单位设计的,所以必须以商品为单位来计算商品优惠;
-
代码实现逻辑可以参考OmsPromotionServiceImpl类中的calcCartPromotion方法。