1、周期充值奖励(202211).md 4.5 KB

写在前面

接口文档:http://svn.ouj.com:3000/0uj-de4au1t/pgame-doc/src/master/%e5%9d%a6%e5%85%8b%e5%85%85%e5%80%bc%e6%b4%bb%e5%8a%a8%282022%29

后台操作:页游管理-坦克充值奖励(2022) http://admin.ouj.com/#!nodeId=80198

preview

大致业务流程

  1. 当用户充值成功,系统会更新其当周充值总额,判定其达标了哪些门槛,例如1000元满足500和1000两个门槛 (至于门槛怎么定义,后台可以改,一旦确定,本周的就不要再改了,避免影响数据)

  2. 用户打开充值奖励活动页,前端根据接口数据,把这六个奖励门槛信息加载出来,并预先确定在页面上,哪个门槛有“领取奖励”按钮

  3. 用户点击“领取奖励”,前端展示出领取凭证码(例如WEEK2246-U1-5E2E7F0ACBDD663376544D154E19DEAEB63C5382

  4. 用户凭此码,找客服去索要奖励发放

  5. 客服在发放奖励后,手动到后台,打开 【页游管理-坦克充值奖励(2022)-奖励发放记录】,输入玩家提供的 [凭证码],搜索到其领取记录,将此记录的状态改为“已确认发放”,并根据需要,在“备注”里写入与玩家沟通的细节



周期充值达标 - 奖励弹窗

svn://svn.webdev.ouj.com/biz/page_game/doc/坦克充值门槛奖励(2022)/领取奖励弹窗.txt



前台嵌入统计点

代码:svn://svn.webdev.ouj.com/biz/page_game/trunk/api/protected/models/Order.php (515行,obj('OrderCycleSum')->notifyOperIfReachedCycleRechargeaAmount)

此处位于充值发货回调逻辑中。

周期统计核心逻辑

代码:前台 Order::saveRechargeListByCycle()

  1. 确认当前周的 标识符,如2246
  2. 获取用户在本周的充值订单列表
  3. 根据步骤2列表,计算其充值总额
  4. 按条件 [用户UID+周期类型(week)+周期标识符],保存统计数据。
  5. 步骤4保存的记录,对于用户领奖资格的判断很重要。


达标奖项设置

表 order_cycle_reward

数据结构

  • 奖励名,如 500元充值礼包
  • 等级,周期充值达标等级,例如 v1 (好像也没在前端找到可以展示的地方,且当理解数据用吧)
  • 达标额度,例如 不低于500元
  • 周期类型,支持日/周/月(目前只做周统计)
  • 奖励数据JSON

    这里要重点展开

    示例:

      ```{"struct":"default","data":[{"name":"伪装卡(月卡)","img":"https://pub.ouj.com/xie-h5/guide/power-1@2x.png"},{"name":"2500金币","img":"https://pub.ouj.com/xie-h5/guide/power-1@2x.png"}]}```
    

    data列表中包含了一条伪装卡数据,和一条金币数据。

    JSON属性释义

    • struct - 约定数据结构类型,便于前端以不同的方式解包数据(默认值default。目前只有一种类型,所以现阶段可以忽略它)
    • data - 数据正文 > 此为具体的奖励数据,结构会根据struct值灵活调整。现在暂时只有一种结构
    • data[*].name - 奖品名称(必有字段)
    • data[*].img - 奖品图片(必有字段)
    • data[*].type - 奖品类型(必有字段),有:maskcard-伪装卡、coin-金币
    • data[*].cardCode - 伪装卡密(只有伪装卡才有此字段):没有领到奖时,此为空串; 领到伪装卡奖励时,就有卡密
    • data[*].cardName - 伪装卡名称(只有伪装卡才有此字段),跟页游后台配置的卡码类型库有关


用户达标记录(充值汇总统计)

表 order_cycle_sum

汇总条件

uid + cycle_{week|month|date} + cycle_type

当cycle_type=week时,统计条件为:uid+cycle_week+cycle_type

此表在后台可看

周期奖励发放记录

表 order_cycle_reward_deliverd

值得注意的是,此表也有一个reward_json字段,

跟 order_cycle_reward 不同的是,此表的reward_json值,会对部分JSON属性赋上具体值(如伪装卡密:data[*].cardCode)。

客服如何确认发放

admin.ouj.com后台 到 页游管理 - 坦克充值奖励(2022) - 奖励发放记录

将其领取记录的发放状态改为“已发放(技术语言is_delivered=1)”,并填写与玩家沟通的细节(技术语言note=***