skynet框架推广设计

迪口赚钱推广

一 数据库设计
推广配置信息
--推广奖励配置 conf.spread
M[config_def.SPREAD] = {
    name = config_def.SPREAD,
    indexes = {{key = {id = 1},opt = {unique = true}}},
    value = {
        id = 1,                             --标识id
        bind_award_amount= {},              --成功推广一个玩家赠送数量
        max_award_amount = 15000,           --可从每一个下线玩家处获得最多红包券数量
        max_spread_user_count = 100,        --一个账号可以绑定最多100个下线玩家
        award_ratio = 10,                   --玩家游戏奖励红包券比例(10表示10%)
        valid = db_def.STATE.VALID          --是否有效
    }
}
用户推广数据
--用户推广数据 user.spread
M.SPREAD= {
    name = "spread",
    indexes = {
        {key = {user_id = 1}, opt = {unique = true}},
        {key = {spreader_id = 1}, opt = {unique = false}}
    },
    value = {
        user_id = 0,                --被推广者id
        spreader_id = 0,            --推广者id
        award_amount = 0,           --推广收益
    }
}
二 服务端设计
1.服务器加载后台的有效的推广配置
2.游戏结束,奖励赢家红包券时,如果有上级则同步奖励(上级在线时,实时刷新用户数据。不在线时,则直接更新数据库)
3.用户属性中添加spread_list,存储用户推广数据类型为:
    .User_Spread {                              #推广信息
        user_id 0 : integer                     #下家id
        award_amount 1 : integer                #奖励数量
    }
三 前后端协议
#获取推广配置
get_spreadconf 17000 {						#获取推广奖励配置
    request {
    }
    response {
        spread 0 : *Conf_Spread
    }
}

#获取推广信息
get_spread_info 17001 {
    request {
        
    }
    response {
        ret 0 : integer					    #err 中定义code
    }
}

.Conf_Spread {
    id 0 : integer                          #配置id
    bind_award_amount 1 : integer           #成功推广一个玩家赠送数量
    max_award_amount 2 : integer            #可从每一个下线玩家处获得最多红包券数量
    max_spread_user_count 3 : integer       #一个账号可以绑定最多100个下线玩家
    award_ratio 4: integer                  #玩家游戏奖励红包券比例(10表示10%)
}

#获取奖励数量
get_spread_award_amount 17002 {			#获取奖励数量
    request {
        date_id 0 : integer				#日期id 不传默认今天
    }
    response {
        ret 0 : integer					 #err 中定义code
        date_id 1: integer 	 			 #日期id
        award_amount 2 : integer   	     #奖励数量
    }
}

# 获取得奖记录
get_spread_reward_log 17002 {				# 获取得奖记录
    request {
        begin 1 : integer				#记录ID(第一页传0,下一页传上一页最小的record_id)
        count 2 : integer				#读取多少条记录,不传默认20条
    }
    response {
        ret 0 : integer					 #err 中定义code
        item_list 1: *item_log_info 	 #返回的log数组
    }
}

}

四 网站协议
同步配置关键字(spread)
注意事项
1.conf.spread表重新设计

2.以前的user.spread_bind表弃用,注意修正以前对该表的操作。还有个log.spread表也弃用,游戏不再写数据

3.考虑推广玩家游戏写库频繁,user.spread不实时写库。登录时到数据库加载,登出时,更新数据库。

4.为了区分以前推广的流水奖励,现在新增两个相关流水类型

    SPREAD_BIND     = 18,       --推广绑定                  mender 为绑定用户id
    SPREAD          = 19,       --推广游戏奖励               mender 为绑定用户id

5.客户端get_spread_info时,服务器已update_user方式下发spread_list,后续有变化,服务器以增量方式通知。

6.已邀请好友数量以及已到账收益,客户端通过spread_list自己计算
伍 开发计划
总体设计(服务器):0.5天
1.数据库设计 
2.服务器设计
3.协议设计

服务器部分:
1.配置模块(支持后台修改实时生效) 0.5天 
2.用户统计模块 2天
3.收益明细 0.5天

网站
1.配置0.5 
2.记录1
3.统计(统计相关的修改,以及废弃表相关的代码修正) 1.5

客户端
3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值