带上数据表,分析一下拼团活动该如何设计
拼团活动该如何设计
后台创建拼团活动
一个成熟的拼团活动包含的四个要素:
1 拼团成团商品
必须要带上或者关联商品,设置拼团时商品的价格,与原价格肯定要低,这样才能吸引更多的人拼团。
2 拼团人数
既然是拼着购买,这里设置的人数肯定是不能低于2人的。要不然就不成团了。
3 拼团活动有效时间
一个拼团活动在开启到失效,需要设置一定时间,既然是一个活动,也就是商品在一定的时间段里能更好的达到促销。
这里就要设置一个可开团的时间,比如是24小时有效,用户进入商品详情可开团购买。
4 成团的有效时间
用户开团后与其他人组团的时间,该时间内如果没有组团成功那就是拼团失败,系统会自动退款。
实际拼团结束时间=发起拼团时间+成团有效时间(发起拼团时间=发起拼团人的支付时间)
看上面图片基本是要具备的。而其他的比如:拼团类型,拼团渠道,拼团方式,团长奖励等则根据业务需求来决定。
有注意到商品的图片还有另一种模式:助力拼团,助力人数,助力类型,这要针对返现拼团而设计。其实这种就类似就近的抖音或者拼多多开出的大额红包,而需要更多人去分享,助力得到红包那样,按照自己的需求来。
拼团创建成功后,拼团活动列表新增一条记录。
拼团活动有各种状态,这里根据活动时间,比如:
拼团活动未开始(设置的时间大于现在的时间)
活动中:拼团活动开始时间大于当前时间且拼团活动结束时间大于当前时间;
已结束:拼团活动结束时间大于当前时间;
拼团的有效与否,这里用上下架字段来判断。如果活动未上架,不管活动有没有开始,还是活动中,都是不可开团的。
前端发起拼团
从商品详情拼团,这是一个入口。开团后就有不同的拼团状态,订单ID个数和已参团人数不同,假设成团人数为2人。
1 待成团:发起者(团长)发起拼团但未支付,订单ID有该用户的下单数据,但是是未支付,表示拼团不成功的。
2 拼团中:发起者支付成功,开团成功,已参团人数为1。“拼团中”状态的订单不可取消,需拼团成功后才可取消。
3 拼团成功:成团人满且都支付成功,此时一个团购ID对应2个订单ID。
4 拼团失败:成团有效时间内,成团人数未满,拼团失败,系统自动退款。
开团后,则就有了拼团订单表,拼团订单有拼团失败,拼团成功的状态来断定这个拼团是否成功。
拼团设计根据具体问题具体分析,但是一定要具备以上4个要素。弄清楚需求后,根据需求编码基本不是什么问题。这里就不贴上代码了
而比较重要的还是数据表的设计,这里贴上数据表
相关数据表
数据表仅供参考,因为很多还是要根据自己的业务需要来。
拼团活动列表
CREATETABLE `pintuan_activity_rewards` (`id`
int(10) unsigned NOTNULL AUTO_INCREMENT,`
user_id` int(10) unsigned NOTNULL COMMENT "用户ID",`range`
tinyint(3) unsigned NOTNULLDEFAULT"1" COMMENT "拼团位置:1. 线上拼团 2. 线下拼团",`group_activity_order_id`
int(10) unsigned NOTNULL COMMENT "拼团订单ID",`order_id`
int(10) NOTNULL COMMENT "销售单id",`order_status`
tinyint(3) unsigned NOTNULLDEFAULT"0" COMMENT "奖励人:1, 团长奖励 2. 失败奖励 3. 返现拼团",`send_time`
datetimeDEFAULTNULL COMMENT "发放时间",`reward_type`
tinyint(3) unsigned NOTNULL COMMENT "奖励类型1:实物奖励-充值到账户
2:实物奖励-直接发货
3:优惠券奖励
4:积分奖励
5:现金返利
6.返利拼团
",`reward_value`
varchar(255) NOTNULL COMMENT "奖励 (reward_type=6时为返现金额)",`reward_send_type`
tinyint(3) unsigned DEFAULTNULL COMMENT "奖励发放类型: 1=成团立即发送 2=配送单完成之后15天 3=订单完成后七天",`reward_expect_time`
datetimeDEFAULTNULL COMMENT "奖励预计发送时间",`status`
tinyint(3) DEFAULT"1" COMMENT "发放状态 1.待发放 2.已发放 3.待审核",`created_at`
datetimeDEFAULTNULL,`updated_at`
datetimeDEFAULTNULL,PRIMARYKEY (`id`)) ENGINE
=InnoDB AUTO_INCREMENT=855DEFAULT CHARSET=utf8 COMMENT="拼团奖励表";
总结
拼团活动的设计基本要素上面已经说到,离不开:拼团人数,拼团有效时间,拼团成团时间,成团商品。更多的扩展就要看需求了,上面的设计仅做参考,也希望能帮助到你。
CREATETABLE `pintuan_activities` (`id`
int(10) unsigned NOTNULL AUTO_INCREMENT,`activity_title`
varchar(255) NOTNULL COMMENT "活动标题",`activity_cover`
varchar(255) NOTNULL COMMENT "活动封面",`share_title`
varchar(255) NOTNULL COMMENT "分享标题",`share_desc`
varchar(255) NOTNULL COMMENT "分享描述",`share_cover`
varchar(255) NOTNULL COMMENT "分享封面",`start_time`
datetimeDEFAULTNULL COMMENT "活动开始时间",`end_time`
datetimeDEFAULTNULL COMMENT "活动结束时间",`expire_hour`
tinyint(3) unsigned NOTNULLDEFAULT"24" COMMENT "成团有效时间",`is_on_sale`
tinyint(3) unsigned NOTNULLDEFAULT"0" COMMENT "是否上架 1:上架 0:下架",`sort`
tinyint(3) unsigned NOTNULL COMMENT "排序",`mode`
tinyint(3) unsigned NOTNULLDEFAULT"1" COMMENT "拼团方式:1. 老带新 2. 所有用户",`type`
tinyint(3) unsigned NOTNULL COMMENT "拼团类型:1. 普通拼团 2. 阶梯拼团 3. 加价拼团 4. 返现拼团",`range`
tinyint(3) unsigned NOTNULLDEFAULT"1" COMMENT "拼团位置:1. 线上拼团 2. 线下拼团",`recommend`
tinyint(3) NOTNULLDEFAULT"0" COMMENT "推荐",`goods_package_id`
int(10) unsigned NOTNULL COMMENT "商品套餐ID",`original_price`
decimal(10,2) unsigned NOTNULL COMMENT "原价",`active_rule`
text COMMENT "拼团规则JSON格式",`is_help`
tinyint(4) NOTNULLDEFAULT"0" COMMENT "是否助力0否,1是",`help_user_type`
tinyint(4) NOTNULLDEFAULT"1" COMMENT "助力用户类型 1 老用户 2所有用户",`help_people_num`
tinyint(4) unsigned NOTNULLDEFAULT"1" COMMENT "助力人数",`success_reward_rule`
text COMMENT "成功奖励规则JSON格式reward_type:奖励类型
1:实物奖励-充值到账户
2:实物奖励-直接发货
3:优惠券奖励
4:积分奖励
5:现金返利
reward_value:奖励物品
reward_send_type:发放时间类型
1:成团立即发放
2:下一次配送完成后15天
3:订单完成后7天
",`failure_reward_rule`
text COMMENT "失败奖励规则JSON格式reward_type:奖励类型
1:实物奖励-充值到账户
2:实物奖励-直接发货
3:优惠券奖励
4:积分奖励
5:现金返利
reward_value:奖励物品
reward_send_type:发放时间类型
1:失败立即发放
2:退款审核后发放
",`return_money_rule`
text COMMENT "返现规则",`created_at`
datetimeDEFAULTNULLONUPDATECURRENT_TIMESTAMP,`updated_at`
datetimeDEFAULTNULLONUPDATECURRENT_TIMESTAMP,PRIMARYKEY (`id`)) ENGINE
=InnoDB AUTO_INCREMENT=128DEFAULT CHARSET=utf8 COMMENT="拼团活动表";
拼团订单表
CREATETABLE `pintuan_activity_orders` (`id`
int(10) unsigned NOTNULL AUTO_INCREMENT,`order_sn`
varchar(255) NOTNULLDEFAULT"" COMMENT "拼团订单SN",`business_id`
int(10) NOTNULL COMMENT "商家ID",`
user_id` int(10) unsigned NOTNULL COMMENT "拼主",`group_activity_id`
int(10) unsigned NOTNULL COMMENT "拼团活动ID",`success_time`
datetimeDEFAULTNULLONUPDATECURRENT_TIMESTAMP,`goods_package_id`
int(10) unsigned NOTNULL COMMENT "拼团套餐ID",`status`
int(10) unsigned NOTNULLDEFAULT"1" COMMENT "状态:1. 未支付 2.拼团中 3. 拼团成功 4. 拼团失败",`range`
tinyint(3) unsigned NOTNULLDEFAULT"1" COMMENT "拼团位置:1. 线上拼团 2. 线下拼团",`people_number`
int(10) unsigned NOTNULL COMMENT "成团人数",`remaining_people_number`
int(10) unsigned NOTNULL COMMENT "剩余人数",`expire_hour`
tinyint(3) unsigned NOTNULL COMMENT "成团有效时间",`created_at`
datetimeDEFAULTNULL COMMENT "创建时间",`updated_at`
datetimeDEFAULTNULL,PRIMARYKEY (`id`)) ENGINE
=InnoDB AUTO_INCREMENT=1127DEFAULT CHARSET=utf8 COMMENT="拼团订单表";
如果拼团有设置,比如拼团成功,团长有啥奖励,则就有拼团奖励表
CREATE TABLE `pintuan_activity_rewards` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`user_id` int(10) unsigned NOT NULL COMMENT "用户ID",
`range` tinyint(3) unsigned NOT NULL DEFAULT "1" COMMENT "拼团位置:1. 线上拼团 2. 线下拼团",
`group_activity_order_id` int(10) unsigned NOT NULL COMMENT "拼团订单ID",
`order_id` int(10) NOT NULL COMMENT "销售单id",
`order_status` tinyint(3) unsigned NOT NULL DEFAULT "0" COMMENT "奖励人:1, 团长奖励 2. 失败奖励 3. 返现拼团",
`send_time` datetime DEFAULT NULL COMMENT "发放时间",
`reward_type` tinyint(3) unsigned NOT NULL COMMENT "奖励类型
1:实物奖励-充值到账户
2:实物奖励-直接发货
3:优惠券奖励
4:积分奖励
5:现金返利
6.返利拼团",
`reward_value` varchar(255) NOT NULL COMMENT "奖励 (reward_type=6时为返现金额)",
`reward_send_type` tinyint(3) unsigned DEFAULT NULL COMMENT "奖励发放类型: 1=成团立即发送 2=配送单完成之后15天 3=订单完成后七天",
`reward_expect_time` datetime DEFAULT NULL COMMENT "奖励预计发送时间",
`status` tinyint(3) DEFAULT "1" COMMENT "发放状态 1.待发放 2.已发放 3.待审核",
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=855 DEFAULT CHARSET=utf8 COMMENT="拼团奖励表";
以上是 带上数据表,分析一下拼团活动该如何设计 的全部内容, 来源链接: utcz.com/z/533165.html