开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 12 天,点击查看活动详情
1.优惠券模板-表结构说明
coupon_template主要是用来处理优惠券模板,配置优惠券的名称,类型和有效期以及状态信息,一般是给运营人员进行生成优惠券配置的
字段说明:
- avalidate:是否有效,用来设置优惠券的状态
- expired:是否过期,用来设置优惠券的有效状态
- name:优惠券的名称
- logo:优惠券logo图片
- intro:优惠券介绍信息
- category:优惠券的分类,因为我们在创建优惠券的时候,优惠券的分类可能是针对新人,或者老用户
- coupon_count:计划生成优惠券的数量
- create_time:优惠券模板创建时间
- user_id:优惠券模板创建人id
- template_key:优惠券模板的key,一般用来识别不同类型的优惠券模板的名称
- target:优惠券额外信息
- rule:优惠券规则,定义优惠券使用条件
2.优惠券表-表结构说明
优惠券表用来存储用户领取的优惠券相关信息
字段说明:
- template_id:优惠券模板id
- user_id:领取的用户id
- coupon_code:优惠券码,用来核销的,同一个优惠券模板生成的优惠券码是不同的,可以认为是优惠券核销的唯一标识
- assign_time:领取时间
- statuss:优惠券的状态
3.优惠券缓存设计
3.1优惠券码缓存设计
可以看出来,优惠券码缓存字段为imooc_coupon_template_code_1
字段说明:
- code_1:标识该优惠券码是优惠券模板id为1生成
- type imooc_coupon_template_code_1 list:优惠券码的数据类型为list,因为一次生成的优惠券可能有多张
- 优惠券码应该永久存在系统中,不设置过期时间
- 优惠券码的key应该设置的有意义,不能存在冲突情况
3.2用户优惠券码缓存设计:
说明:
- 用户优惠券信息可以分成三大类,未使用,已使用,已过期
- 用户的优惠券信息存在过期状态,不适合长期存在redis,因此需要设置过期时间