# 五维相克关系完整设计:三个角度 × 五个克 × 系统实现 **日期:** 2026-07-12 **状态:** 初稿 **分支:** cfclub --- ## 概述 本文档统一定义五维五行相克关系的三层解读框架,以及每个克关系在能量算法、前端展示、产品推荐上的系统体现。 这是对 [`2026-06-08-five-dimension-wuxing-philosophy.md`](./2026-06-08-five-dimension-wuxing-philosophy.md) 的补充和落地方案。该文档定义了五行哲学框架,本文档定义每个克关系的**产品化解读**和**系统实现**。 --- ## 核心框架:克关系的三层解读 每个"克"关系都包含四个角度,而不是单一的"谁制约谁": | 层 | 含义 | 作用 | |:--:|------|:----:| | **角度① 被克方透支** | 克方过度膨胀,被克方被压制 | **预警触发**——最痛的问题,系统需要警示 | | **角度② 克方不足** | 克方太弱,被克方盲目发展 | **引导触发**——不扣分但提示方向 | | **角度③ 克方替代被克方** | 克方本质与被克方冲突,有取代性的行为但没有本质替代 | **检测触发**——检测行为层面的偏斜 | | **角度④ 平衡态** | 克方与被克方相互制衡,共生 | **正向标记**——理想状态,鼓励维持 | ### 克环 五行相克循环: ``` 行(木) ──克──→ 身(土) ──克──→ 富(水) ──克──→ 心(火) ──克──→ 智(金) ──克──→ 行(木) ``` --- ## 维度体系总览 ### 五个维度的完整定义 | 维度 | 五行 | 核心 | 方向 | |:----:|:----:|------|:----:| | **身** | 土 | 主动健康——体质、精力、睡眠 | 内化·生存 | | **智** | 金 | 赋能未来——认知能力、逻辑、知识 | 内化·思辨 | | **富** | 水 | 利他创富——金钱、成就、资源 | 外化·调动 | | **行** | 木 | 人际和谐——陪伴在场、关系密度、利他 | 外化·连接 | | **心** | 火 | 大爱相随——情绪稳定、理解包容、传承 | 内化·情感 | ### 维度数据的多角色差异 | 子维度 | 成人 | 孩子 | |:-------|:-----|:-----| | **身·体质** | 任务完成率、健康报告 | 健康报告overallScore、运动任务完成率 | | **智·认知** | 学习/培训任务完成率 | DAN COG六子分加权 | | **富·金钱/收入** | 积分总量折算 | 积分获取效率 | | **富·成就/地位** | 职称、奖项(待补) | 学业成绩(Dan AssessmentResult overallScore) | | **富·资源网络** | 推荐团队规模(待补) | 活动参与度(待补) | | **行·陪伴在场** | 与家人互动任务完成率(待补) | 家庭共同任务参与率 | | **行·关系密度** | 社交活跃度(待补) | 活动参与次数(待补) | | **行·利他行为** | 推荐/分享行为 | 分享学习用品、帮助他人(待补) | | **心·情绪稳定** | (暂无数据,回0) | 情绪打卡trend + DAN EMI 情绪管理三子分 | | **心·理解包容** | (暂无数据,回0) | DAN EMI 同理心+社会适应 + 家庭天盘相性 | | **心·传承传递** | (暂无数据,回0) | (待补:家训阅读、给孩子的信) | --- ## 克①:行克身(木克土) ### 本质 > 行动对身体的制约——运动、户外活动过度会损耗身体(运动损伤、过度疲劳)。 行的本质是"关系、社交、行动";身的本质是"健康、体质、精力"。行克身指:**过度社交/活动/行动会透支身体机能**。 ### 四层角度 | 角度 | 场景 | 用户画象 | |:----:|------|:---------| | **①透支型** | 行高身低:活动狂、社交达人,结果是慢性疲劳、运动损伤 | "社交达人"、"深夜下班还去聚会" | | **②谨慎型** | 行低身高:宅、不社交,但身体保养得很好 | "养生专家"、"宅家'">"但缺少社会连接 | | **③替代型** | 用"健康管理"替代实际行动——养生焦虑>实际出门活动 | "一天测5次血压的手机养生族" | | **④平衡型** | 行养身:适度运动、规律社交、身心兼修 | "每周运动3次+见2个朋友"的理想状态 | ### 系统实现 #### 杠杆 ```java private int applyActionBodyRestraint(int actionScore, int bodyScore, MemberEnergyDTO dto) { if (actionScore > 75 && bodyScore < 40) { double penalty = 0.5 + 0.5 * (bodyScore / 100.0); int adjusted = (int) Math.round(bodyScore * penalty); dto.setActionBodyStatus("overdraw"); dto.setActionBodyMessage("行动力很强,但身体在报警。适度暂停,是另一种前进"); return Math.min(adjusted, bodyScore); } if (actionScore > 60 && bodyScore > 60) { dto.setActionBodyStatus("balanced"); dto.setActionBodyMessage("身心兼修,动态平衡"); return bodyScore; } if (bodyScore > 70 && actionScore < 30) { dto.setActionBodyStatus("cautious"); dto.setActionBodyMessage("身体底子好,但缺少行动。出门走走,也是养生的一部分"); return bodyScore; } dto.setActionBodyStatus("normal"); return bodyScore; } ``` #### 前端展示 身页面顶部状态条: ``` ┌─ 行身关系 ───────────────────────┐ │ 🌿 行 78分 | 🌏 身 35分 │ │ ⚠️ 行动力很强,但身体在报警 │ │ 适度暂停,是另一种前进 │ └──────────────────────────────────┘ ``` --- ## 克②:身克富(土克水) ### 本质 > 健康对财富的制约——身体是"参赛资格",不是财富的"生产者"(身生智→智生富)。身体出问题,直接消耗财富(医疗开支、收入中断)并削弱创富能力(没有精力追逐机会)。 ### 四层角度 | 角度 | 场景 | 用户画像 | |:----:|------|:---------| | **①透支型** | 富高身低:用健康换钱,身体换来的钱迟早还给医院 | "996打工人"、"创业过劳" | | **②稀释型** | 身高低富:健康正在消耗财富存量 | "老病号"、"慢性病患者" | | **③替代型** | 用"我在养生"代替"我在赚钱"——养生焦虑过度消费 | "保健品囤积狂"、"过度医疗焦虑" | | **④平衡型** | 健康是创富底盘:身体好+财富好,双优状态 | "精力充沛的创业者" | ### 系统实现 #### 杠杆 ```java private int applyBodyWealthRestraint(int bodyScore, int wealthScore, MemberEnergyDTO dto) { if (bodyScore == 0 && wealthScore == 0) { dto.setBodyWealthStatus("normal"); dto.setBodyWealthMessage(""); return wealthScore; } // 角度①:透支型——身低但富高,预警不下调 if (bodyScore < 50 && wealthScore > bodyScore + 20) { dto.setBodyWealthStatus("overdraw"); dto.setBodyWealthMessage("您的健康分较低,当前财富增长可能以健康为代价"); return wealthScore; } // 角度②:稀释型——身严重偏低,直接打折 if (bodyScore < 40) { double penalty = 0.5 + 0.5 * (bodyScore / 100.0); int adjusted = (int) Math.round(wealthScore * penalty); dto.setBodyWealthStatus("penalty"); dto.setBodyWealthMessage("健康正在拖累您的财富创造力,建议优先改善身体状况"); return Math.min(adjusted, wealthScore); } // 角度③:替代型检测——养生行为>>创富行为(待补数据源) // 角度④:平衡态 dto.setBodyWealthStatus("normal"); if (bodyScore >= 70 && wealthScore >= 60) { dto.setBodyWealthMessage("身体是财富的底盘,您处于双优状态"); } else if (bodyScore >= 70 && wealthScore < 40) { dto.setBodyWealthMessage("您的健康基础很好,是启动创富的好时机"); } else { dto.setBodyWealthMessage(""); } return wealthScore; } ``` --- ## 克③:智克行(金克木) ### 本质 > 认知对关系的制约——"智"是内化的个人认知能力,"行"是外化的人际连接能力。两者本质冲突:**用分析代替共情,用评判代替陪伴,用思考代替行动**。 行的核心重新定义为三个子维度:**陪伴在场、关系密度、利他行为**,"智"与"行"的冲突本质是"分析逻辑"与"同理心人际"之间的天然矛盾。 ### 四层角度 | 角度 | 场景 | 用户画像 | |:----:|------|:---------| | **①认知孤独型** | 智高行低:成绩好被孤立,用逻辑与人交往=把朋友当问题解决 | "独来独往的学霸"、"太聪明没朋友" | | **②盲目社交型** | 行高智低:人缘好但缺方向,容易被带偏 | "受同伴影响大的孩子"、"社交但不上进" | | **③替代型** | 用"我在思考/分析"代替"我去行动/处关系"——智成了行动的借口 | "我在调研竟品所以不拜访客户" | | **④平衡型** | 智行并进:有深度认知,也有社交温度 | "班干部+成绩好"、"既能独立工作又融入团队" | ### 系统实现 #### 杠杆 ```java private int applyWisdomActionRestraint(int wisdomScore, int actionScore, MemberEnergyDTO dto) { // 角度②:盲目社交型——智低行高,行动效率打折 if (wisdomScore < 30 && actionScore > 50) { double penalty = 0.6 + 0.4 * (wisdomScore / 100.0); int adjusted = (int) Math.round(actionScore * penalty); dto.setWisdomActionStatus("blind"); dto.setWisdomActionMessage("行动力很强,但有方向会让努力更有效。建议先做一次测评"); return Math.min(adjusted, actionScore); } // 角度①:认知孤独型——智高行低,不下调只预警 if (wisdomScore > 80 && actionScore < 40) { dto.setWisdomActionStatus("paralysis"); dto.setWisdomActionMessage("聪明不等于会相处。朋友不是用逻辑交来的"); return actionScore; } // 角度④:平衡型 dto.setWisdomActionStatus("balanced"); if (wisdomScore >= 60 && actionScore >= 60) { dto.setWisdomActionMessage("知行合一状态,继续保持"); } else if (actionScore >= 60 && wisdomScore < 50) { dto.setWisdomActionMessage("行动力很好,建议增加测评了解方向"); } else { dto.setWisdomActionMessage(""); } return actionScore; } ``` --- ## 克④:富克心(水克火) ### 本质 > 财富对"心"三个层面的侵蚀。 "心"的核心是三个独特的内在维度: | 维度 | 含义 | 方向 | |:----:|------|:----:| | **心·情绪稳定** | 遇事不慌、自我调节、不情绪化 | **内向·稳自己** | | **心·理解包容** | 理解他人、接纳不同、不轻易评判 | **内向·懂他人** | | **心·传承传递** | 家族价值观、生命意义的精神留传 | **内向·留精神** | **陪伴在场归"行"(行·陪伴在场)**,不属于"心"——陪伴是"在不在",心是"在不在状态"。 ### 四层角度 | 角度 | 场景 | 用户画像 | |:----:|------|:---------| | **①情绪爆发型** | 富高心低(情绪层):钱壮胆,在外克制回家发泄,家人成出气筒 | "外面是好好先生,回家就发脾气" | | **②评判型** | 富高心低(包容层):站在财富成就的高度评判他人"不够努力" | "成功创业者看不起职场员工" | | **③替代型** | 用钱替代情感投入:送礼/报班代替陪伴、红包代替探望 | "给孩子一堆课但没时间一起玩" | | **④平衡型** | 富养心:用资源换回陪伴时间,财富服务于情感建设 | "财务自由用来陪家人旅行" | ### 心的子维度算法 ```java // 心·情绪稳定 = 情绪打卡趋势×50% + DAN EMI情绪管理三子分×50% private int calcHeartEmotionStable(Long childId, DanAssessmentResult dan) { EmotionTrendVO trend = emotionCheckinService.getTrend(childId, "month"); int checkinScore = safeScore(trend.getAverageMoodScore()); int danEmotion = 50; if (dan != null) { int ems = safeScore(dan.getEmotionManagementScore()); int resilience = safeScore(dan.getResilienceScore()); int stress = safeScore(dan.getStressCopingScore()); danEmotion = (ems + resilience + stress) / 3; } return clamp((int) Math.round(checkinScore * 0.5 + danEmotion * 0.5), 0, 100); } // 心·理解包容 = DAN EMI 同理心+社会适应×70% + 家庭天盘相性×30% private int calcHeartUnderstanding(Long childId, DanAssessmentResult dan, Long familyId) { if (dan == null) return 50; int empathy = safeScore(dan.getEmpathyScore()); int social = safeScore(dan.getSocialAdaptabilityScore()); int danScore = (empathy + social) / 2; // 家庭天盘相性(待补数据对接) // int tianpanScore = getFamilyCompatibilityAverage(familyId); // return clamp((int) Math.round(danScore * 0.7 + tianpanScore * 0.3), 0, 100); return clamp(danScore, 0, 100); } // 心·传承传递(第一阶段回0占位) private int calcHeartLegacy(Long childId) { return 0; } // 心总评分 // 心 = 情绪稳定×0.40 + 理解包容×0.40 + 传承传递×0.20 ``` ### 杠杆 ```java private int applyWealthHeartRestraint(int wealthScore, int heartScore, MemberEnergyDTO dto) { int emotionStable = dto.getHeartEmotionStable() != null ? dto.getHeartEmotionStable() : 50; int understanding = dto.getHeartUnderstanding() != null ? dto.getHeartUnderstanding() : 50; int legacy = dto.getHeartLegacy() != null ? dto.getHeartLegacy() : 50; // 从底层往上检测——先看情绪,再看包容,最后看传承 if (wealthScore > 70 && emotionStable < 40) { double penalty = 0.4 + 0.6 * (emotionStable / 100.0); int adjusted = (int) Math.round(heartScore * penalty); dto.setWealthHeartStatus("eruption"); dto.setWealthHeartMessage("财富给了底气,也偷走了对家人的耐心。先稳住情绪,再谈其他"); return Math.min(adjusted, heartScore); } if (wealthScore > 60 && understanding < 40) { dto.setWealthHeartStatus("judgmental"); dto.setWealthHeartMessage("站在高处久了,可能忘了普通人走路的难处"); return heartScore; } if (wealthScore > 60 && legacy < 20) { dto.setWealthHeartStatus("materialized"); dto.setWealthHeartMessage("留给孩子的只有存款,价值观也需要传下去"); return heartScore; } if (wealthScore > 70 && heartScore > 65) { dto.setWealthHeartStatus("nourished"); dto.setWealthHeartMessage("您的财富正在滋养家庭情感,这是最好的传承"); return heartScore; } dto.setWealthHeartStatus("normal"); dto.setWealthHeartMessage(""); return heartScore; } ``` ### 富克心的检测优先级 只触发最痛的一层,不堆叠提示: ``` 检测顺序(从下往上): 1. 情绪稳定 < 40 且 富 > 70 → eruption(情绪爆发型) 2. 理解包容 < 40 且 富 > 60 → judgmental(评判型) 3. 传承传递 < 20 且 富 > 60 → materialized(物质替代型) 4. 都没命中 → normal / nourished ``` --- ## 克⑤:心克智(火克金) ### 本质 > 情感与关爱对理性培养的制约——心盛则智衰。 心的核心是情绪稳定、理解包容、传承传递;智的核心是逻辑、分析、知识积累。两者的冲突是**感性对理性的压制**。 ### 四层角度 | 角度 | 场景 | 用户画像 | |:----:|------|:---------| | **①过度保护型** | 心高智低:凡事替孩子想好做好决定好,孩子没有独立思考机会 | "包办型家长"、"直升机父母" | | **②理性冷淡型** | 智高心低:成绩好但与家人疏离 | "高智商低情商"、"理性不和父母沟通" | | **③替代型** | 用"爱"替代"教"——只表扬不批评、只温柔不严格,孩子学不会反思 | "赞美教育过度"、"娃碰不得挫折" | | **④平衡型** | 心养智:温和坚定+留空间,爱与理性并行 | "懂孩子又不过度保护"、"陪伴式教育" | ### 系统实现 ```java private int applyMindWisdomRestraint(int mindScore, int wisdomScore, MemberEnergyDTO dto) { // 角度①:心高智低——过度保护压制智慧成长 if (mindScore > 70 && wisdomScore < 40) { double penalty = 0.5 + 0.5 * (wisdomScore / 100.0); int adjusted = (int) Math.round(wisdomScore * penalty); dto.setMindWisdomStatus("overprotect"); dto.setMindWisdomMessage("放手让孩子试错,是培养智慧的第一步"); return Math.min(adjusted, wisdomScore); } // 角度②:智高心低——不扣智,只提示 if (wisdomScore > 70 && mindScore < 40) { dto.setMindWisdomStatus("cold_wise"); dto.setMindWisdomMessage("智慧需要温度,不然长大了只会做事不会做人"); return wisdomScore; } // 角度④:平衡型 if (mindScore > 60 && wisdomScore > 60) { dto.setMindWisdomStatus("balanced"); dto.setMindWisdomMessage("爱与理性并行,是最好的教育"); return wisdomScore; } dto.setMindWisdomStatus("normal"); return wisdomScore; } ``` --- ## 统一算法框架 ### 通用杠杆模式 每个克关系用一个统一接口: ```java public class WuxingRestraintResult { private String status; // 状态标识 private String message; // 用户可见消息 private int adjustedScore; // 调整后的被克方分值 } // 在 calcParentEnergy / calcChildEnergy 末尾统一调用 private void applyAllRestraints(MemberEnergyDTO dto) { // 行克身 int bodyAdjusted = applyActionBodyRestraint( safeScore(dto.getActionScore()), safeScore(dto.getBodyScore()), dto); dto.setBodyScore(bodyAdjusted); // 身克富 int wealthAdjusted = applyBodyWealthRestraint( safeScore(dto.getBodyScore()), safeScore(dto.getWealthScore()), dto); dto.setWealthScore(wealthAdjusted); // 富克心 — 使用心的加权总分 int heartScore = computeHeartTotal(dto); int heartAdjusted = applyWealthHeartRestraint( safeScore(dto.getWealthScore()), heartScore, dto); dto.setMindScore(heartAdjusted); // mind对应五行之火 // 心克智 int wisdomAdjusted = applyMindWisdomRestraint( heartScore, safeScore(dto.getWisdomScore()), dto); dto.setWisdomScore(wisdomAdjusted); // 智克行 int actionAdjusted = applyWisdomActionRestraint( safeScore(dto.getWisdomScore()), safeScore(dto.getActionScore()), dto); dto.setActionScore(actionAdjusted); } ``` ### 执行顺序 相克环是环形的,但应用杠杆需要顺序以避免循环依赖。使用上下文已经算好的值: ``` 第1轮计算:所有维度独立算分(不依赖其他维度) ↓ 第2轮克杠杆: 1. 行克身(用行动分支和身体分支) 2. 身克富(用使用身调后的分支和财富分支) 3. 富克心(用使用富的调后分支和心的子维度) 4. 心克智(用使用心的调后分和智的原始分) 5. 智克行(用使用智的调后分和行的原始分) ``` 注意:**克杠杆只在第1轮之后执行一次,不做迭代**。因为多轮迭代会导致收敛问题(比如行→身→富→心→智→行,第2轮行的变化又会触发第3轮)。 ### DTO 扩展 ```java // MemberEnergyDTO.java 新增字段 // ===== 身克富标记 ===== private String bodyWealthStatus; private String bodyWealthMessage; // ===== 智克行标记 ===== private String wisdomActionStatus; private String wisdomActionMessage; // ===== 富克心标记 ===== private String wealthHeartStatus; private String wealthHeartMessage; // ===== 心克智标记 ===== private String mindWisdomStatus; private String mindWisdomMessage; // ===== 行克身标记 ===== private String actionBodyStatus; private String actionBodyMessage; // ===== 心的子维度 ===== private Integer heartEmotionStable; private Integer heartUnderstanding; private Integer heartLegacy; ``` --- ## 前端展示设计 ### 状态条通用组件 在每个维度页面的头部,展示该维度涉及的克关系: | 页面 | 展示的克关系 | |:----:|:-----------:| | 身(`pages/body/index.vue`) | 行克身状态条 | | 智(`pages/wisdom/index.vue`) | 心克智状态条 | | 富(`pages/wealth/index.vue`) | 身克富状态条 | | 行(`pages/action/index.vue`) | 智克行状态条 | | 心(`pages/mind/index.vue`) | 富克心状态条 | ### 状态条样式 三种视觉模式: | status | 主题色 | 装饰符号 | 消息风格 | |:------:|:------:|:--------:|:---------| | normal | 灰 | 无 | 不显示(无声) | | *透支/预警 | 琥珀色 | ⚠️ | 警示语气 | | *透支/惩罚 | 红色 | 🔻 | 建议语气 | | *平衡/滋养 | 品牌色 | 🌟 | 肯定语气 | template 模式: ```html {{ iconMap[status] }} {{ message }} ``` ### 状态条内容 ``` ┌─ 行克身 ────────────────────────┐ │ 🌿 行 78分 | 🌏 身 35分 │ │ ⚠️ 行动力很强,但身体在报警 │ └──────────────────────────────────┘ ``` ``` ┌─ 身克富 ────────────────────────┐ │ 🌏 身 82分 | 💧 富 45分 │ │ 💡 健康基础很好,是启动创富的好时机 │ └──────────────────────────────────┘ ``` ``` ┌─ 智克行 ────────────────────────┐ │ ⚔️ 智 85分 | 🌿 行 30分 │ │ ⚠️ 聪明不等于会相处 │ └──────────────────────────────────┘ ``` ``` ┌─ 富克心 ────────────────────────┐ │ 💧 富 75分 | 🔥 心 35分 │ │ ⚠️ 财富给了底气,也偷走了对家人的耐心 │ └──────────────────────────────────┘ ``` ``` ┌─ 心克智 ────────────────────────┐ │ 🔥 心 75分 | ⚔️ 智 30分 │ │ ⚠️ 放手让孩子试错,是培养智慧的第一步 │ └──────────────────────────────────┘ ``` --- ## 产品推荐联动 ### 克关系 → 推荐映射 | 克关系状态 | 系统动作 | 推荐内容 | |:---------:|:--------:|:---------| | actionBody = overdraw | 推荐静养/放松类内容 | 冥想、瑜伽、轻运动 | | bodyWealth = overdraw | 隐藏新的创富推荐 | 健康干预、休息 | | bodyWealth = penalty | 推送医疗/康复资源 | 健康检查、调理方案 | | wisdomAction = paralysis | 推送"行动导向"内容 | 打卡挑战、户外活动 | | wisdomAction = blind | 推荐测评/学习 | 认知测评、方向指引 | | wealthHeart = eruption | 推送情绪管理内容 | 情绪打卡、情绪日记 | | wealthHeart = judgmental | 推送同理心内容 | 家庭天盘、家庭成员故事 | | wealthHeart = materialized | 推送陪伴任务 | 家庭互动任务、亲子活动 | | mindWisdom = overprotect | 推荐"放手"内容 | 让孩子做主任务、独立挑战 | | mindWisdom = cold_wise | 推荐家庭互动 | 共情训练、陪伴打卡 | --- ## 修改文件清单 | # | 文件 | 操作 | 说明 | |:-:|:-----|:----|:-----| | 1 | `MemberEnergyDTO.java` | 修改 | 新增5组克标记、3个心子维度 | | 2 | `EnergyService.java` | 修改 | 新增5个杠杆方法 + 统一调用接口 + 心子维度算法 | | 3 | `pages/body/index.vue` | 修改 | 新增行克身状态条 | | 4 | `pages/wisdom/index.vue` | 修改 | 新增心克智状态条 | | 5 | `pages/wealth/index.vue` | 修改 | 新增身克富状态条(已计划) | | 6 | `pages/action/index.vue` | 修改 | 新增智克行状态条 | | 7 | `pages/mind/index.vue` | 修改 | 新增富克心状态条 + 心三层展示 | | 8 | 执行计划 | 执行 | 按 2026-07-12-wealth-dimension-redesign.md → 扩展为五克完整实现 | ## 不做的事 - 不改 schema.sql(不新建表) - 不改 DatabaseInitializer(无需迁移) - 不改 EnergySandboxDTO(家庭聚合不受影响) - 不改任何 Mapper - 暂不实现"心·传承传递"和"行·陪伴在场/利他行为"的数据源(占位回0) --- ## 附录:与富维度重构的关系 本文档(五克完整设计)是 [`2026-07-12-wealth-dimension-redesign.md`](../plans/2026-07-12-wealth-dimension-redesign.md) 的补充。实际开发时两者按以下优先级执行: ``` Phase 1: 富维度重构(子维度+身克富杠杆+小程序富页) Phase 2: 五克完整实现(剩余4个克关系+5个状态条组件) ```