五维功能清单与能量映射:每个维度有什么功能 + 每个功能提供多少能量
日期: 2026-07-12
状态: 初稿
关联文档: 五维能量系统设计, 五维相克完整设计, 首页与转化算法, 五行哲学
概述
本文档定义每个维度有哪些功能、每个功能做什么、每个功能提供多少能量。
系统有两套并行的能量体系:
| 体系 |
用途 |
范围 |
| 能量账本 (Ledger) |
孩子消耗性能量(发/扣,有日上限) |
孩子端功能激励(任务/打卡/游戏/活动) |
| 五维评分 (Score) |
0-100 维度的健康评分(无消耗,纯评估) |
家长 + 孩子,综合评估 |
账本能量通过 awardEnergy() 方法发放,通过 EnergySourceConfig 表配置到各维度。
评分通过 calcChildEnergy() / calcParentEnergy() 计算,是各维度数据源的加权综合。
一、能量账本体系 (Ledger)
1.1 现有 sourceType 总览
目前系统有 14 种来源类型 可发放能量:
| # |
sourceType |
中文名 |
触发时机 |
能量范围 |
维度映射 |
| 1 |
task |
任务奖励 |
孩子完成任务(状态→completed) |
1-30 |
按任务category配置 |
| 2 |
activity |
活动参与 |
孩子参加活动签到 |
5-20 |
按活动类型配置 |
| 3 |
streak |
连续打卡里程碑 |
达到连续打卡天数里程碑 |
5-30 |
默认→行(action) |
| 4 |
product |
商品购买 |
购买商品/套餐 |
10-50 |
按商品类型配置 |
| 5 |
onboarding |
新手引导 |
完成新手引导步骤 |
5-10 |
默认→行(action) |
| 6 |
invite_milestone |
邀请里程碑 |
成功邀请新用户 |
10-30 |
默认→行(action) |
| 7 |
health_checkin |
健康打卡 |
每日健康数据打卡 |
3-10 |
默认→身(body) |
| 8 |
growth_day |
成长日奖励 |
完成当日成长任务 |
5-15 |
按任务类型配置 |
| 9 |
game |
小游戏 |
完成小游戏(舒尔特/猜数字/数独) |
3-15 |
按游戏类型配置 |
| 10 |
checkin |
每日签到 |
每日签到 |
1-5 |
默认→行(action) |
| 11 |
emotion_checkin |
情绪打卡 |
记录当日情绪 |
5 |
硬编码→心(mind) |
| 12 |
dimension |
维度能量同步 |
五维评分≥阈值时同步发能量 |
5-20 |
按评分维度配置 |
| 13 |
appointment |
测评预约 |
完成测评预约/到场 |
10-30 |
按预约类型配置 |
| 14 |
article |
文章互动 |
阅读/点赞/评论文章 |
2-10 |
按文章维度配置 |
1.2 日上限配置
// EnergyService.java
GLOBAL_DAILY_LIMIT = 200 // 全局每日最多 200 能量
// 按维度
body (身) 50/天
mind (心) 40/天
wisdom (智) 80/天
action (行) 60/天
wealth (富) 50/天
1.3 维度比例配置(Fallback 链)
EnergySourceConfig 表配置每类来源的维度比例:
明确配置 → sourceType + sourceId 精确匹配 → 使用配置比例
无配置 → Fallback 默认 → 行(action) 100%
建议的新 Fallback 链(本文档提出):
明确配置 → sourceType + sourceId 精确匹配
→ sourceType 通用配置(sourceId=0)
→ 根据 sourceType 智能默认
→ 行(action) 100%(兜底)
1.4 各 sourceType 的能量值建议
以下是基于现有代码经验 + 产品价值评估的建议能量值:
| sourceType |
单次发放 |
频率上限 |
说明 |
| task |
任务难度×3(例:简单3、中等6、挑战15) |
按任务频率 |
鼓励完成 |
| activity |
5-20,参与+10,积极互动+20 |
每活动1次 |
活动参与激励 |
| streak |
连续3天=5, 7天=10, 14天=20, 30天=30 |
里程碑发放 |
鼓励坚持 |
| product |
订单额/100(保底5,上限50) |
每订单1次 |
消费激励 |
| onboarding |
5-10,完成所有步骤额外+20 |
一次性 |
新手引导 |
| invite_milestone |
邀请1人=10,3人=20,5人=30 |
里程碑发放 |
社交裂变 |
| health_checkin |
3/次,连续7天额外+10 |
每日1次 |
健康习惯 |
| growth_day |
完成度×15(全部完成=15) |
每日1次 |
成长任务 |
| game |
分数/10(最低3,上限15) |
每局1次 |
认知训练 |
| checkin |
1/次,连续7天额外+5 |
每日1次 |
签到习惯 |
| emotion_checkin |
5/次 |
每日1次 |
情绪觉察 |
| dimension |
评分×0.2(评分80=16能量) |
每周1次 |
评分同步激励 |
| appointment |
预约=10,到场=20,出结果=30 |
每次1次 |
测评闭环 |
| article |
阅读=2,点赞=5,评论=8 |
每篇1次 |
内容互动 |
二、五维评分体系 (Score) — 每个维度的功能清单
以下以 孩子 视角为主,同时注明 家长 的差异。
2.1 身 (Body · 土 · 主动健康)
功能列表
| 功能 |
数据源 |
家长/孩子 |
评分权重(孩子) |
能量账本关联 |
| ① 健康报告 |
HealthReport.overallScore(体检/菌群/营养报告) |
孩子优先 |
主要(≥60%) |
— |
| ② 运动任务 |
Task 中 category∈{运动,体育,户外,健康} 完成率 |
两者 |
降级使用(无报告时100%) |
task→身 |
| ③ 健康打卡 |
health_checkin 打卡频率 |
孩子 |
— |
health_checkin |
| ④ 体质调理 |
精准营养方案跟进(待实现) |
两者 |
待定 |
— |
评分算法
孩子:
IF 有健康报告(overallScore) THEN 取overallScore
ELSE 运动/户外类任务完成率(近365天)
家长:
1. 优先:孩子健康报告(取任意一个孩子的第一份报告)
2. 降级:运动/户外任务完成率
能量账本中"身"的来源
| 来源 |
单次能量 |
说明 |
| health_checkin |
3-10/次 |
每日健康数据打卡 |
| task(运动/户外类) |
按任务难度 3-20 |
运动任务完成 |
| product(健康商品) |
5-30 |
购买健康类商品 |
2.2 心 (Mind · 火 · 大爱相随)
功能列表
| 功能 |
数据源 |
家长/孩子 |
评分权重(孩子) |
能量账本关联 |
| ① DAN EMI测评 |
DanAssessmentResult 的 emotionManagement + empathy + socialAdaptability + selfMotivation 平均分 |
孩子 |
70% |
— |
| ② 先天心基分 |
FamilyMemberAttributes.mindBaseScore |
孩子 |
30%(有DAN时) |
— |
| ③ 情绪打卡 |
emotion_checkin 打卡频率 → modifier |
孩子 |
modifier±5% |
emotion_checkin(5/次) |
| ④ 亲子任务 |
Task 中 category∈{学习,阅读,亲子,情感,成长} 完成率 |
两者 |
Fallback降级 |
task→心 |
| ⑤ 家庭天盘相性 |
天盘中成员关系质量(待实现) |
两者 |
待定 |
— |
| ⑥ 传承记录 |
家训阅读、给孩子的信(待实现) |
家长 |
待定 |
article→心 |
评分算法
孩子:
IF 有DAN EMI:
base = EMI四子分平均 × 0.70
IF 有先天心基分:
base += 先天心基分 × 0.30
score = base × (1 + behaviorModifier) // modifier: -20% ~ +20%
ELSE IF 有先天心基分:
score = 先天心基分 × (1 + behaviorModifier)
ELSE:
score = 学习/阅读/亲子类任务完成率(近365天)
家长:
学习/阅读/亲子类任务完成率(近365天)
(家长缺少DAN和先天数据,暂用任务完成率)
behaviorModifier 构成(孩子):
- 任务完成率 ±5%(学习/阅读/亲子/好习惯/运动类,近90天)
- 游戏表现 ±5%(所有游戏平均分)
- clamped 到 ±20%
能量账本中"心"的来源
| 来源 |
单次能量 |
说明 |
| emotion_checkin |
5/次,日上限1次 |
情绪打卡 |
| task(情感/成长类) |
5-15/次 |
亲子情感任务 |
| article(心理/亲子类) |
2-8/次 |
阅读心理文章 |
2.3 智 (Wisdom · 金 · 赋能未来)
功能列表
| 功能 |
数据源 |
家长/孩子 |
评分权重(孩子) |
能量账本关联 |
| ① DAN COG测评 |
DanAssessmentResult 六子分加权平均:注意15%+专注15%+记忆20%+逻辑20%+感知15%+空间15% |
孩子 |
70% |
— |
| ② 先天智基分 |
FamilyMemberAttributes.wisdomBaseScore |
孩子 |
30%(有DAN时) |
— |
| ③ 小游戏 |
GameRecord 舒尔特方格/猜数字/数独 得分 |
孩子 |
modifier±5% |
game→智 |
| ④ 阅读时长 |
ArticleReadingRecord 近30天总阅读时长 |
孩子 |
Fallback 33% |
article→智 |
| ⑤ 测评Overall |
DanAssessmentResult.overallScore |
孩子 |
Fallback 33% |
appointment→智 |
| ⑥ 学习任务 |
Task 中 category∈{学习,培训,技能,阅读,知识} 完成率 |
两者 |
Fallback 降级/家长100% |
task→智 |
评分算法
孩子:
IF 有DAN COG:
danScore = 注意×0.15 + 专注×0.15 + 记忆×0.20 + 逻辑×0.20 + 感知×0.15 + 空间×0.15
base = danScore × 0.70
IF 有先天智基分:
base += 先天智基分 × 0.30
score = base × (1 + behaviorModifier)
ELSE IF 有先天智基分:
score = 先天智基分 × (1 + behaviorModifier)
ELSE (旧逻辑Fallback):
score = 游戏平均分×34% + 测评Overall×33% + 阅读时长×33%
家长:
学习/培训/技能类任务完成率(近365天)
能量账本中"智"的来源
| 来源 |
单次能量 |
说明 |
| game |
得分/10(最低3,上限15) |
认知训练小游戏 |
| article(知识类) |
2-8/次 |
阅读知识文章 |
| task(学习/培训类) |
5-20/次 |
学习任务 |
| appointment(测评) |
10-30/次 |
完成测评预约 |
2.4 行 (Action · 木 · 人际和谐)
圈子(珍珠图)概念
圈子是行的核心社交机制。基于用户在其他三个维度(身·心·智)上的共同话题、共同参与、共同爱好、共同能力,自动或半自动形成社交圈,每个圈如同一颗"珍珠",多个圈串联成珍珠图。
身(健康/运动) ──┐
心(情绪/亲子) ──┼──┐
智(学习/游戏) ──┘ │
├──→ 共同点匹配 → 圈子/珍珠 → 行(社交行动)
富(产品/服务) ────┘ │
│
身(身体状况) ──────┘
珍珠图 vs 章鱼图:
| 维度 |
图 |
核心 |
表达 |
| 行 |
珍珠图 |
多维度共同点匹配 → 形成圈 |
"我们有什么共同点" |
| 富 |
章鱼图 |
现有重要关系组件 FamilyRelationGraph |
"我认识谁" |
珍珠图中的每个圈可以基于(来源覆盖所有维度):
- 共同话题(心·智):同一篇文章/测评的讨论组
- 共同参与(行·身):同一活动/任务的参与者
- 共同爱好(身·心):运动偏好/游戏偏好/阅读偏好相似的用户
- 共同能力(智):DAN 测评某子分接近(如逻辑能力相近的圈子)
- 共同产品(富):购买了同一商品/套餐的用户
- 共同身体状况(身):健康报告指标相似(如同为过敏体质、维生素D偏低)
- 共同服务商身份(富·行):绑定了同一位成长规划师/同一种 vendor_type
功能列表
| 功能 |
数据源 |
家长/孩子 |
评分权重(孩子) |
能量账本关联 |
| ① 连续打卡 |
FamilyMember.streakDays |
孩子 |
30% |
streak→行, checkin→行 |
| ② 习惯任务 |
Task 中 category∈{好习惯,习惯,自理,家务} 完成率 |
孩子 |
40% |
task→行 |
| ③ 社交参与 |
活动参与/分享/邀请/社区互动,以及圈子/珍珠图内的互动频率 |
孩子 |
30% |
activity→行, invite_milestone→行 |
| ④ 自律任务 |
Task 中 category∈{习惯,自律,家务,自理,作息} 完成率 |
家长 |
家长100% |
task→行 |
评分算法
孩子:
streakScore = 连续天数/参考上限 × 100 (打卡30%)
habitScore = 好习惯/自理/家务类任务完成率 (习惯40%)
socialScore = 活动参与频率 + 圈子互动热度 + 邀请/分享行为 (社交30%)
score = streakScore × 0.3 + habitScore × 0.4 + socialScore × 0.3
家长:
习惯/自律/家务/自理/作息类任务完成率(近365天)
关于参考上限:取当前孩子连续打卡天数 与 系统最高里程牌天数 的较大值。
如果孩子打卡30天,系统最高里程碑也是30天,则 streakScore = 30/30×100 = 100。
能量账本中"行"的来源
| 来源 |
单次能量 |
说明 |
| checkin(签到) |
1-5/次 |
每日签到 |
| streak(里程碑) |
5-30/里程碑 |
连续打卡奖励 |
| task(习惯/家务类) |
3-15/次 |
习惯任务 |
| activity |
5-20/次 |
活动参与 |
| 所有 Fallback 默认 |
按sourceType |
无配置时默认100%→行 |
2.5 富 (Wealth · 水 · 利他创富)
功能列表
| 功能 |
数据源 |
家长/孩子 |
评分权重(孩子) |
能量账本关联 |
| ① 积分获取效率 |
近1年正向积分 / 同期可用积分上限 |
孩子 |
60% |
— |
| ② 学业成绩 |
DanAssessmentResult 近3次 overviewScore 加权+进步趋势 |
孩子 |
40% |
appointment→富 |
| ③ 金钱/收入 |
用户积分总量 / 500(参考上限) |
家长 |
50% |
product→富 |
| ④ 社会成就 |
职称/奖项(待实现) |
家长 |
30%(占位) |
— |
| ⑤ 资源网络 |
章鱼图——现有 FamilyRelationGraph 组件,展示家庭重要关系网络及联系人管理 |
家长 |
20% |
ContactCard, ContactImport→富 |
评分算法
孩子(社交已移至行维度):
educationScore = 近3次DAN overallScore加权(权重递减: 0.5/0.3/0.2) + 进步加分(比上次提升≥5分加5%)
pointsScore = 近1年已得积分 / 同期任务总积分 × 100
score = education × 0.4 + points × 0.6
家长:
incomeScore = totalPoints / 500 × 100 (上限100)
achievementScore = 0(待实现)
networkScore = 章鱼图关系网络活跃度(重要关系数量 + 互动频率折算)
score = income × 0.5 + achievement × 0.3 + network × 0.2
能量账本中"富"的来源
| 来源 |
单次能量 |
说明 |
| product(高价值) |
消费额/100(保底5) |
消费反馈 |
| invite_milestone |
10-30/里程碑 |
社交贡献 |
| growth_day |
5-15/天 |
成长日任务 |
| onboarding |
5-10/步 |
新手指引 |
三、功能-维度-能量全景映射表
3.1 孩子端完整映射
| 功能 |
所属维度 |
作用方式 |
单次/周期能量 |
日上限贡献 |
| 健康报告解析 |
身(主要) |
评分数据源 |
—(影响评分) |
— |
| 运动任务 |
身(主要)+行(次) |
评分+账本 |
3-20/次 |
body=50 |
| 健康打卡 |
身(主要) |
账本 |
3-10/次 |
body=50 |
| DAN EMI测评 |
心(主要) |
评分数据源 |
—(影响评分) |
— |
| 情绪打卡 |
心(主要) |
账本+评分modifier |
5/次 |
mind=40 |
| 亲子任务 |
心(主要)+行(次) |
评分+账本 |
5-15/次 |
mind=40 |
| DAN COG测评 |
智(主要) |
评分数据源 |
—(影响评分) |
— |
| 小游戏 |
智(主要)+心(次) |
评分modifier+账本 |
3-15/局 |
wisdom=80 |
| 阅读文章 |
智(主要)+心(次) |
评分+账本 |
2-8/篇 |
wisdom=80 |
| 学习任务 |
智(主要) |
评分+账本 |
5-20/次 |
wisdom=80 |
| 连续打卡 |
行(主要) |
评分+账本 |
1-5/天 |
action=60 |
| 习惯任务 |
行(主要)+身(次) |
评分+账本 |
3-15/次 |
action=60 |
| 活动参与 |
行(主要)+心(次) |
评分+账本 |
5-20/次 |
action=60 |
| 社交邀请 |
行(主要) |
评分+账本 |
10-30/里程碑 |
action=60 |
| 积分获取 |
富(主要) |
评分数据源 |
—(影响评分) |
— |
| 邀请好友 |
富(主要)+行(次) |
账本 |
10-30/里程碑 |
wealth=50 |
| 成长日任务 |
富(主要)+智(次) |
账本 |
5-15/天 |
wealth=50 |
| 测评预约 |
智(主要)+心(次) |
账本 |
10-30/次 |
wisdom=80 |
| 商品购买 |
按商品类型 |
账本 |
5-50/次 |
按维度 |
| 新手指引 |
行(主要) |
账本 |
5-10/步(一次性) |
不限制 |
3.2 家长端完整映射
| 功能 |
所属维度 |
作用方式 |
数据源 |
| 孩子健康报告间接 |
身 |
评分(取第一个孩子报告) |
HealthReport |
| 运动健康类任务 |
身 |
评分(降级) |
Task完成率 |
| 学习/培训类任务 |
智 |
评分 |
Task完成率 |
| 亲子/成长类任务 |
心 |
评分 |
Task完成率 |
| 习惯/自律类任务 |
行 |
评分 |
Task完成率 |
| 积分总量 |
富 |
评分 |
totalPoints / 500 |
家长端没有能量账本——家长不消耗/积累能量,只有五维评分(健康指数)。
四、系统实现要点
4.1 需要新增的 sourceType 配置
建议在 DatabaseInitializer 中预置以下通用配置(sourceId=0 表示通用):
-- 身(body) 来源
('health_checkin', 0, '健康打卡', @bodyId, 10000), -- 100% 身
-- 心(mind) 来源
('emotion_checkin', 0, '情绪打卡', @mindId, 10000), -- 100% 心
-- 智(wisdom) 来源
('game', 0, '小游戏', @wisdomId, 10000), -- 100% 智(暂定)
('article', 0, '文章', @wisdomId, 6000), -- 60% 智
('article', 0, '文章', @mindId, 4000), -- 40% 心
('appointment', 0, '测评预约', @wisdomId, 10000), -- 100% 智
-- 行(action) 来源
('checkin', 0, '每日签到', @actionId, 10000), -- 100% 行
('streak', 0, '连续打卡', @actionId, 10000), -- 100% 行
('activity', 0, '活动参与', @actionId, 10000), -- 100% 行(暂定)
-- 富(wealth) 来源
('growth_day', 0, '成长日奖励', @wealthId, 10000), -- 100% 富
('invite_milestone', 0, '邀请里程碑', @wealthId, 10000), -- 100% 富
4.2 日上限配置调整建议
| 维度 |
当前 |
建议 |
理由 |
| body |
50 |
50 |
健康打卡(3-10) + 运动任务,合理 |
| mind |
40 |
50 |
情绪打卡(5) + 亲子任务,目前偏低 |
| wisdom |
80 |
80 |
游戏(15) + 阅读(8) + 学习任务(20),认知类应最多 |
| action |
60 |
60 |
签到(5) + 习惯任务(15) + 活动(20),合理 |
| wealth |
50 |
50 |
成长日(15) + 邀请(30),合理 |
4.3 MemberEnergyDTO 待扩展字段(从 v2.0 设计)
// 新增字段(当前只有bodyScore/mindScore/wisdomScore/actionScore/wealthScore/overallScore)
private Integer bodyScore;
private Integer mindScore;
private Integer wisdomScore;
private Integer actionScore;
private Integer wealthScore;
private Integer overallScore;
// 需要新增:
// 子维度(心)
private Integer mindEmotionStable; // 情绪稳定性
private Integer mindUnderstanding; // 理解包容
private Integer mindLegacy; // 传承传递
// 子维度(富)
// 孩子
private Integer wealthEducation; // 学业成绩
private Integer wealthSocial; // 社交筹码
private Integer wealthPoints; // 规则博弈
// 家长
private Integer wealthIncome; // 金钱/收入
private Integer wealthAchievement; // 社会成就
private Integer wealthNetwork; // 资源网络
// 克状态(5个)
private String bodyWealthStatus; // 身克富: normal/overdraw/penalty
private String bodyWealthMessage; // 用户可见消息
// ... 其余4个克类似
4.4 未实现功能(待开发象限)
| 功能 |
所属维度 |
优先级 |
当前状态 |
| 体质调理方案跟进 |
身 |
P1 |
未实现 |
| 精准营养推荐反馈 |
身 |
P1 |
部分实现 |
| 家庭天盘相性分析 |
心 |
P2 |
待实现 |
| 传承传递(家训/信件) |
心 |
P2 |
待实现 |
| 珍珠图/圈子系统 |
行 |
P1 |
待实现 |
| 家长社会成就数据 |
富 |
P2 |
待实现 |
| 家长资源网络数据(章鱼图) |
富 |
P2 |
已有FamilyRelationGraph组件,需接入评分 |
| 孩子社交筹码数据 |
富 |
P2 |
已移至行 |
五、能量分配示例
例1:孩子完成运动任务(跳绳10分钟)
Task: 跳绳10分钟, category="运动", points=5
时间线:
TaskService → awardEnergy(childId, "task", taskId, 3, "任务奖励", null)
EnergySourceConfig 查找:
sourceType="task", sourceId=taskId → 没有精确配置
→ 当前 Fallback: 行(action) 100%
→ 建议 Fallback: 按 category 映射
category="运动" → body 80% + action 20%
分配:
total=3, body=2, action=1
body日上限检查: 今日已有40 → +2 < 50 → OK
→ body余额+2, action余额+1
例2:孩子完成情绪打卡
EmotionCheckin → awardEnergy(childId, "emotion_checkin", checkinId, 5, "情绪打卡奖励", 0)
EnergySourceConfig:
sourceType="emotion_checkin" → mind 100%
分配:
total=5, mind=5
mind日上限检查: 今日已有35 → +5 > 40 → ❌ 超过上限,本次不发放
→ 提示"今日心维度能量已达上限"
例3:孩子完成DAN测评
AssessmentAppointment → 到场触发
awardEnergy(childId, "appointment", appointmentId, 20, "测评到场", null)
EnergySourceConfig:
sourceType="appointment" → wisdom 100%
分配:
total=20, wisdom=20
wisdom日上限检查: 今日已有30 → +20 < 80 → OK
→ wisdom余额+20
附录:代码中关键方法签名
// EnergyService.java
// 账本发放
public Map<String, Integer> awardEnergy(Long childId, String sourceType, Long sourceId,
Integer totalAmount, String description,
Integer daysToExpire)
// 账本扣除
public int deductEnergy(Long childId, Long dimensionId, Integer amount, String reason)
// 配置来源->维度比例
public void configureSourceRatios(String sourceType, Long sourceId, String sourceName,
List<Map<String, Object>> ratios)
// 评分计算
private MemberEnergyDTO calcParentEnergy(User parent)
private MemberEnergyDTO calcChildEnergy(FamilyMember child)
// 各维度评分
private int calcParentBody(User parent)
private int calcParentMind(User parent)
private int calcParentWisdom(User parent)
private int calcParentAction(User parent)
private int calcParentWealth(User parent)
private int calcChildBody(FamilyMember child)
private int calcChildMind(FamilyMember child)
private int calcChildWisdom(FamilyMember child)
private int calcChildAction(FamilyMember child)
private int calcChildWealth(FamilyMember child)
本文档应与 2026-06-05-five-dimension-energy-design.md(系统设计)和 2026-07-12-wuxing-ke-full-design.md(相克关系)配合阅读。