电商项目:拼团活动设计及表结构设计

营销手段除了优惠券,还有拼团这种常见模式。提起拼团,大家自然而然地想到拼多多,在流量红利已经触底的情况下,以拼团这种新模式杀出一条血路。

前端时间在公司也做了些拼团活动的设计和代码开发,这里总结一下:

这次拼团活动设计,成团条件包含有两方面:1、按人数成团  2、按够买商品总数成团 两种模式

一、先上表结构

1、拼团活动主表   2、拼团活动商品表    3、拼团活动参团记录表

DROP TABLE IF EXISTS `egl_group`;
CREATE TABLE `egl_group` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `group_name` varchar(64) NOT NULL COMMENT '拼团活动标题',
  `group_duration` int(11) NOT NULL COMMENT '成团有效时长 #单位min分钟',
  `is_show` int(11) NOT NULL DEFAULT '0' COMMENT '前台是否显示 #0显示1不显示[默认0]',
  `group_image` varchar(255) NOT NULL COMMENT '拼团活动图片',
  `start_time` datetime NOT NULL COMMENT '拼团活动开始时间',
  `end_time` datetime NOT NULL COMMENT '拼团活动结束时间',
  `group_sort` int(11) DEFAULT '0' COMMENT '活动排序',
  `is_repay` int(2) DEFAULT '0' COMMENT '是否已还库存#0未还1已还',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='拼团活动主表';

DROP TABLE IF EXISTS `egl_group_participation`;
CREATE TABLE `egl_group_participation` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `group_id` int(11) NOT NULL COMMENT '拼团表ID	',
  `part_sn` varchar(64) NOT NULL COMMENT '团码',
  `goods_id` int(11) NOT NULL COMMENT '商品SPUID',
  `product_id` int(11) NOT NULL COMMENT '商品SKUID',
  `user_id` int(11) NOT NULL COMMENT '参团用户ID',
  `username` varchar(100) DEFAULT NULL COMMENT '参团用户名称',
  `avatar` varchar(255) DEFAULT NULL COMMENT '参团用户头像',
  `sponsor_user_id` int(11) NOT NULL COMMENT '拼团发起人用户ID',
  `is_sponsor` int(11) NOT NULL DEFAULT '0' COMMENT '是否发起人 #0不是1是',
  `start_time` datetime NOT NULL COMMENT '拼团发起时间',
  `end_time` datetime NOT NULL COMMENT '拼团结束时间',
  `purchase_num` double(11,2) NOT NULL COMMENT '购买数量',
  `order_sn` varchar(100) DEFAULT NULL COMMENT '参团对应的订单编号',
  `group_status` int(11) DEFAULT NULL COMMENT '组团状态 #0组团中1组团成功-1组团失败',
  `is_refund` int(11) DEFAULT NULL COMMENT '是否退款#0未退1已退2微信退款失败',
  `address_id` int(11) DEFAULT NULL COMMENT '用户收货地址',
  `shipping_fee` decimal(10,2) DEFAULT NULL COMMENT '快递费用',
  `use_yue` decimal(10,2) DEFAULT NULL COMMENT '使用了多少余额',
  `actual_price` decimal(10,2) DEFAULT NULL COMMENT '实际微信支付了多少费用',
  `pay_status` int(11) DEFAULT NULL COMMENT '支付状态;0未付款;1付款中;2已付款;4退款;5微信退款失败',
  `post_script` varchar(255) DEFAULT NULL COMMENT '留言',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=57 DEFAULT CHARSET=utf8 COMMENT='参团表';


DROP TABLE IF EXISTS `egl_group_product`;
CREATE TABLE `egl_group_product` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `group_id` int(11) NOT NULL COMMENT '拼团活动表ID',
  `goods_id` int(11) NOT NULL COMMENT '关联SPU_ID',
  `goods_name` varchar(120) NOT NULL COMMENT '商品名称',
  `goods_price` decimal(10,2) NOT NULL COMMENT 'SPU价格',
  `product_id` int(11) NOT NULL COMMENT '关联SKU_ID',
  `goods_specification_ids` varchar(50) DEFAULT NULL COMMENT '商品规格',
  `product_price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT 'SKU价格',
  `group_product_price` decimal(10,2) DEFAULT '0.00' COMMENT '参团SKU价格',
  `product_number` double(11,2) DEFAULT '0.00' COMMENT '参团SKU数量',
  `is_need_vip` int(11) DEFAULT '0' COMMENT '是否要求会员#0不要求1要求',
  `group_type` int(11) DEFAULT '0' COMMENT '拼团类型#0按人数拼团1按购买数量拼团[成团人数和成团数量二选一]',
  `group_people_limit` int(11) DEFAULT '0' COMMENT '成团人数限制',
  `group_volume_limit` double(11,2) DEFAULT '0.00' COMMENT '成团数量限制',
  `is_free_shipping` int(11) DEFAULT '0' COMMENT '是否包邮#0不包邮 1包邮[默认0]',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='拼团表与商品SKU中间表';

业务代码这里就不在多说了,直接上结果:

二、业务模型

1、拼团活动列表

电商项目:拼团活动设计及表结构设计_第1张图片

2、添加拼团活动商品

上侧是:查询所有商品信息

下侧是:参团商品价格 规格、以及参团模式的设置

这里运营在上侧添加活动商品到下侧时,要先预扣活动库存。然后当活动结束(包括手动提前结束、或者定时调度检测结束,或者手动删除活动商品--逻辑删除)后,自动将剩余的库存还回去

电商项目:拼团活动设计及表结构设计_第2张图片

3、拼团详情

这一页只显示团长(拼团发起人)的信息,点击查看团员后可看所有拼团成员的信息包括团长。

根据业务需求,我们在这里添加了“手动成团”的按钮,在用户参团付款但尚未构成成团条件后,我们的运营可以根据业务需求手动拼团成功

电商项目:拼团活动设计及表结构设计_第3张图片

在拼团成团的界面,我们可以看到拼团的状态,和退款状态,在尚未成团的状态下,我们可以根据业务需求手动退款

电商项目:拼团活动设计及表结构设计_第4张图片

每一个参团成员参团付款后,我们会检测,该团是否已经达到成团条件,如果达到成团条件,我们会将数据添加到订单表中,对订单进行处理。

也就是说,在用户尚未达到成团条件前,我们暂时将数据存储在活动参团表中。

电商项目:拼团活动设计及表结构设计_第5张图片

你可能感兴趣的:(java,大数据,python,数据库,mysql)