|
|
- %%%-------------------------------------------------------------------
- %%% @author liushl
- %%% @doc
- %%% 秒杀活动
- %%% @end
- %%%-------------------------------------------------------------------
- -author("liushl").
-
- -define(SECKILL_NOTICE_TIME, 600). %% 预告时间
- -define(SECKILL_LOG_LENGTH, 20). %% 秒杀记录长度
- -define(SECKILL_GOODS_LOG_LENGTH, 5). %% 商品购买记录长度
-
- %% 秒杀活动管理
- -record(seckill_center, {
- buy_log = #{} %% 购买记录:#{zone_id => []}
- , act_data = #{} %% 活动数据:#{sub_type => #seckill_act{}}
- , round = 0 %% 轮次:
- %% 如果是开启中,则表示当前轮次,如果是未开始,则表示下一轮次,小于round的场次都表示结束
- , round_begin = 0 %% 场次开始时间
- , round_end = 0 %% 场次结束时间
- , ref_round %% 场次切换定时器
- , ref_notice %% 场次预告定时器
- }).
-
- %% 按活动管理
- -record(seckill_act, {
- sub_type = 0 %% 定制活动子类型
- , begin_time = 0 %% 活动开始时间
- , end_time = 0 %% 活动结束时间
-
- , zone_data = #{} %% 分区活动数据
- }).
- %% 秒杀分区数据
- -record(seckill_zone, {
- zone_id = 0 %% 分区id
- , goods_info = [] %% 商品购买情况 [#seckill_goods_info{}]
- , role_info = #{} %% 玩家购买情况 [#seckill_role{}]--场次结束清除数据,不存数据库
- }).
-
- %% 商品数据
- -record(seckill_goods_info, {
- grade_id = 0, %% 商品id
- buy_count = 0, %% 购买次数
- time = 0
- }).
- %% 秒杀玩家购买数据
- -record(seckill_role, {
- role_id = 0 %% 玩家id
- , buy_count = [] %% 购买次数 [{奖励档次,购买数量}]
- }).
- %% 购买记录--保留最新的20条数据
- -record(seckill_buy_log, {
- server = 0,
- name = "",
- cost = 0,
- goods_id = 0,
- num = 0,
- tv_id = 0, %% 传闻id
- time = 0
- }).
|