|
|
@@ -0,0 +1,83 @@
|
|
|
+# 五维能量来源分析
|
|
|
+
|
|
|
+## 所有能量获取来源
|
|
|
+
|
|
|
+| # | 来源 | sourceType | 触发行为 | 能量值 | 过期天数 | 说明 |
|
|
|
+|---|------|-----------|---------|--------|---------|------|
|
|
|
+| 1 | **完成任务** | `task` | 孩子完成任务(家长审核通过) | = 任务积分(1-10) | 永久 | 积分越高能量越多 |
|
|
|
+| 2 | **完成游戏** | `game` | 孩子完成小游戏 | = 获得积分(1-10) | 永久 | 游戏积分同步 |
|
|
|
+| 3 | **活动签到** | `activity` | 活动签到 | = 签到积分(默认5) | 永久 | 积分可配置 |
|
|
|
+| 4 | **阅读文章** | `article` | 阅读文章后完成任务 | = 文章积分 | 永久 | 积分由文章配置 |
|
|
|
+| 5 | **商品购买** | `product` | 支付成功 | = 订单总金额(分) | 30天 | 按消费金额计算 |
|
|
|
+| 6 | **健康打卡** | `health_checkin` | 完成健康打卡 | 默认5(可配置) | 30天 | 身维度 |
|
|
|
+| 7 | **理财打卡** | `checkin` | 完成理财打卡 | 默认5(可配置) | 永久 | 富维度 |
|
|
|
+| 8 | **情绪打卡** | `emotion_checkin` | 完成情绪打卡 | 5 | 0天(不过期) | 心维度 |
|
|
|
+| 9 | **预约测评** | `appointment` | 提交测评预约 | 10 | 永久 | 预约即给 |
|
|
|
+| 10 | **完成测评** | `appointment` | 规划师完成测评录入 | 30 | 永久 | 完成后给 |
|
|
|
+| 11 | **连续打卡** | `streak` | 每日打卡(每日) | 5 | 永久 | 每天连续打卡给 |
|
|
|
+| 12 | **打卡里程碑** | `streak` | 达到里程碑天数 | 里程碑奖励积分 | 永久 | 如7天/30天/100天 |
|
|
|
+| 13 | **成长任务** | `growth_day` | 完成每日成长任务 | 任务配置值 | 1天 | 每日任务 |
|
|
|
+| 14 | **微行动** | `micro_action` | 完成微行动 | 1 | 30天 | 每次1点 |
|
|
|
+| 15 | **新手引导** | `onboarding` | 完成引导任务 | 任务配置值 | 30天 | 一次性 |
|
|
|
+| 16 | **邀请里程碑** | `invite_milestone` | 达到邀请人数里程碑 | 里程碑配置值 | 30天 | 按邀请人数 |
|
|
|
+| 17 | **维度同步** | `dimension` | 健康维度数据上传 | 计算值(见下方) | 30天 | 根据维度评分计算 |
|
|
|
+| 18 | **能量规则引擎** | `eventType` | 各类事件(可配置) | 规则配置值 | 永久 | 动态规则 |
|
|
|
+| 19 | **手动发放** | `task`(对外) | 家长手动发放 | 自定义(1-200) | 永久 | 通过/grant接口 |
|
|
|
+
|
|
|
+## 能量分配方式
|
|
|
+
|
|
|
+`awardEnergy()` 方法内部按以下规则分配能量到各维度:
|
|
|
+
|
|
|
+### 有 `energy_source_config` 配置时
|
|
|
+从 `energy_source_config` 表读取 `source_type + source_id` 对应的维度比例配置。
|
|
|
+
|
|
|
+### 无配置时(默认 Fallback)
|
|
|
+默认全部归入 **行动维度(action)**,比例 100%。
|
|
|
+
|
|
|
+```java
|
|
|
+// 默认 Fallback → 行(action) 100%
|
|
|
+EnergyDimension action = getDimByCode("action");
|
|
|
+return Collections.singletonMap(action.getId(), 10000); // 100%
|
|
|
+```
|
|
|
+
|
|
|
+### 日上限控制
|
|
|
+
|
|
|
+| 限制类型 | 值 | 说明 |
|
|
|
+|---------|-----|------|
|
|
|
+| 全局日上限 | 200 | 所有维度合计每天最多200 |
|
|
|
+| 身(body) | 50 | 身维度每天最多50 |
|
|
|
+| 心(mind) | 40 | 心维度每天最多40 |
|
|
|
+| 智(wisdom) | 80 | 智维度每天最多80 |
|
|
|
+| 行(action) | 60 | 行维度每天最多60 |
|
|
|
+| 富(wealth) | 50 | 富维度每天最多50 |
|
|
|
+
|
|
|
+## 动态值说明
|
|
|
+
|
|
|
+### 商品购买能量
|
|
|
+```
|
|
|
+能量值 = 订单总金额(单位:分)
|
|
|
+例如:购买100元商品 → 10000分 → 获得10000能量 → 全部分配到action维度
|
|
|
+```
|
|
|
+
|
|
|
+### 维度同步能量
|
|
|
+```
|
|
|
+能量值 = 归一化维度评分 × 权重因子
|
|
|
+评分范围0-100,权重因子从sys_config读取
|
|
|
+```
|
|
|
+
|
|
|
+### 成长任务/引导/里程碑
|
|
|
+这些能量值存储在对应的数据库表中,由管理员在管理后台配置:
|
|
|
+
|
|
|
+| 表 | 字段 | 说明 |
|
|
|
+|----|------|------|
|
|
|
+| `growth_task` | `reward_energy` | 每日成长任务能量奖励 |
|
|
|
+| `onboarding_task` | `reward_energy` | 新手引导各步骤能量奖励 |
|
|
|
+| `invite_milestone` | `reward_energy` | 邀请里程碑能量奖励 |
|
|
|
+
|
|
|
+## 能量消耗来源
|
|
|
+
|
|
|
+| # | 用途 | 维度 | 说明 |
|
|
|
+|---|------|------|------|
|
|
|
+| 1 | 心愿兑换扣除 | `action`(行) | 孩子兑换心愿时扣减 |
|
|
|
+| 2 | 未报名签到惩罚 | 活动维度 | 未报名参加活动签到扣减 |
|
|
|
+| 3 | 能量规则引擎 | 规则配置 | 动态规则触发的扣除 |
|