Appearance
05 — 量化模块
量化模块将用户的部分收益转化为 FTG 代币,按锁仓计划分期释放,用户到期后手动在 DApp 领取,系统完成链上打款。量化模块与理财模块通过异步队列解耦,互不阻塞。
一、模块定位
量化模块是平台生态激励机制的重要组成部分:
- 用户提现或获得特定奖励时,部分金额转入量化队列
- 系统将队列中的金额按当前汇率折算成 FTG,并生成分期释放计划
- 用户按期领取,每期到账为链上 FTG 代币
二、量化来源(数据入口)
量化订单的资金来自多个业务场景:
| 类型 | 来源 | 说明 |
|---|---|---|
| Type 1 | 历史理财基金积累 | 将用户历史基金余额一次性转化为量化订单(初始化) |
| Type 2 | 汽车订单提现分流 | 汽车订单(gid=1)收益提现时,50% 转入量化队列(单期) |
| Type 3 | 特定奖励(12 期) | 系统或运营派发的 FTG 奖励,分 12 期均摊释放 |
| Type 4 | 考核奖励 | 通过月度考核获得的奖励,按锁仓周期释放 |
| Type 5 | 直推奖励 | 直推团队获得的奖励,固定锁仓 12 个月释放 |
另一条入口为 Stake Webhook:链上质押事件触发 stake/order/do,经 Webhook 进程处理后写入队列。
三、量化订单生成流程
四、FTG 数量计算规则
量化的实际发放数量按以下方式计算:
Type 1(历史基金初始化)
每月 FTG 数量 = CNY 金额 → USDT → FTG × 1.5- 从基金启动日(2024-04-25)起,按月汇总用户基金流水
- 负值月份向前抵扣,确保总量与基金余额一致
- 1.5 倍系数为平台激励补贴
Type 2(单期)
FTG 数量 = 队列中的 FTG 原始值 × 1.5Type 3(12 期)
每期 FTG = 总 FTG 数量 ÷ 12(最后一期补足差额)Type 4 / Type 5
FTG 数量 = 队列中的 FTG 值(直接使用,已按汇率转换)汇率获取
- CNY → USDT → FTG 汇率从区块链服务实时获取
- 系统管理员可通过控制台命令手动更新 CNY 基准价格缓存
五、期数计划(锁仓释放规则)
每个量化订单对应一组期数计划(quantify_order_schedule),规定每一期的到账日期和金额。
| 字段 | 说明 |
|---|---|
| 期数编号(num) | 第 N 期,从 1 开始 |
| 到账日(send_date) | 按"锁仓结束日 + N 个月"计算 |
| FTG 数量 | 本期发放的 FTG 数量 |
| 状态 | 未到账 / 已申请领取 / 已打款成功 |
锁仓规则:
| 类型 | 锁仓月数 |
|---|---|
| Type 1 / 2 / 4 | 系统配置(当前 6 个月) |
| Type 3 / 5 | 固定 12 个月 |
六、用户领取流程
- 领取为用户主动操作,到期不自动发送
- 每笔领取生成独立的链上转账记录,可追溯
七、与理财模块的关系
- 两个模块通过队列异步解耦,理财下单和提现不会阻塞量化订单的生成
- 量化队列消费失败时不影响理财主业务,运营可人工重试
八、关键可配置参数
| 参数 | 当前值 | 影响 |
|---|---|---|
| 锁仓月数(Type 1/2/4) | 6 个月 | 用户等待周期 |
| 激励倍数 | × 1.5 | FTG 实际发放量 |
| CNY 基准价格 | 实时 / 可手动更新 | 折算 FTG 数量 |
| 基金起算日 | 2024-04-25 | 影响 Type 1 历史数据范围 |
九、运营管理入口
| 功能 | 入口 |
|---|---|
| 用户量化订单列表 | 后台 admin / alphata 模块 → 量化订单管理 |
| 提现记录查看 | 量化提现列表 |
| 手动更新 CNY 价格 | 控制台命令 invest/quantify-queue/key |
| 补偿队列处理 | 控制台命令 invest/quantify-queue/index |
所属文件:backend/services/invest/JoinJijinSortService.php、console/controllers/invest/QuantifyQueueController.php、backend/services/ftg/FtgWithdrawService.php、console/controllers/quantify/IncomePaymentController.php、console/controllers/quantify/IncomeCheckController.php