energy-sources-analysis.md 4.1 KB

五维能量来源分析

所有能量获取来源

# 来源 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%。

// 默认 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 能量规则引擎 规则配置 动态规则触发的扣除