Ltre Oreki 1 年之前
父节点
当前提交
65cff24ff1
共有 1 个文件被更改,包括 119 次插入0 次删除
  1. 119 0
      页游/1、周期充值奖励(202211).md

+ 119 - 0
页游/1、周期充值奖励(202211).md

@@ -0,0 +1,119 @@
+# **写在前面**
+
+> 接口文档: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](http://news.ouj.com/yxdt/s/default/2022/11/18/180132-692-hex48.png)
+
+# **大致业务流程**
+
+1. 当用户充值成功,系统会更新其当周充值总额,判定其达标了哪些门槛,例如1000元满足500和1000两个门槛
+(至于门槛怎么定义,后台可以改,一旦确定,本周的就不要再改了,避免影响数据)
+
+2. 用户打开充值奖励活动页,前端根据接口数据,把这六个奖励门槛信息加载出来,并预先确定在页面上,哪个门槛有“领取奖励”按钮
+
+3. 用户点击“领取奖励”,前端展示出领取凭证码(例如``WEEK2246-U1-5E2E7F0ACBDD663376544D154E19DEAEB63C5382``)
+
+4. 用户凭此码,找客服去索要奖励发放
+
+5. 客服在发放奖励后,手动到后台,打开 【页游管理-坦克充值奖励(2022)-奖励发放记录】,输入玩家提供的 [凭证码],搜索到其领取记录,将此记录的状态改为“已确认发放”,并根据需要,在“备注”里写入与玩家沟通的细节
+
+---
+
+<br>
+
+
+# **周期充值达标 - 奖励弹窗**
+
+> svn://svn.webdev.ouj.com/biz/page_game/doc/坦克充值门槛奖励(2022)/领取奖励弹窗.txt
+
+
+---
+
+<br>
+
+
+# **前台嵌入统计点**
+
+> 代码: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保存的记录,对于用户领奖资格的判断很重要。
+
+--- 
+
+<br>
+
+
+# **达标奖项设置**
+
+> 表 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 - 伪装卡名称(只有伪装卡才有此字段),跟页游后台配置的卡码类型库有关
+
+
+---
+
+<br>
+
+
+# **用户达标记录(充值汇总统计)**
+
+> 表 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) - [奖励发放记录](http://admin.ouj.com/#!nodeId=80201)
+> 
+> 将其领取记录的发放状态改为“已发放(技术语言is_delivered=1)”,并填写与玩家沟通的细节(技术语言note=`***`)
+