拼团设计

最近在做一个拼团的活动,记录下设计过程

 

1、背景

  在这次的需求中,需要设计一个社区拼团的活动。这个活动需要精确到具体商家,门店,商品。团长开团,团员参团,团长开团是可以选择不同阶梯人数,每个阶梯人数价格不同,团长和团员有身份和参与次数限制。成团之后统一进行库存管理

2、技术

  基于springboot技术,为了方便打印日志,作用AOP编程打印接口的入参和出参

3、数据库设计

  首先使用一个activity表存储活动的基本信息,同时新建一个活动商品信息的表activity_product,这个表通过活动ID和活动表进行关联,团信息的表activity_assemble通过活动ID和商品ID,商家ID,门店ID相关联,团详情的表assemble_detail则通过团ID和团信息表关联。因为可能频繁的调用团信息,在团信息表中,对storeId和skuId两个字段建索引,加快查询的速度。

4、缓存

  用户在进入商品详情页的时候会通过商品ID和店铺ID来查询活动信息,所以使用店铺ID和skuId作为Key来存储活动的基本信息加速接口的响应速度。团员支付成功后,为避免团员超限问题,使用团ID作为key存储团成员的数量,在支付成功的时候通过redis的decr控制。在成团的同时会去扣减库存,为了避免超卖的问题,使用redis做分布式锁,

posted @ 2020-07-31 11:44  jie的博客  阅读(374)  评论(0)    收藏  举报