Przeglądaj źródła

chore: update docs zxyj→cfc references

User 5 miesięcy temu
rodzic
commit
879922f68a

+ 10 - 10
docs/dan-requirements.md

@@ -756,18 +756,18 @@ CREATE TABLE dan_assessment_result (
 ## 九、现有代码参考
 ## 九、现有代码参考
 
 
 ### 9.1 实体类(需更新)
 ### 9.1 实体类(需更新)
-- `zxyj-backend/src/main/java/com/zxyj/entity/DanAssessmentResult.java` - 需增加 packageCode 和 indicatorScores
-- `zxyj-backend/src/main/java/com/zxyj/entity/AssessmentAppointment.java` - 需增加 packageCode
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/DanAssessmentResult.java` - 需增加 packageCode 和 indicatorScores
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/AssessmentAppointment.java` - 需增加 packageCode
 
 
 ### 9.2 需创建
 ### 9.2 需创建
-- `zxyj-backend/src/main/java/com/zxyj/entity/DanPackage.java`
-- `zxyj-backend/src/main/java/com/zxyj/entity/DanIndicator.java`
-- `zxyj-backend/src/main/java/com/zxyj/entity/DanIndicatorTemplate.java`
-- `zxyj-backend/src/main/java/com/zxyj/controller/dan/DanPackageController.java`
-- `zxyj-backend/src/main/java/com/zxyj/controller/dan/DanIndicatorController.java`
-- `zxyj-backend/src/main/java/com/zxyj/controller/dan/DanAssessmentController.java`
-- `zxyj-backend/src/main/java/com/zxyj/controller/dan/DanRecommendController.java`
-- `zxyj-frontend/pages/dan/` 目录及页面
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/DanPackage.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/DanIndicator.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/entity/DanIndicatorTemplate.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/controller/dan/DanPackageController.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/controller/dan/DanIndicatorController.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/controller/dan/DanAssessmentController.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/controller/dan/DanRecommendController.java`
+- `cfc-frontend/pages/dan/` 目录及页面
 
 
 ---
 ---
 
 

+ 2 - 2
docs/focus-requirements.md

@@ -289,7 +289,7 @@ CREATE TABLE game_ranking (
 ## 八、现有代码参考
 ## 八、现有代码参考
 
 
 ### 8.1 实体类位置
 ### 8.1 实体类位置
-`zxyj-backend/src/main/java/com/zxyj/entity/MiniGame.java`
+`cfc-backend/src/main/java/com/etotem/cfc/entity/MiniGame.java`
 
 
 ### 8.2 现有三款游戏
 ### 8.2 现有三款游戏
 | 游戏 | gameCode | 状态 |
 | 游戏 | gameCode | 状态 |
@@ -299,7 +299,7 @@ CREATE TABLE game_ranking (
 | 数独 | sudoku | ✅ 已实现 |
 | 数独 | sudoku | ✅ 已实现 |
 
 
 ### 8.3 前端页面
 ### 8.3 前端页面
-- `zxyj-frontend/pages/games/` 目录下已有对应页面
+- `cfc-frontend/pages/games/` 目录下已有对应页面
 
 
 ### 8.4 待补充
 ### 8.4 待补充
 - 游戏记录存储(需新增表)
 - 游戏记录存储(需新增表)

+ 1 - 1
docs/requirements-analysis.md

@@ -66,7 +66,7 @@
 | 选择后进入详情页 | ✅ 已实现 - `confirmRole()` 方法切换到详情表单 | ✅ |
 | 选择后进入详情页 | ✅ 已实现 - `confirmRole()` 方法切换到详情表单 | ✅ |
 
 
 **实现位置**:
 **实现位置**:
-- `zxyj-frontend/pages/user-edit/user-edit.vue`
+- `cfc-frontend/pages/user-edit/user-edit.vue`
 - 首次登录判断:`options.needsRoleSelect === 'true'`
 - 首次登录判断:`options.needsRoleSelect === 'true'`
 
 
 ---
 ---

+ 1 - 1
docs/superpowers/plans/2026-05-11-phase3-map-to-dto.md

@@ -76,7 +76,7 @@
 ## Implementation Approach
 ## Implementation Approach
 
 
 For each DTO:
 For each DTO:
-1. Create DTO class in `com.zxyj.dto` with @Data + @NotNull/@NotBlank/@Size annotations
+1. Create DTO class in `com.etotem.cfc.dto` with @Data + @NotNull/@NotBlank/@Size annotations
 2. Add @Valid + new DTO type to Controller method signature
 2. Add @Valid + new DTO type to Controller method signature
 3. Replace Map field extraction with DTO getter calls
 3. Replace Map field extraction with DTO getter calls
 4. Remove redundant null checks now covered by @Valid
 4. Remove redundant null checks now covered by @Valid

+ 2 - 2
docs/superpowers/plans/2026-05-13-priority-groups-sfms-migration-parent-tasks.md

@@ -82,7 +82,7 @@ sfms:
 - [ ] **Step 2: 编译验证**
 - [ ] **Step 2: 编译验证**
 
 
   ```bash
   ```bash
-  cd zxyj-backend && mvn clean compile
+  cd cfc-backend && mvn clean compile
   ```
   ```
   预期: BUILD SUCCESS
   预期: BUILD SUCCESS
 
 
@@ -98,7 +98,7 @@ sfms:
 - [ ] **Step 4: 提交**
 - [ ] **Step 4: 提交**
 
 
   ```bash
   ```bash
-  git add zxyj-backend/src/main/java/com/zxyj/config/SfmsDataSourceConfig.java
+  git add cfc-backend/src/main/java/com/etotem/cfc/config/SfmsDataSourceConfig.java
   git commit -m "fix: 修复SfmsDataSourceConfig配置前缀不匹配,去掉hikari层级"
   git commit -m "fix: 修复SfmsDataSourceConfig配置前缀不匹配,去掉hikari层级"
   ```
   ```
 
 

+ 6 - 6
docs/superpowers/plans/2026-05-16-parent-redesign.md

@@ -13,7 +13,7 @@
 ### Task 1: Create child-detail.vue (new page)
 ### Task 1: Create child-detail.vue (new page)
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/pages/parent/child-detail.vue`
+- Create: `cfc-frontend/pages/parent/child-detail.vue`
 
 
 **Spec:**
 **Spec:**
 - Route `/pages/parent/child-detail?childId=X`
 - Route `/pages/parent/child-detail?childId=X`
@@ -43,7 +43,7 @@
 ### Task 2: Restructure parent-index.vue
 ### Task 2: Restructure parent-index.vue
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/index/parent-index.vue`
+- Modify: `cfc-frontend/pages/index/parent-index.vue`
 
 
 **Changes:**
 **Changes:**
 1. Replace the existing `child-status-card` with a **child cards row** at the top (after greeting):
 1. Replace the existing `child-status-card` with a **child cards row** at the top (after greeting):
@@ -68,7 +68,7 @@ child cards row (scroll-view horizontal, new)
 ### Task 3: Register child-detail route in pages.json
 ### Task 3: Register child-detail route in pages.json
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages.json`
+- Modify: `cfc-frontend/pages.json`
 
 
 **Add:**
 **Add:**
 ```json
 ```json
@@ -83,7 +83,7 @@ child cards row (scroll-view horizontal, new)
 ### Task 4: Support childId param in create-task.vue
 ### Task 4: Support childId param in create-task.vue
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/tasks/create-task.vue`
+- Modify: `cfc-frontend/pages/tasks/create-task.vue`
 
 
 **Changes:**
 **Changes:**
 - In `onLoad(options)`: if `options.childId` exists, pre-select that child in the picker
 - In `onLoad(options)`: if `options.childId` exists, pre-select that child in the picker
@@ -93,7 +93,7 @@ child cards row (scroll-view horizontal, new)
 ### Task 5: Support childId param in parent/wishes/index.vue
 ### Task 5: Support childId param in parent/wishes/index.vue
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/parent/wishes/index.vue`
+- Modify: `cfc-frontend/pages/parent/wishes/index.vue`
 
 
 **Changes:**
 **Changes:**
 - In `onLoad(options)`: accept `childId`, filter wishes by childId if provided
 - In `onLoad(options)`: accept `childId`, filter wishes by childId if provided
@@ -102,7 +102,7 @@ child cards row (scroll-view horizontal, new)
 ### Task 6: Support childId param in growth/index.vue
 ### Task 6: Support childId param in growth/index.vue
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/growth/index.vue`
+- Modify: `cfc-frontend/pages/growth/index.vue`
 
 
 **Changes:**
 **Changes:**
 - In `onLoad(options)`: accept `childId`, auto-select that child
 - In `onLoad(options)`: accept `childId`, auto-select that child

+ 16 - 16
docs/superpowers/plans/2026-05-19-guide-invite-code-flow.md

@@ -13,9 +13,9 @@
 ### Task 1: Backend — Add type field to GuideInviteCode
 ### Task 1: Backend — Add type field to GuideInviteCode
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/.../entity/GuideInviteCode.java:24` (add type field)
-- Modify: `zxyj-backend/.../service/GuideInviteCodeService.java` (support type in create/generate)
-- Modify: `zxyj-backend/.../controller/guide/GuideTeamController.java` (add type to invite-code response)
+- Modify: `cfc-backend/.../entity/GuideInviteCode.java:24` (add type field)
+- Modify: `cfc-backend/.../service/GuideInviteCodeService.java` (support type in create/generate)
+- Modify: `cfc-backend/.../controller/guide/GuideTeamController.java` (add type to invite-code response)
 
 
 **Details:**
 **Details:**
 - Add `private String type;` to `GuideInviteCode` with values `"team"` / `"family"`
 - Add `private String type;` to `GuideInviteCode` with values `"team"` / `"family"`
@@ -29,8 +29,8 @@
 ### Task 2: Backend — Invite code validation with type routing
 ### Task 2: Backend — Invite code validation with type routing
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/.../service/GuideInviteCodeService.java`
-- Modify: `zxyj-backend/.../controller/guide/GuideManagementController.java`
+- Modify: `cfc-backend/.../service/GuideInviteCodeService.java`
+- Modify: `cfc-backend/.../controller/guide/GuideManagementController.java`
 
 
 **Details:**
 **Details:**
 - `validateInviteCode(code, type)` — validates code matches the expected type
 - `validateInviteCode(code, type)` — validates code matches the expected type
@@ -42,7 +42,7 @@
 ### Task 3: Backend — Team join/leave endpoints
 ### Task 3: Backend — Team join/leave endpoints
 
 
 **Files:**
 **Files:**
-- New: (add to) `zxyj-backend/.../controller/guide/GuideTeamController.java`
+- New: (add to) `cfc-backend/.../controller/guide/GuideTeamController.java`
 
 
 **Endpoints:**
 **Endpoints:**
 - `POST /api/guide/team/join` — accept `{ inviteCode, userId }`, validates code, checks if user is already a teacher, if in another team → error telling them to leave first
 - `POST /api/guide/team/join` — accept `{ inviteCode, userId }`, validates code, checks if user is already a teacher, if in another team → error telling them to leave first
@@ -54,8 +54,8 @@
 ### Task 4: Web admin — Show both codes in Layout.vue dialog
 ### Task 4: Web admin — Show both codes in Layout.vue dialog
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-web/src/api/guide.js` — add `getMyFamilyInviteCode()`
-- Modify: `zxyj-web/src/views/Layout.vue` — extend invite code dialog
+- Modify: `cfc-web/src/api/guide.js` — add `getMyFamilyInviteCode()`
+- Modify: `cfc-web/src/views/Layout.vue` — extend invite code dialog
 
 
 **Details:**
 **Details:**
 - Add "家庭邀请码" section below "团队邀请码" in the existing dialog
 - Add "家庭邀请码" section below "团队邀请码" in the existing dialog
@@ -68,8 +68,8 @@
 ### Task 5: Mini-program — Registration with invite code
 ### Task 5: Mini-program — Registration with invite code
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/login/login.vue`
-- Modify: `zxyj-frontend/utils/api.js`
+- Modify: `cfc-frontend/pages/login/login.vue`
+- Modify: `cfc-frontend/utils/api.js`
 
 
 **Details:**
 **Details:**
 - When app opens with invite code param (from QR code or shared link), store it
 - When app opens with invite code param (from QR code or shared link), store it
@@ -82,9 +82,9 @@
 ### Task 6: Mini-program — Invite code routing (application flow)
 ### Task 6: Mini-program — Invite code routing (application flow)
 
 
 **Files:**
 **Files:**
-- New: `zxyj-frontend/pages/guide/apply/index.vue` (guide application page)
-- Modify: `zxyj-frontend/pages/teacher/index.vue`
-- Modify: `zxyj-frontend/App.vue`
+- New: `cfc-frontend/pages/guide/apply/index.vue` (guide application page)
+- Modify: `cfc-frontend/pages/teacher/index.vue`
+- Modify: `cfc-frontend/App.vue`
 
 
 **Details:**
 **Details:**
 - After registration, if invite code is team-type:
 - After registration, if invite code is team-type:
@@ -99,7 +99,7 @@
 ### Task 7: Mini-program — Team join confirmation page
 ### Task 7: Mini-program — Team join confirmation page
 
 
 **Files:**
 **Files:**
-- New: `zxyj-frontend/pages/guide/team-confirm/index.vue`
+- New: `cfc-frontend/pages/guide/team-confirm/index.vue`
 
 
 **Details:**
 **Details:**
 - Shows: inviting guide info (name, avatar), current team info (if any)
 - Shows: inviting guide info (name, avatar), current team info (if any)
@@ -112,7 +112,7 @@
 ### Task 8: Database migration
 ### Task 8: Database migration
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/.../config/DatabaseInitializer.java`
+- Modify: `cfc-backend/.../config/DatabaseInitializer.java`
 
 
 **SQL:**
 **SQL:**
 ```sql
 ```sql
@@ -125,7 +125,7 @@ ALTER TABLE guide_invite_codes ADD INDEX idx_type (type);
 ### Task 9: Mini-program registration page update
 ### Task 9: Mini-program registration page update
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/login/login.vue` or registration page
+- Modify: `cfc-frontend/pages/login/login.vue` or registration page
 
 
 **Details:**
 **Details:**
 - Remove role selector when invite code is present
 - Remove role selector when invite code is present

+ 37 - 37
docs/superpowers/plans/2026-05-24-parent-homepage-system-points.md

@@ -34,10 +34,10 @@ points_log 表: + category VARCHAR(20)         -- 'task' / 'system' 分类标识
 ### Task 1: 数据库 Schema 变更
 ### Task 1: 数据库 Schema 变更
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/resources/schema.sql`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/entity/PointsLog.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/entity/Child.java`
+- Modify: `cfc-backend/src/main/resources/schema.sql`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/entity/PointsLog.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/entity/Child.java`
 
 
 - [ ] **Step 1: schema.sql 添加字段**
 - [ ] **Step 1: schema.sql 添加字段**
 
 
@@ -91,7 +91,7 @@ private String category;
 
 
 - [ ] **Step 5: 编译验证**
 - [ ] **Step 5: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -99,9 +99,9 @@ Expected: BUILD SUCCESS
 ### Task 2: PointsService 添加系统积分方法
 ### Task 2: PointsService 添加系统积分方法
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/service/PointsService.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/service/api/PointsServiceInterface.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/mapper/PointsLogMapper.java` (一般不需要改)
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/PointsService.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/api/PointsServiceInterface.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/mapper/PointsLogMapper.java` (一般不需要改)
 
 
 - [ ] **Step 1: PointsService 添加 awardSystemPoints 方法**
 - [ ] **Step 1: PointsService 添加 awardSystemPoints 方法**
 
 
@@ -236,7 +236,7 @@ Page<PointsLog> getPointsLogsByCategory(Long childId, String category, Integer p
 
 
 - [ ] **Step 3: 编译验证**
 - [ ] **Step 3: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -244,8 +244,8 @@ Expected: BUILD SUCCESS
 ### Task 3: 测评完成自动发放系统积分
 ### Task 3: 测评完成自动发放系统积分
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/controller/guide/GuideRecordController.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/service/AssessmentService.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/controller/guide/GuideRecordController.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/AssessmentService.java`
 
 
 - [ ] **Step 1: GuideRecordController.createRecord 中发放系统积分**
 - [ ] **Step 1: GuideRecordController.createRecord 中发放系统积分**
 
 
@@ -304,7 +304,7 @@ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Gu
 
 
 - [ ] **Step 3: 编译验证**
 - [ ] **Step 3: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -312,8 +312,8 @@ Expected: BUILD SUCCESS
 ### Task 4: ChildInfoDTO 增加 systemPoints
 ### Task 4: ChildInfoDTO 增加 systemPoints
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/dto/ChildInfoDTO.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/service/UserService.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/dto/ChildInfoDTO.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/UserService.java`
 
 
 - [ ] **Step 1: ChildInfoDTO 添加 systemPoints**
 - [ ] **Step 1: ChildInfoDTO 添加 systemPoints**
 
 
@@ -331,7 +331,7 @@ dto.setSystemPoints(child.getSystemPoints());
 
 
 - [ ] **Step 3: 编译验证**
 - [ ] **Step 3: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -339,19 +339,19 @@ Expected: BUILD SUCCESS
 ### Task 5: 家长首页统计数据 API
 ### Task 5: 家长首页统计数据 API
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/parent/ParentDashboardController.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/service/TaskStatsService.java` (如需要)
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/parent/ParentDashboardController.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/TaskStatsService.java` (如需要)
 
 
 - [ ] **Step 1: 创建 ParentDashboardController**
 - [ ] **Step 1: 创建 ParentDashboardController**
 
 
 ```java
 ```java
-package com.zxyj.controller.parent;
+package com.etotem.cfc.controller.parent;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.dto.ChildInfoDTO;
-import com.zxyj.service.PointsService;
-import com.zxyj.service.TaskService;
-import com.zxyj.service.UserService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.dto.ChildInfoDTO;
+import com.etotem.cfc.service.PointsService;
+import com.etotem.cfc.service.TaskService;
+import com.etotem.cfc.service.UserService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -421,9 +421,9 @@ public class ParentDashboardController {
     }
     }
 }
 }
 
 
-import com.zxyj.mapper.TaskMapper;
+import com.etotem.cfc.mapper.TaskMapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.Task;
+import com.etotem.cfc.entity.Task;
 ```
 ```
 
 
 - [ ] **Step 2: TaskService 添加 getChildTaskStats 方法**
 - [ ] **Step 2: TaskService 添加 getChildTaskStats 方法**
@@ -498,7 +498,7 @@ import java.util.Map;
 
 
 - [ ] **Step 3: 编译验证**
 - [ ] **Step 3: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -506,8 +506,8 @@ Expected: BUILD SUCCESS
 ### Task 6: 修复 getFamilyMembers() URL 并增加系统积分字段
 ### Task 6: 修复 getFamilyMembers() URL 并增加系统积分字段
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/utils/api.js`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/controller/UserController.java`
+- Modify: `cfc-frontend/utils/api.js`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/controller/UserController.java`
 
 
 - [ ] **Step 1: 修复前端 API URL**
 - [ ] **Step 1: 修复前端 API URL**
 
 
@@ -564,7 +564,7 @@ public Result<Map<String, Object>> getFamilyMembers(HttpServletRequest request)
 
 
 - [ ] **Step 3: 编译验证**
 - [ ] **Step 3: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -572,7 +572,7 @@ Expected: BUILD SUCCESS
 ### Task 7: 家长首页对接真实数据
 ### Task 7: 家长首页对接真实数据
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/index/parent-index.vue`
+- Modify: `cfc-frontend/pages/index/parent-index.vue`
 
 
 - [ ] **Step 1: 添加 dashboard API 调用**
 - [ ] **Step 1: 添加 dashboard API 调用**
 
 
@@ -711,7 +711,7 @@ async loadData() {
 ### Task 8: PointsController 增加系统积分相关接口
 ### Task 8: PointsController 增加系统积分相关接口
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/controller/family/PointsController.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/controller/family/PointsController.java`
 
 
 - [ ] **Step 1: 添加系统积分余额接口**
 - [ ] **Step 1: 添加系统积分余额接口**
 
 
@@ -743,7 +743,7 @@ public Result<Page<PointsLog>> getPointsLogsByCategory(@RequestBody Map<String,
 
 
 - [ ] **Step 2: 编译验证**
 - [ ] **Step 2: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -751,8 +751,8 @@ Expected: BUILD SUCCESS
 ### Task 9: 系统积分前端展示
 ### Task 9: 系统积分前端展示
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/rewards/rewards.vue`(积分展示区域)
-- Modify: `zxyj-frontend/pages/profile/profile.vue`(个人中心展示)
+- Modify: `cfc-frontend/pages/rewards/rewards.vue`(积分展示区域)
+- Modify: `cfc-frontend/pages/profile/profile.vue`(个人中心展示)
 
 
 - [ ] **Step 1: 封装前端 API**
 - [ ] **Step 1: 封装前端 API**
 
 
@@ -786,20 +786,20 @@ try {
 
 
 - [ ] **Step 1: 后端编译**
 - [ ] **Step 1: 后端编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile`
+Run: `cd cfc-backend && mvn clean compile`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 2: 检查路由冲突**
 - [ ] **Step 2: 检查路由冲突**
 
 
 ```bash
 ```bash
-grep -rn '@GetMapping\|@PostMapping\|@PutMapping\|@DeleteMapping' src/main/java/com/zxyj/controller/ | grep -oP '@\w+Mapping\("\K[^"]*' | sort -u | grep -E 'dashboard|system-balance|logs-by-category|family-members'
+grep -rn '@GetMapping\|@PostMapping\|@PutMapping\|@DeleteMapping' src/main/java/com/etotem/cfc/controller/ | grep -oP '@\w+Mapping\("\K[^"]*' | sort -u | grep -E 'dashboard|system-balance|logs-by-category|family-members'
 ```
 ```
 
 
 Expected: 无冲突路由
 Expected: 无冲突路由
 
 
 - [ ] **Step 3: 启动后端**
 - [ ] **Step 3: 启动后端**
 
 
-Run: `cd zxyj-backend && mvn spring-boot:run`
+Run: `cd cfc-backend && mvn spring-boot:run`
 Expected: Started Application in X seconds
 Expected: Started Application in X seconds
 
 
 ---
 ---

+ 47 - 47
docs/superpowers/plans/2026-05-25-invite-card-sharing.md

@@ -14,16 +14,16 @@
 
 
 | 文件 | 操作 | 职责 |
 | 文件 | 操作 | 职责 |
 |------|------|------|
 |------|------|------|
-| `zxyj-backend/.../entity/InviteCard.java` | 新建 | 邀请码实体 |
-| `zxyj-backend/.../mapper/InviteCardMapper.java` | 新建 | MyBatis Mapper |
-| `zxyj-backend/.../service/InviteCardService.java` | 新建 | 生成/验证/使用邀请码 |
-| `zxyj-backend/.../controller/InviteCardController.java` | 新建 | 3个 REST 端点 |
-| `zxyj-backend/.../config/DatabaseInitializer.java` | 修改 | 建 invite_card 表 |
-| `zxyj-frontend/utils/api.js` | 修改 | 新增 3 个 API 函数 |
-| `zxyj-frontend/pages/profile/children.vue` | 修改 | 每个孩子加「邀请」按钮 + share |
-| `zxyj-frontend/pages/profile/profile.vue` | 修改 | 加「邀请家人」按钮 + share |
-| `zxyj-frontend/pages/growth/index.vue` | 修改 | 加「邀请规划师」按钮 + share |
-| `zxyj-frontend/pages/login/login.vue` | 修改 | 处理 invite_code 自动登录 |
+| `cfc-backend/.../entity/InviteCard.java` | 新建 | 邀请码实体 |
+| `cfc-backend/.../mapper/InviteCardMapper.java` | 新建 | MyBatis Mapper |
+| `cfc-backend/.../service/InviteCardService.java` | 新建 | 生成/验证/使用邀请码 |
+| `cfc-backend/.../controller/InviteCardController.java` | 新建 | 3个 REST 端点 |
+| `cfc-backend/.../config/DatabaseInitializer.java` | 修改 | 建 invite_card 表 |
+| `cfc-frontend/utils/api.js` | 修改 | 新增 3 个 API 函数 |
+| `cfc-frontend/pages/profile/children.vue` | 修改 | 每个孩子加「邀请」按钮 + share |
+| `cfc-frontend/pages/profile/profile.vue` | 修改 | 加「邀请家人」按钮 + share |
+| `cfc-frontend/pages/growth/index.vue` | 修改 | 加「邀请规划师」按钮 + share |
+| `cfc-frontend/pages/login/login.vue` | 修改 | 处理 invite_code 自动登录 |
 
 
 ---
 ---
 
 
@@ -32,15 +32,15 @@
 **前提:** 了解项目 MyBatis-Plus 实体/Mapper 写法:见 `entity/User.java`、`mapper/UserMapper.java`。
 **前提:** 了解项目 MyBatis-Plus 实体/Mapper 写法:见 `entity/User.java`、`mapper/UserMapper.java`。
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/InviteCard.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/mapper/InviteCardMapper.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java`(加建表语句)
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/InviteCard.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/mapper/InviteCardMapper.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`(加建表语句)
 - Test: 启动后端验证建表成功
 - Test: 启动后端验证建表成功
 
 
 - [ ] **Step 1: 创建 InviteCard 实体**
 - [ ] **Step 1: 创建 InviteCard 实体**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.*;
 import com.baomidou.mybatisplus.annotation.*;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
@@ -83,10 +83,10 @@ public class InviteCard {
 - [ ] **Step 2: 创建 InviteCardMapper**
 - [ ] **Step 2: 创建 InviteCardMapper**
 
 
 ```java
 ```java
-package com.zxyj.mapper;
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.InviteCard;
+import com.etotem.cfc.entity.InviteCard;
 
 
 public interface InviteCardMapper extends BaseMapper<InviteCard> {
 public interface InviteCardMapper extends BaseMapper<InviteCard> {
 }
 }
@@ -115,7 +115,7 @@ CREATE TABLE IF NOT EXISTS invite_card (
 - [ ] **Step 4: 编译并启动验证**
 - [ ] **Step 4: 编译并启动验证**
 
 
 ```bash
 ```bash
-cd zxyj-backend && mvn clean compile spring-boot:run
+cd cfc-backend && mvn clean compile spring-boot:run
 ```
 ```
 
 
 确认启动日志无报错,表自动创建。
 确认启动日志无报错,表自动创建。
@@ -123,9 +123,9 @@ cd zxyj-backend && mvn clean compile spring-boot:run
 - [ ] **Step 5: Commit**
 - [ ] **Step 5: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/entity/InviteCard.java
-git add zxyj-backend/src/main/java/com/zxyj/mapper/InviteCardMapper.java
-git add zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java
+git add cfc-backend/src/main/java/com/etotem/cfc/entity/InviteCard.java
+git add cfc-backend/src/main/java/com/etotem/cfc/mapper/InviteCardMapper.java
+git add cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java
 git commit -m "feat: add invite_card table and entity"
 git commit -m "feat: add invite_card table and entity"
 ```
 ```
 
 
@@ -134,19 +134,19 @@ git commit -m "feat: add invite_card table and entity"
 ### Task 2: 后端 — InviteCardService 生成 + 验证 + 使用
 ### Task 2: 后端 — InviteCardService 生成 + 验证 + 使用
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/service/InviteCardService.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/service/InviteCardService.java`
 - Test: 编译验证
 - Test: 编译验证
 
 
 - [ ] **Step 1: 创建 InviteCardService**
 - [ ] **Step 1: 创建 InviteCardService**
 
 
 ```java
 ```java
-package com.zxyj.service;
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.common.Result;
-import com.zxyj.entity.*;
-import com.zxyj.mapper.*;
-import com.zxyj.service.UserService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.*;
+import com.etotem.cfc.mapper.*;
+import com.etotem.cfc.service.UserService;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -376,7 +376,7 @@ public class InviteCardService {
 - [ ] **Step 2: 编译验证**
 - [ ] **Step 2: 编译验证**
 
 
 ```bash
 ```bash
-cd zxyj-backend && mvn clean compile
+cd cfc-backend && mvn clean compile
 ```
 ```
 
 
 确认无编译错误。
 确认无编译错误。
@@ -384,7 +384,7 @@ cd zxyj-backend && mvn clean compile
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/service/InviteCardService.java
+git add cfc-backend/src/main/java/com/etotem/cfc/service/InviteCardService.java
 git commit -m "feat: add InviteCardService with generate/verify/accept logic"
 git commit -m "feat: add InviteCardService with generate/verify/accept logic"
 ```
 ```
 
 
@@ -393,18 +393,18 @@ git commit -m "feat: add InviteCardService with generate/verify/accept logic"
 ### Task 3: 后端 — InviteCardController 三个端点
 ### Task 3: 后端 — InviteCardController 三个端点
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/guide/InviteCardController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/guide/InviteCardController.java`
 - Test: 启动后端 + curl 测试
 - Test: 启动后端 + curl 测试
 
 
 - [ ] **Step 1: 创建 InviteCardController**
 - [ ] **Step 1: 创建 InviteCardController**
 
 
 ```java
 ```java
-package com.zxyj.controller.guide;
+package com.etotem.cfc.controller.guide;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.entity.*;
-import com.zxyj.mapper.*;
-import com.zxyj.service.InviteCardService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.*;
+import com.etotem.cfc.mapper.*;
+import com.etotem.cfc.service.InviteCardService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -493,7 +493,7 @@ public class InviteCardController {
 ```java
 ```java
 // 在 InviteCardService 中注入 JwtUtil
 // 在 InviteCardService 中注入 JwtUtil
 @Resource
 @Resource
-private com.zxyj.config.JwtUtil jwtUtil;
+private com.etotem.cfc.config.JwtUtil jwtUtil;
 
 
 // 然后 generateToken 方法:
 // 然后 generateToken 方法:
 private String generateToken(User user) {
 private String generateToken(User user) {
@@ -506,7 +506,7 @@ private String generateToken(User user) {
 - [ ] **Step 3: 启动后端测试**
 - [ ] **Step 3: 启动后端测试**
 
 
 ```bash
 ```bash
-cd zxyj-backend && mvn spring-boot:run
+cd cfc-backend && mvn spring-boot:run
 ```
 ```
 
 
 在另一个终端测试:
 在另一个终端测试:
@@ -530,7 +530,7 @@ curl -X POST http://localhost:8080/api/invite-card/verify \
 - [ ] **Step 4: Commit**
 - [ ] **Step 4: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/controller/guide/InviteCardController.java
+git add cfc-backend/src/main/java/com/etotem/cfc/controller/guide/InviteCardController.java
 git commit -m "feat: add InviteCardController with generate/verify/accept endpoints"
 git commit -m "feat: add InviteCardController with generate/verify/accept endpoints"
 ```
 ```
 
 
@@ -539,7 +539,7 @@ git commit -m "feat: add InviteCardController with generate/verify/accept endpoi
 ### Task 4: 前端 — api.js 新增三个 API 函数
 ### Task 4: 前端 — api.js 新增三个 API 函数
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/utils/api.js`
+- Modify: `cfc-frontend/utils/api.js`
 
 
 - [ ] **Step 1: 新增 API 函数**
 - [ ] **Step 1: 新增 API 函数**
 
 
@@ -563,7 +563,7 @@ export const acceptInviteCard = (code, phone) => {
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/utils/api.js
+git add cfc-frontend/utils/api.js
 git commit -m "feat: add invite card API functions"
 git commit -m "feat: add invite card API functions"
 ```
 ```
 
 
@@ -572,7 +572,7 @@ git commit -m "feat: add invite card API functions"
 ### Task 5: 前端 — 孩子管理页添加「邀请」按钮
 ### Task 5: 前端 — 孩子管理页添加「邀请」按钮
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/profile/children.vue`
+- Modify: `cfc-frontend/pages/profile/children.vue`
 
 
 - [ ] **Step 1: 在模板每个孩子项加「邀请」按钮**
 - [ ] **Step 1: 在模板每个孩子项加「邀请」按钮**
 
 
@@ -686,7 +686,7 @@ async prepareInvite(child) {
 - [ ] **Step 6: Commit**
 - [ ] **Step 6: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/profile/children.vue
+git add cfc-frontend/pages/profile/children.vue
 git commit -m "feat: add invite button for each child in children management"
 git commit -m "feat: add invite button for each child in children management"
 ```
 ```
 
 
@@ -695,7 +695,7 @@ git commit -m "feat: add invite button for each child in children management"
 ### Task 6: 前端 — 我的页面加「邀请家人」按钮
 ### Task 6: 前端 — 我的页面加「邀请家人」按钮
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/profile/profile.vue`
+- Modify: `cfc-frontend/pages/profile/profile.vue`
 
 
 - [ ] **Step 1: 添加 invite 相关数据和 onShareAppMessage**
 - [ ] **Step 1: 添加 invite 相关数据和 onShareAppMessage**
 
 
@@ -792,7 +792,7 @@ async prepareFamilyInvite() {
 - [ ] **Step 6: Commit**
 - [ ] **Step 6: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/profile/profile.vue
+git add cfc-frontend/pages/profile/profile.vue
 git commit -m "feat: add invite family button in profile page"
 git commit -m "feat: add invite family button in profile page"
 ```
 ```
 
 
@@ -801,7 +801,7 @@ git commit -m "feat: add invite family button in profile page"
 ### Task 7: 前端 — 成长档案页加「邀请规划师」按钮
 ### Task 7: 前端 — 成长档案页加「邀请规划师」按钮
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/growth/index.vue`
+- Modify: `cfc-frontend/pages/growth/index.vue`
 
 
 - [ ] **Step 1: 添加分享数据和 onShareAppMessage**
 - [ ] **Step 1: 添加分享数据和 onShareAppMessage**
 
 
@@ -884,7 +884,7 @@ async prepareGuideInvite() {
 - [ ] **Step 5: Commit**
 - [ ] **Step 5: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/growth/index.vue
+git add cfc-frontend/pages/growth/index.vue
 git commit -m "feat: add invite guide button in growth page"
 git commit -m "feat: add invite guide button in growth page"
 ```
 ```
 
 
@@ -893,7 +893,7 @@ git commit -m "feat: add invite guide button in growth page"
 ### Task 8: 前端 — 登录页处理邀请码自动登录
 ### Task 8: 前端 — 登录页处理邀请码自动登录
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/login/login.vue`
+- Modify: `cfc-frontend/pages/login/login.vue`
 
 
 - [ ] **Step 1: onLoad 增加 invite_code 捕获**
 - [ ] **Step 1: onLoad 增加 invite_code 捕获**
 
 
@@ -1003,7 +1003,7 @@ async phoneLogin() {
 - [ ] **Step 4: Commit**
 - [ ] **Step 4: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/login/login.vue
+git add cfc-frontend/pages/login/login.vue
 git commit -m "feat: handle invite_code auto-login in login page"
 git commit -m "feat: handle invite_code auto-login in login page"
 ```
 ```
 
 

+ 188 - 188
docs/superpowers/plans/2026-06-02-care-family-club-design.md

@@ -10,7 +10,7 @@
 - 后端: Java 1.8 + Spring Boot 2.7.18 + MyBatis-Plus
 - 后端: Java 1.8 + Spring Boot 2.7.18 + MyBatis-Plus
 - 前端小程序: uni-app (Vue 2 Options API)
 - 前端小程序: uni-app (Vue 2 Options API)
 - Web管理端: Vue 2 + Element UI
 - Web管理端: Vue 2 + Element UI
-- 数据库: MySQL 8.0 (zxyj主库 + sfms只读源库)
+- 数据库: MySQL 8.0 (cfc主库 + sfms只读源库)
 - 认证: JWT Bearer Token
 - 认证: JWT Bearer Token
 - 电商: Lilishop (独立微服务, REST API集成)
 - 电商: Lilishop (独立微服务, REST API集成)
 
 
@@ -75,7 +75,7 @@
 ### 后端新增文件
 ### 后端新增文件
 
 
 ```
 ```
-zxyj-backend/src/main/java/com/zxyj/
+cfc-backend/src/main/java/com/etotem/cfc/
 ├── controller/
 ├── controller/
 │   ├── body/                          # NEW
 │   ├── body/                          # NEW
 │   │   ├── BodyHealthController.java
 │   │   ├── BodyHealthController.java
@@ -150,7 +150,7 @@ zxyj-backend/src/main/java/com/zxyj/
 ### 前端新增/修改文件
 ### 前端新增/修改文件
 
 
 ```
 ```
-zxyj-frontend/
+cfc-frontend/
 ├── pages/
 ├── pages/
 │   ├── index/
 │   ├── index/
 │   │   ├── index.vue                  # MODIFY - 四象限首页
 │   │   ├── index.vue                  # MODIFY - 四象限首页
@@ -200,15 +200,15 @@ zxyj-frontend/
 ### Task 1: 创建 Body 域 Entity
 ### Task 1: 创建 Body 域 Entity
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/BodyHealthMetric.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/BodyNutritionLog.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/BodyAntiAgingAssessment.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/BodyExerciseLog.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/BodyHealthMetric.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/BodyNutritionLog.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/BodyAntiAgingAssessment.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/BodyExerciseLog.java`
 
 
 - [ ] **Step 1: 创建 BodyHealthMetric entity**
 - [ ] **Step 1: 创建 BodyHealthMetric entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -241,7 +241,7 @@ public class BodyHealthMetric {
 - [ ] **Step 2: 创建 BodyNutritionLog entity**
 - [ ] **Step 2: 创建 BodyNutritionLog entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -274,7 +274,7 @@ public class BodyNutritionLog {
 - [ ] **Step 3: 创建 BodyAntiAgingAssessment entity**
 - [ ] **Step 3: 创建 BodyAntiAgingAssessment entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -307,7 +307,7 @@ public class BodyAntiAgingAssessment {
 - [ ] **Step 4: 创建 BodyExerciseLog entity**
 - [ ] **Step 4: 创建 BodyExerciseLog entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -337,7 +337,7 @@ public class BodyExerciseLog {
 
 
 - [ ] **Step 5: 编译验证**
 - [ ] **Step 5: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -346,15 +346,15 @@ Expected: BUILD SUCCESS
 ### Task 2: 创建 Mind 域 Entity
 ### Task 2: 创建 Mind 域 Entity
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/MindMoodLog.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/MindPsychologicalAssessment.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/MindFamilyAtmosphereIndex.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/MindMeditationSession.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/MindMoodLog.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/MindPsychologicalAssessment.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/MindFamilyAtmosphereIndex.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/MindMeditationSession.java`
 
 
 - [ ] **Step 1: 创建 MindMoodLog entity**
 - [ ] **Step 1: 创建 MindMoodLog entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -384,7 +384,7 @@ public class MindMoodLog {
 - [ ] **Step 2: 创建 MindPsychologicalAssessment entity**
 - [ ] **Step 2: 创建 MindPsychologicalAssessment entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -417,7 +417,7 @@ public class MindPsychologicalAssessment {
 - [ ] **Step 3: 创建 MindFamilyAtmosphereIndex entity**
 - [ ] **Step 3: 创建 MindFamilyAtmosphereIndex entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -447,7 +447,7 @@ public class MindFamilyAtmosphereIndex {
 - [ ] **Step 4: 创建 MindMeditationSession entity**
 - [ ] **Step 4: 创建 MindMeditationSession entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -476,7 +476,7 @@ public class MindMeditationSession {
 
 
 - [ ] **Step 5: 编译验证**
 - [ ] **Step 5: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -485,20 +485,20 @@ Expected: BUILD SUCCESS
 ### Task 3: 创建 Action 域 Entity
 ### Task 3: 创建 Action 域 Entity
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionActivity.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionActivityRegistration.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionArticle.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionArticleCategory.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionElderCarePlan.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionElderCareLog.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionPracticeTask.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionCommunityPost.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/ActionCommunityComment.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionActivity.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionActivityRegistration.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionArticle.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionArticleCategory.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionElderCarePlan.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionElderCareLog.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionPracticeTask.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionCommunityPost.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/ActionCommunityComment.java`
 
 
 - [ ] **Step 1: 创建 ActionActivity entity**
 - [ ] **Step 1: 创建 ActionActivity entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -536,7 +536,7 @@ public class ActionActivity {
 - [ ] **Step 2: 创建 ActionActivityRegistration entity**
 - [ ] **Step 2: 创建 ActionActivityRegistration entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -564,7 +564,7 @@ public class ActionActivityRegistration {
 - [ ] **Step 3: 创建 ActionArticle entity**
 - [ ] **Step 3: 创建 ActionArticle entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -597,7 +597,7 @@ public class ActionArticle {
 - [ ] **Step 4: 创建 ActionArticleCategory entity**
 - [ ] **Step 4: 创建 ActionArticleCategory entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -623,7 +623,7 @@ public class ActionArticleCategory {
 - [ ] **Step 5: 创建 ActionElderCarePlan entity**
 - [ ] **Step 5: 创建 ActionElderCarePlan entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -655,7 +655,7 @@ public class ActionElderCarePlan {
 - [ ] **Step 6: 创建 ActionElderCareLog entity**
 - [ ] **Step 6: 创建 ActionElderCareLog entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -684,7 +684,7 @@ public class ActionElderCareLog {
 - [ ] **Step 7: 创建 ActionPracticeTask entity**
 - [ ] **Step 7: 创建 ActionPracticeTask entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -716,7 +716,7 @@ public class ActionPracticeTask {
 - [ ] **Step 8: 创建 ActionCommunityPost entity**
 - [ ] **Step 8: 创建 ActionCommunityPost entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -748,7 +748,7 @@ public class ActionCommunityPost {
 - [ ] **Step 9: 创建 ActionCommunityComment entity**
 - [ ] **Step 9: 创建 ActionCommunityComment entity**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -774,7 +774,7 @@ public class ActionCommunityComment {
 
 
 - [ ] **Step 10: 编译验证**
 - [ ] **Step 10: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -788,11 +788,11 @@ Expected: BUILD SUCCESS
 - [ ] **Step 1: 创建 Body 域 Mapper**
 - [ ] **Step 1: 创建 Body 域 Mapper**
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/BodyHealthMetricMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/BodyHealthMetricMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.BodyHealthMetric;
+import com.etotem.cfc.entity.BodyHealthMetric;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -800,11 +800,11 @@ public interface BodyHealthMetricMapper extends BaseMapper<BodyHealthMetric> {}
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/BodyNutritionLogMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/BodyNutritionLogMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.BodyNutritionLog;
+import com.etotem.cfc.entity.BodyNutritionLog;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -812,11 +812,11 @@ public interface BodyNutritionLogMapper extends BaseMapper<BodyNutritionLog> {}
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/BodyAntiAgingAssessmentMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/BodyAntiAgingAssessmentMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.BodyAntiAgingAssessment;
+import com.etotem.cfc.entity.BodyAntiAgingAssessment;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -824,11 +824,11 @@ public interface BodyAntiAgingAssessmentMapper extends BaseMapper<BodyAntiAgingA
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/BodyExerciseLogMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/BodyExerciseLogMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.BodyExerciseLog;
+import com.etotem.cfc.entity.BodyExerciseLog;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -838,11 +838,11 @@ public interface BodyExerciseLogMapper extends BaseMapper<BodyExerciseLog> {}
 - [ ] **Step 2: 创建 Mind 域 Mapper**
 - [ ] **Step 2: 创建 Mind 域 Mapper**
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/MindMoodLogMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/MindMoodLogMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.MindMoodLog;
+import com.etotem.cfc.entity.MindMoodLog;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -850,11 +850,11 @@ public interface MindMoodLogMapper extends BaseMapper<MindMoodLog> {}
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/MindPsychologicalAssessmentMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/MindPsychologicalAssessmentMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.MindPsychologicalAssessment;
+import com.etotem.cfc.entity.MindPsychologicalAssessment;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -862,11 +862,11 @@ public interface MindPsychologicalAssessmentMapper extends BaseMapper<MindPsycho
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/MindFamilyAtmosphereIndexMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/MindFamilyAtmosphereIndexMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.MindFamilyAtmosphereIndex;
+import com.etotem.cfc.entity.MindFamilyAtmosphereIndex;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -874,11 +874,11 @@ public interface MindFamilyAtmosphereIndexMapper extends BaseMapper<MindFamilyAt
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/MindMeditationSessionMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/MindMeditationSessionMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.MindMeditationSession;
+import com.etotem.cfc.entity.MindMeditationSession;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -888,11 +888,11 @@ public interface MindMeditationSessionMapper extends BaseMapper<MindMeditationSe
 - [ ] **Step 3: 创建 Action 域 Mapper**
 - [ ] **Step 3: 创建 Action 域 Mapper**
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionActivityMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionActivityMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionActivity;
+import com.etotem.cfc.entity.ActionActivity;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -900,11 +900,11 @@ public interface ActionActivityMapper extends BaseMapper<ActionActivity> {}
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionActivityRegistrationMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionActivityRegistrationMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionActivityRegistration;
+import com.etotem.cfc.entity.ActionActivityRegistration;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -912,11 +912,11 @@ public interface ActionActivityRegistrationMapper extends BaseMapper<ActionActiv
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionArticleMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionArticleMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionArticle;
+import com.etotem.cfc.entity.ActionArticle;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -924,11 +924,11 @@ public interface ActionArticleMapper extends BaseMapper<ActionArticle> {}
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionArticleCategoryMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionArticleCategoryMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionArticleCategory;
+import com.etotem.cfc.entity.ActionArticleCategory;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -936,11 +936,11 @@ public interface ActionArticleCategoryMapper extends BaseMapper<ActionArticleCat
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionElderCarePlanMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionElderCarePlanMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionElderCarePlan;
+import com.etotem.cfc.entity.ActionElderCarePlan;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -948,11 +948,11 @@ public interface ActionElderCarePlanMapper extends BaseMapper<ActionElderCarePla
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionElderCareLogMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionElderCareLogMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionElderCareLog;
+import com.etotem.cfc.entity.ActionElderCareLog;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -960,11 +960,11 @@ public interface ActionElderCareLogMapper extends BaseMapper<ActionElderCareLog>
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionPracticeTaskMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionPracticeTaskMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionPracticeTask;
+import com.etotem.cfc.entity.ActionPracticeTask;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -972,11 +972,11 @@ public interface ActionPracticeTaskMapper extends BaseMapper<ActionPracticeTask>
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionCommunityPostMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionCommunityPostMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionCommunityPost;
+import com.etotem.cfc.entity.ActionCommunityPost;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -984,11 +984,11 @@ public interface ActionCommunityPostMapper extends BaseMapper<ActionCommunityPos
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/mapper/ActionCommunityCommentMapper.java
-package com.zxyj.mapper;
+// cfc-backend/src/main/java/com/etotem/cfc/mapper/ActionCommunityCommentMapper.java
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.ActionCommunityComment;
+import com.etotem.cfc.entity.ActionCommunityComment;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -997,7 +997,7 @@ public interface ActionCommunityCommentMapper extends BaseMapper<ActionCommunity
 
 
 - [ ] **Step 4: 编译验证**
 - [ ] **Step 4: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -1006,7 +1006,7 @@ Expected: BUILD SUCCESS
 ### Task 5: DatabaseInitializer 增加新表
 ### Task 5: DatabaseInitializer 增加新表
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`
 
 
 - [ ] **Step 1: 在 DatabaseInitializer 中添加 17 张新表的 CREATE TABLE 语句**
 - [ ] **Step 1: 在 DatabaseInitializer 中添加 17 张新表的 CREATE TABLE 语句**
 
 
@@ -1288,7 +1288,7 @@ try {
 
 
 - [ ] **Step 3: 启动验证**
 - [ ] **Step 3: 启动验证**
 
 
-Run: `cd zxyj-backend && mvn spring-boot:run` (确认启动不报错,新表自动创建)
+Run: `cd cfc-backend && mvn spring-boot:run` (确认启动不报错,新表自动创建)
 
 
 Expected: Application starts successfully, logs show new tables created
 Expected: Application starts successfully, logs show new tables created
 
 
@@ -1302,12 +1302,12 @@ Expected: Application starts successfully, logs show new tables created
 - [ ] **Step 1: 创建 Body 域 Service**
 - [ ] **Step 1: 创建 Body 域 Service**
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/BodyHealthService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/BodyHealthService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.BodyHealthMetric;
-import com.zxyj.mapper.BodyHealthMetricMapper;
+import com.etotem.cfc.entity.BodyHealthMetric;
+import com.etotem.cfc.mapper.BodyHealthMetricMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1345,12 +1345,12 @@ public class BodyHealthService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/BodyNutritionService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/BodyNutritionService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.BodyNutritionLog;
-import com.zxyj.mapper.BodyNutritionLogMapper;
+import com.etotem.cfc.entity.BodyNutritionLog;
+import com.etotem.cfc.mapper.BodyNutritionLogMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1379,12 +1379,12 @@ public class BodyNutritionService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/BodyAntiAgingService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/BodyAntiAgingService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.BodyAntiAgingAssessment;
-import com.zxyj.mapper.BodyAntiAgingAssessmentMapper;
+import com.etotem.cfc.entity.BodyAntiAgingAssessment;
+import com.etotem.cfc.mapper.BodyAntiAgingAssessmentMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1412,12 +1412,12 @@ public class BodyAntiAgingService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/BodyExerciseService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/BodyExerciseService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.BodyExerciseLog;
-import com.zxyj.mapper.BodyExerciseLogMapper;
+import com.etotem.cfc.entity.BodyExerciseLog;
+import com.etotem.cfc.mapper.BodyExerciseLogMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1448,12 +1448,12 @@ public class BodyExerciseService {
 - [ ] **Step 2: 创建 Mind 域 Service**
 - [ ] **Step 2: 创建 Mind 域 Service**
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/MindMoodService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/MindMoodService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.MindMoodLog;
-import com.zxyj.mapper.MindMoodLogMapper;
+import com.etotem.cfc.entity.MindMoodLog;
+import com.etotem.cfc.mapper.MindMoodLogMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1482,12 +1482,12 @@ public class MindMoodService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/MindAssessmentService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/MindAssessmentService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.MindPsychologicalAssessment;
-import com.zxyj.mapper.MindPsychologicalAssessmentMapper;
+import com.etotem.cfc.entity.MindPsychologicalAssessment;
+import com.etotem.cfc.mapper.MindPsychologicalAssessmentMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1515,12 +1515,12 @@ public class MindAssessmentService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/MindFamilyAtmosphereService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/MindFamilyAtmosphereService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.MindFamilyAtmosphereIndex;
-import com.zxyj.mapper.MindFamilyAtmosphereIndexMapper;
+import com.etotem.cfc.entity.MindFamilyAtmosphereIndex;
+import com.etotem.cfc.mapper.MindFamilyAtmosphereIndexMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1548,12 +1548,12 @@ public class MindFamilyAtmosphereService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/MindMeditationService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/MindMeditationService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.MindMeditationSession;
-import com.zxyj.mapper.MindMeditationSessionMapper;
+import com.etotem.cfc.entity.MindMeditationSession;
+import com.etotem.cfc.mapper.MindMeditationSessionMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1584,14 +1584,14 @@ public class MindMeditationService {
 - [ ] **Step 3: 创建 Action 域 Service**
 - [ ] **Step 3: 创建 Action 域 Service**
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/ActionActivityService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/ActionActivityService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.ActionActivity;
-import com.zxyj.entity.ActionActivityRegistration;
-import com.zxyj.mapper.ActionActivityMapper;
-import com.zxyj.mapper.ActionActivityRegistrationMapper;
+import com.etotem.cfc.entity.ActionActivity;
+import com.etotem.cfc.entity.ActionActivityRegistration;
+import com.etotem.cfc.mapper.ActionActivityMapper;
+import com.etotem.cfc.mapper.ActionActivityRegistrationMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -1645,12 +1645,12 @@ public class ActionActivityService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/ActionArticleService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/ActionArticleService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.ActionArticle;
-import com.zxyj.mapper.ActionArticleMapper;
+import com.etotem.cfc.entity.ActionArticle;
+import com.etotem.cfc.mapper.ActionArticleMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1685,14 +1685,14 @@ public class ActionArticleService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/ActionElderCareService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/ActionElderCareService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.ActionElderCarePlan;
-import com.zxyj.entity.ActionElderCareLog;
-import com.zxyj.mapper.ActionElderCarePlanMapper;
-import com.zxyj.mapper.ActionElderCareLogMapper;
+import com.etotem.cfc.entity.ActionElderCarePlan;
+import com.etotem.cfc.entity.ActionElderCareLog;
+import com.etotem.cfc.mapper.ActionElderCarePlanMapper;
+import com.etotem.cfc.mapper.ActionElderCareLogMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1736,12 +1736,12 @@ public class ActionElderCareService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/ActionPracticeService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/ActionPracticeService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.ActionPracticeTask;
-import com.zxyj.mapper.ActionPracticeTaskMapper;
+import com.etotem.cfc.entity.ActionPracticeTask;
+import com.etotem.cfc.mapper.ActionPracticeTaskMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1769,14 +1769,14 @@ public class ActionPracticeService {
 ```
 ```
 
 
 ```java
 ```java
-// zxyj-backend/src/main/java/com/zxyj/service/ActionCommunityService.java
-package com.zxyj.service;
+// cfc-backend/src/main/java/com/etotem/cfc/service/ActionCommunityService.java
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.zxyj.entity.ActionCommunityPost;
-import com.zxyj.entity.ActionCommunityComment;
-import com.zxyj.mapper.ActionCommunityPostMapper;
-import com.zxyj.mapper.ActionCommunityCommentMapper;
+import com.etotem.cfc.entity.ActionCommunityPost;
+import com.etotem.cfc.entity.ActionCommunityComment;
+import com.etotem.cfc.mapper.ActionCommunityPostMapper;
+import com.etotem.cfc.mapper.ActionCommunityCommentMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
@@ -1829,7 +1829,7 @@ public class ActionCommunityService {
 
 
 - [ ] **Step 4: 编译验证**
 - [ ] **Step 4: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -1838,19 +1838,19 @@ Expected: BUILD SUCCESS
 ### Task 7: 创建后端 Controller 骨架
 ### Task 7: 创建后端 Controller 骨架
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/body/BodyHealthController.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/mind/MindMoodController.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/action/ActionController.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/action/ActionArticleController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/body/BodyHealthController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/mind/MindMoodController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/action/ActionController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/action/ActionArticleController.java`
 
 
 - [ ] **Step 1: 创建 BodyHealthController**
 - [ ] **Step 1: 创建 BodyHealthController**
 
 
 ```java
 ```java
-package com.zxyj.controller.body;
+package com.etotem.cfc.controller.body;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.entity.BodyHealthMetric;
-import com.zxyj.service.BodyHealthService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.BodyHealthMetric;
+import com.etotem.cfc.service.BodyHealthService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1887,11 +1887,11 @@ public class BodyHealthController {
 - [ ] **Step 2: 创建 MindMoodController**
 - [ ] **Step 2: 创建 MindMoodController**
 
 
 ```java
 ```java
-package com.zxyj.controller.mind;
+package com.etotem.cfc.controller.mind;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.entity.MindMoodLog;
-import com.zxyj.service.MindMoodService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.MindMoodLog;
+import com.etotem.cfc.service.MindMoodService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1922,12 +1922,12 @@ public class MindMoodController {
 - [ ] **Step 3: 创建 ActionController (活动+社区)**
 - [ ] **Step 3: 创建 ActionController (活动+社区)**
 
 
 ```java
 ```java
-package com.zxyj.controller.action;
+package com.etotem.cfc.controller.action;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.entity.ActionActivity;
-import com.zxyj.entity.ActionActivityRegistration;
-import com.zxyj.service.ActionActivityService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.ActionActivity;
+import com.etotem.cfc.entity.ActionActivityRegistration;
+import com.etotem.cfc.service.ActionActivityService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -1971,11 +1971,11 @@ public class ActionController {
 - [ ] **Step 4: 创建 ActionArticleController**
 - [ ] **Step 4: 创建 ActionArticleController**
 
 
 ```java
 ```java
-package com.zxyj.controller.action;
+package com.etotem.cfc.controller.action;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.entity.ActionArticle;
-import com.zxyj.service.ActionArticleService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.ActionArticle;
+import com.etotem.cfc.service.ActionArticleService;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -2011,7 +2011,7 @@ public class ActionArticleController {
 
 
 - [ ] **Step 5: 编译验证**
 - [ ] **Step 5: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -2020,7 +2020,7 @@ Expected: BUILD SUCCESS
 ### Task 8: PointsLog Entity 增加 domain 字段
 ### Task 8: PointsLog Entity 增加 domain 字段
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/entity/PointsLog.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/entity/PointsLog.java`
 
 
 - [ ] **Step 1: 在 PointsLog.java 中增加 domain 字段**
 - [ ] **Step 1: 在 PointsLog.java 中增加 domain 字段**
 
 
@@ -2032,7 +2032,7 @@ private String domain; // 积分来源域: body/mind/wisdom/action,默认 "wis
 
 
 - [ ] **Step 2: 编译验证**
 - [ ] **Step 2: 编译验证**
 
 
-Run: `cd zxyj-backend && mvn compile -q`
+Run: `cd cfc-backend && mvn compile -q`
 
 
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
@@ -2041,12 +2041,12 @@ Expected: BUILD SUCCESS
 ### Task 9: 前端首页四象限重构
 ### Task 9: 前端首页四象限重构
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/index/index.vue`
-- Modify: `zxyj-frontend/pages/index/parent-index.vue`
-- Modify: `zxyj-frontend/pages/index/child-index.vue`
-- Modify: `zxyj-frontend/pages.json`
-- Modify: `zxyj-frontend/utils/api.js`
-- Modify: `zxyj-frontend/store/index.js`
+- Modify: `cfc-frontend/pages/index/index.vue`
+- Modify: `cfc-frontend/pages/index/parent-index.vue`
+- Modify: `cfc-frontend/pages/index/child-index.vue`
+- Modify: `cfc-frontend/pages.json`
+- Modify: `cfc-frontend/utils/api.js`
+- Modify: `cfc-frontend/store/index.js`
 
 
 - [ ] **Step 1: 修改 pages.json — 注册新页面路径 + 调整tabBar**
 - [ ] **Step 1: 修改 pages.json — 注册新页面路径 + 调整tabBar**
 
 
@@ -2370,7 +2370,7 @@ export default {}
 
 
 - [ ] **Step 5: 修改 api.js — 增加域 API 封装**
 - [ ] **Step 5: 修改 api.js — 增加域 API 封装**
 
 
-在 `zxyj-frontend/utils/api.js` 末尾添加:
+在 `cfc-frontend/utils/api.js` 末尾添加:
 
 
 ```javascript
 ```javascript
 // === Body 域 API ===
 // === Body 域 API ===
@@ -2445,7 +2445,7 @@ git commit -m "feat: 溪福俱乐部四域框架搭建 - 17个新entity/mapper/s
 > 1. 完善后端 Controller + Service 业务逻辑(CRUD + 业务规则)
 > 1. 完善后端 Controller + Service 业务逻辑(CRUD + 业务规则)
 > 2. 实现前端功能页面(替换占位页面)
 > 2. 实现前端功能页面(替换占位页面)
 > 3. 接入积分系统(域内行为可获积分)
 > 3. 接入积分系统(域内行为可获积分)
-> 4. 管理端页面(zxyj-web 内容管理)
+> 4. 管理端页面(cfc-web 内容管理)
 
 
 ### 行域功能清单
 ### 行域功能清单
 
 
@@ -2502,7 +2502,7 @@ git commit -m "feat: 溪福俱乐部四域框架搭建 - 17个新entity/mapper/s
 | 购物车 | CommerceController → Lilishop buyer-api | cart | P0 |
 | 购物车 | CommerceController → Lilishop buyer-api | cart | P0 |
 | 下单/支付 | CommerceController → Lilishop buyer-api | checkout | P1 |
 | 下单/支付 | CommerceController → Lilishop buyer-api | checkout | P1 |
 | 订单管理 | CommerceController → Lilishop buyer-api | order-list | P1 |
 | 订单管理 | CommerceController → Lilishop buyer-api | order-list | P1 |
-| 商品管理(管理端) | CommerceAdminController → Lilishop seller-api | zxyj-web 商品管理页 | P2 |
+| 商品管理(管理端) | CommerceAdminController → Lilishop seller-api | cfc-web 商品管理页 | P2 |
 
 
 ### Lilishop 配置
 ### Lilishop 配置
 
 
@@ -2514,14 +2514,14 @@ lilishop:
   seller-api: http://localhost:8889
   seller-api: http://localhost:8889
   manager-api: http://localhost:8887
   manager-api: http://localhost:8887
   service-account:
   service-account:
-    username: zxyj_service
+    username: cfc_service
     password: ${LILISHOP_SERVICE_PASSWORD}
     password: ${LILISHOP_SERVICE_PASSWORD}
   token-cache-minutes: 50
   token-cache-minutes: 50
 ```
 ```
 
 
 ---
 ---
 
 
-## Phase 6: 管理端 (zxyj-web) 扩展
+## Phase 6: 管理端 (cfc-web) 扩展
 
 
 **目标:** 在 Web 管理端新增四域内容管理页面。
 **目标:** 在 Web 管理端新增四域内容管理页面。
 
 

+ 34 - 34
docs/superpowers/plans/2026-06-03-phase0-skeleton.md

@@ -22,7 +22,7 @@
 ### Task 1: User entity — add vendor/service provider fields
 ### Task 1: User entity — add vendor/service provider fields
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/entity/User.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/entity/User.java`
 
 
 - [ ] **Step 1: Add 4 fields to User.java**
 - [ ] **Step 1: Add 4 fields to User.java**
 
 
@@ -44,7 +44,7 @@ Add after the existing `familyRole` field (before `createdAt`):
 
 
 - [ ] **Step 2: Verify compilation**
 - [ ] **Step 2: Verify compilation**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -52,7 +52,7 @@ Expected: BUILD SUCCESS
 ### Task 2: DatabaseInitializer — add vendor columns migration
 ### Task 2: DatabaseInitializer — add vendor columns migration
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`
 
 
 - [ ] **Step 1: Find the `runMigrations()` method and add ALTER TABLE statements**
 - [ ] **Step 1: Find the `runMigrations()` method and add ALTER TABLE statements**
 
 
@@ -81,7 +81,7 @@ jdbcTemplate.update(
 
 
 - [ ] **Step 3: Verify compilation**
 - [ ] **Step 3: Verify compilation**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -89,18 +89,18 @@ Expected: BUILD SUCCESS
 ### Task 3: VendorController + VendorService (backend)
 ### Task 3: VendorController + VendorService (backend)
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/vendor/VendorController.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/service/VendorService.java`
-- Modify: `zxyj-backend/src/main/java/com/zxyj/mapper/UserMapper.java` (only if methods are missing, likely already has basic CRUD)
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/vendor/VendorController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/service/VendorService.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/mapper/UserMapper.java` (only if methods are missing, likely already has basic CRUD)
 
 
 - [ ] **Step 1: Create VendorService**
 - [ ] **Step 1: Create VendorService**
 
 
 ```java
 ```java
-package com.zxyj.service;
+package com.etotem.cfc.service;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.entity.User;
-import com.zxyj.mapper.UserMapper;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.User;
+import com.etotem.cfc.mapper.UserMapper;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import javax.annotation.Resource;
 import javax.annotation.Resource;
@@ -170,10 +170,10 @@ public class VendorService {
 - [ ] **Step 2: Create VendorController**
 - [ ] **Step 2: Create VendorController**
 
 
 ```java
 ```java
-package com.zxyj.controller.vendor;
+package com.etotem.cfc.controller.vendor;
 
 
-import com.zxyj.common.Result;
-import com.zxyj.service.VendorService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.service.VendorService;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -238,7 +238,7 @@ public class VendorController {
 
 
 - [ ] **Step 3: Verify compilation**
 - [ ] **Step 3: Verify compilation**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Check: The new directory `controller/vendor/` is picked up by Spring component scan. Verify no bean name conflicts.
 Check: The new directory `controller/vendor/` is picked up by Spring component scan. Verify no bean name conflicts.
 
 
 ---
 ---
@@ -246,7 +246,7 @@ Check: The new directory `controller/vendor/` is picked up by Spring component s
 ### Task 4: Admin vendor API — Web端审核服务商入驻
 ### Task 4: Admin vendor API — Web端审核服务商入驻
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/controller/admin/AdminController.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/controller/admin/AdminController.java`
 
 
 - [ ] **Step 1: Add admin vendor review endpoints to AdminController**
 - [ ] **Step 1: Add admin vendor review endpoints to AdminController**
 
 
@@ -311,8 +311,8 @@ public Result vendorReview(@RequestBody Map<String, Object> params) {
 
 
 Add the required imports at the top:
 Add the required imports at the top:
 ```java
 ```java
-import com.zxyj.entity.User;
-import com.zxyj.mapper.UserMapper;
+import com.etotem.cfc.entity.User;
+import com.etotem.cfc.mapper.UserMapper;
 import java.util.Date;
 import java.util.Date;
 ```
 ```
 
 
@@ -320,7 +320,7 @@ And confirm `@Resource private UserMapper userMapper;` is present in the class.
 
 
 - [ ] **Step 2: Verify compilation**
 - [ ] **Step 2: Verify compilation**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 ---
 ---
@@ -328,7 +328,7 @@ Expected: BUILD SUCCESS
 ### Task 5: Frontend API additions — vendor module
 ### Task 5: Frontend API additions — vendor module
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/utils/api.js`
+- Modify: `cfc-frontend/utils/api.js`
 
 
 - [ ] **Step 1: Add vendor API calls to api.js**
 - [ ] **Step 1: Add vendor API calls to api.js**
 
 
@@ -358,7 +358,7 @@ export const vendorInfo = () => {
 ### Task 6: TabBar change — pages.json
 ### Task 6: TabBar change — pages.json
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages.json`
+- Modify: `cfc-frontend/pages.json`
 
 
 - [ ] **Step 1: Change TabBar list and add new page registrations**
 - [ ] **Step 1: Change TabBar list and add new page registrations**
 
 
@@ -426,7 +426,7 @@ Add new page registrations in the `pages` array (before the `globalStyle` sectio
 ### Task 7: Discover placeholder page
 ### Task 7: Discover placeholder page
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/pages/discover/index.vue`
+- Create: `cfc-frontend/pages/discover/index.vue`
 
 
 - [ ] **Step 1: Create discover placeholder page**
 - [ ] **Step 1: Create discover placeholder page**
 
 
@@ -487,7 +487,7 @@ export default {
 ### Task 8: Shop placeholder page
 ### Task 8: Shop placeholder page
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/pages/shop/index.vue`
+- Create: `cfc-frontend/pages/shop/index.vue`
 
 
 - [ ] **Step 1: Create shop placeholder page**
 - [ ] **Step 1: Create shop placeholder page**
 
 
@@ -548,7 +548,7 @@ export default {
 ### Task 9: Vendor apply page (frontend)
 ### Task 9: Vendor apply page (frontend)
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/pages/vendor/apply.vue`
+- Create: `cfc-frontend/pages/vendor/apply.vue`
 
 
 - [ ] **Step 1: Create vendor application form page**
 - [ ] **Step 1: Create vendor application form page**
 
 
@@ -724,7 +724,7 @@ export default {
 ### Task 10: Vendor center page (frontend)
 ### Task 10: Vendor center page (frontend)
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/pages/vendor/center.vue`
+- Create: `cfc-frontend/pages/vendor/center.vue`
 
 
 - [ ] **Step 1: Create vendor center page**
 - [ ] **Step 1: Create vendor center page**
 
 
@@ -886,7 +886,7 @@ export default {
 ### Task 11: Profile page — add membership + vendor entries
 ### Task 11: Profile page — add membership + vendor entries
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/profile/profile.vue`
+- Modify: `cfc-frontend/pages/profile/profile.vue`
 
 
 - [ ] **Step 1: Add membership entry and vendor entry after "积分记录" menu item**
 - [ ] **Step 1: Add membership entry and vendor entry after "积分记录" menu item**
 
 
@@ -953,8 +953,8 @@ import { vendorStatus } from '../../utils/api'
 ### Task 12: Homepage 五行能量沙盘(五角星)+ membership banner
 ### Task 12: Homepage 五行能量沙盘(五角星)+ membership banner
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/index/parent-index.vue`
-- Modify: `zxyj-frontend/pages/index/child-index.vue`
+- Modify: `cfc-frontend/pages/index/parent-index.vue`
+- Modify: `cfc-frontend/pages/index/child-index.vue`
 
 
 - [ ] **Step 1: Add 五行能量沙盘 (pentagram) component after welcome section**
 - [ ] **Step 1: Add 五行能量沙盘 (pentagram) component after welcome section**
 
 
@@ -1233,14 +1233,14 @@ Read the file and replicate the same 五行沙盘 + membership banner insertion
 ### Task 13: Web admin — vendor review page
 ### Task 13: Web admin — vendor review page
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-web/src/views/admin/VendorReview.vue`
-- Modify: `zxyj-web/src/router/index.js`
-- Create: `zxyj-web/src/api/vendor.js`
+- Create: `cfc-web/src/views/admin/VendorReview.vue`
+- Modify: `cfc-web/src/router/index.js`
+- Create: `cfc-web/src/api/vendor.js`
 
 
 - [ ] **Step 1: Create vendor API file**
 - [ ] **Step 1: Create vendor API file**
 
 
 ```javascript
 ```javascript
-// zxyj-web/src/api/vendor.js
+// cfc-web/src/api/vendor.js
 import request from '@/utils/request'
 import request from '@/utils/request'
 
 
 // 服务商入驻申请列表
 // 服务商入驻申请列表
@@ -1262,7 +1262,7 @@ export function reviewVendor(data) {
 }
 }
 ```
 ```
 
 
-Check `zxyj-web/src/utils/request.js` to confirm the request wrapper pattern matches.
+Check `cfc-web/src/utils/request.js` to confirm the request wrapper pattern matches.
 
 
 - [ ] **Step 2: Create VendorReview.vue**
 - [ ] **Step 2: Create VendorReview.vue**
 
 
@@ -1438,7 +1438,7 @@ Add `'VendorReview'` to the `adminRoutes` array in the route guard section:
 ### Task 14: Web admin — add sidebar menu for vendor review
 ### Task 14: Web admin — add sidebar menu for vendor review
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-web/src/views/Layout.vue`
+- Modify: `cfc-web/src/views/Layout.vue`
 
 
 - [ ] **Step 1: Add sidebar menu item**
 - [ ] **Step 1: Add sidebar menu item**
 
 

+ 2 - 2
docs/superpowers/plans/2026-06-04-phase1-and-phase2-diff-analysis.md

@@ -86,8 +86,8 @@
 
 
 #### 3.2.3 无人引用的 API
 #### 3.2.3 无人引用的 API
 
 
-- **无 frontend 消费者**: `grep` 整个 `zxyj-frontend` (排除 node_modules) 找不到 `membership` 相关引用
-- **无 web admin 消费者**: `grep` 整个 `zxyj-web` (排除 node_modules) 找不到 `membership` 相关引用
+- **无 frontend 消费者**: `grep` 整个 `cfc-frontend` (排除 node_modules) 找不到 `membership` 相关引用
+- **无 web admin 消费者**: `grep` 整个 `cfc-web` (排除 node_modules) 找不到 `membership` 相关引用
 - **无内部 Service 调用**: 现有代码无其他 Service 调用 MembershipService
 - **无内部 Service 调用**: 现有代码无其他 Service 调用 MembershipService
 
 
 **结论:** 现有 Phase 2 代码是**孤岛** — 没有任何消费者。修改它不会影响其他业务。
 **结论:** 现有 Phase 2 代码是**孤岛** — 没有任何消费者。修改它不会影响其他业务。

Plik diff jest za duży
+ 162 - 162
docs/superpowers/plans/2026-06-04-phase1-product-system.md


+ 21 - 21
docs/superpowers/plans/2026-06-04-pre-login-discovery.md

@@ -13,12 +13,12 @@
 ### Task 1: 品牌更名 溪艾福→汐艾福
 ### Task 1: 品牌更名 溪艾福→汐艾福
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/index/parent-index.vue` (4处)
-- Modify: `zxyj-frontend/pages/index/child-index.vue` (2处)
-- Modify: `zxyj-frontend/pages.json` (1处)
-- Modify: `zxyj-frontend/pages/profile/profile.vue` (1处)
-- Modify: `zxyj-frontend/utils/api.js` (1处)
-- Modify: `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java` (4处)
+- Modify: `cfc-frontend/pages/index/parent-index.vue` (4处)
+- Modify: `cfc-frontend/pages/index/child-index.vue` (2处)
+- Modify: `cfc-frontend/pages.json` (1处)
+- Modify: `cfc-frontend/pages/profile/profile.vue` (1处)
+- Modify: `cfc-frontend/utils/api.js` (1处)
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java` (4处)
 
 
 - [ ] **Step 1: 替换所有前端「溪艾福」→「汐艾福」**
 - [ ] **Step 1: 替换所有前端「溪艾福」→「汐艾福」**
 
 
@@ -47,7 +47,7 @@ Replace in DatabaseInitializer.java (comments only):
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add $(rtk list -u --modified -- zxyj-frontend/ zxyj-backend/)
+git add $(rtk list -u --modified -- cfc-frontend/ cfc-backend/)
 git commit -m "chore: 品牌名溪艾福/溪福俱乐部统一改为汐艾福/汐福俱乐部"
 git commit -m "chore: 品牌名溪艾福/溪福俱乐部统一改为汐艾福/汐福俱乐部"
 ```
 ```
 
 
@@ -56,9 +56,9 @@ git commit -m "chore: 品牌名溪艾福/溪福俱乐部统一改为汐艾福/
 ### Task 2: 提取五行沙盘为独立组件
 ### Task 2: 提取五行沙盘为独立组件
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/components/wuxing-sandbox.vue`
-- Modify: `zxyj-frontend/pages/index/parent-index.vue`
-- Modify: `zxyj-frontend/pages/index/child-index.vue`
+- Create: `cfc-frontend/components/wuxing-sandbox.vue`
+- Modify: `cfc-frontend/pages/index/parent-index.vue`
+- Modify: `cfc-frontend/pages/index/child-index.vue`
 
 
 - [ ] **Step 1: 创建 wuxing-sandbox.vue 组件**
 - [ ] **Step 1: 创建 wuxing-sandbox.vue 组件**
 
 
@@ -236,7 +236,7 @@ Remove the entire inline `<style>` block for `.wuxing-sandbox` CSS from both par
 - [ ] **Step 4: Commit**
 - [ ] **Step 4: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/components/wuxing-sandbox.vue zxyj-frontend/pages/index/parent-index.vue zxyj-frontend/pages/index/child-index.vue
+git add cfc-frontend/components/wuxing-sandbox.vue cfc-frontend/pages/index/parent-index.vue cfc-frontend/pages/index/child-index.vue
 git commit -m "refactor: 提取五行沙盘为独立组件(wuxing-sandbox.vue)支持三种模式"
 git commit -m "refactor: 提取五行沙盘为独立组件(wuxing-sandbox.vue)支持三种模式"
 ```
 ```
 
 
@@ -245,7 +245,7 @@ git commit -m "refactor: 提取五行沙盘为独立组件(wuxing-sandbox.vue)
 ### Task 3: 创建自定义底部导航组件
 ### Task 3: 创建自定义底部导航组件
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/components/bottom-nav.vue`
+- Create: `cfc-frontend/components/bottom-nav.vue`
 
 
 - [ ] **Step 1: 创建 bottom-nav.vue 组件**
 - [ ] **Step 1: 创建 bottom-nav.vue 组件**
 
 
@@ -322,7 +322,7 @@ export default {
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/components/bottom-nav.vue
+git add cfc-frontend/components/bottom-nav.vue
 git commit -m "feat: 创建自定义底部导航组件(bottom-nav)用于未登录态2Tab展示"
 git commit -m "feat: 创建自定义底部导航组件(bottom-nav)用于未登录态2Tab展示"
 ```
 ```
 
 
@@ -331,7 +331,7 @@ git commit -m "feat: 创建自定义底部导航组件(bottom-nav)用于未登
 ### Task 4: 重构 App.vue 登录态 + TabBar 切换逻辑
 ### Task 4: 重构 App.vue 登录态 + TabBar 切换逻辑
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/App.vue`
+- Modify: `cfc-frontend/App.vue`
 
 
 - [ ] **Step 1: 修改 App.vue onLaunch**
 - [ ] **Step 1: 修改 App.vue onLaunch**
 
 
@@ -386,7 +386,7 @@ This should already work with the App.vue changes. No need to modify login.vue T
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/App.vue
+git add cfc-frontend/App.vue
 git commit -m "feat: App.vue 添加登录态TabBar切换逻辑(未登录隐藏原生TabBar)"
 git commit -m "feat: App.vue 添加登录态TabBar切换逻辑(未登录隐藏原生TabBar)"
 ```
 ```
 
 
@@ -395,7 +395,7 @@ git commit -m "feat: App.vue 添加登录态TabBar切换逻辑(未登录隐藏
 ### Task 5: 重构发现页(核心页面)
 ### Task 5: 重构发现页(核心页面)
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/discover/index.vue`
+- Modify: `cfc-frontend/pages/discover/index.vue`
 
 
 - [ ] **Step 1: 完整重写 discover/index.vue**
 - [ ] **Step 1: 完整重写 discover/index.vue**
 
 
@@ -605,7 +605,7 @@ export default {
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/discover/index.vue
+git add cfc-frontend/pages/discover/index.vue
 git commit -m "feat: 重构发现页为预登录首页(沙盘+活动+商品+登录引导)"
 git commit -m "feat: 重构发现页为预登录首页(沙盘+活动+商品+登录引导)"
 ```
 ```
 
 
@@ -614,7 +614,7 @@ git commit -m "feat: 重构发现页为预登录首页(沙盘+活动+商品+登
 ### Task 6: 商城页添加未登录态预览
 ### Task 6: 商城页添加未登录态预览
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/shop/index.vue`
+- Modify: `cfc-frontend/pages/shop/index.vue`
 
 
 - [ ] **Step 1: 重写 shop/index.vue**
 - [ ] **Step 1: 重写 shop/index.vue**
 
 
@@ -739,7 +739,7 @@ export default {
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/shop/index.vue
+git add cfc-frontend/pages/shop/index.vue
 git commit -m "feat: 商城页添加未登录预览态(静态商品展示+登录引导)"
 git commit -m "feat: 商城页添加未登录预览态(静态商品展示+登录引导)"
 ```
 ```
 
 
@@ -748,7 +748,7 @@ git commit -m "feat: 商城页添加未登录预览态(静态商品展示+登录
 ### Task 7: Login 页添加 redirect 参数支持
 ### Task 7: Login 页添加 redirect 参数支持
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/login/login.vue`
+- Modify: `cfc-frontend/pages/login/login.vue`
 
 
 - [ ] **Step 1: 修改 login.vue onLoad 接受 redirect 参数**
 - [ ] **Step 1: 修改 login.vue onLoad 接受 redirect 参数**
 
 
@@ -797,7 +797,7 @@ Replace the existing navigateToHome method:
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/login/login.vue
+git add cfc-frontend/pages/login/login.vue
 git commit -m "feat: 登录页支持redirect参数(登录后返回来源页)"
 git commit -m "feat: 登录页支持redirect参数(登录后返回来源页)"
 ```
 ```
 
 

+ 77 - 77
docs/superpowers/plans/2026-06-05-five-dimension-energy-system.md

@@ -17,43 +17,43 @@
 ### 后端新建文件
 ### 后端新建文件
 | 文件 | 职责 |
 | 文件 | 职责 |
 |------|------|
 |------|------|
-| `zxyj-backend/src/main/java/com/zxyj/entity/EnergyDimension.java` | 维度定义实体 |
-| `zxyj-backend/src/main/java/com/zxyj/entity/EnergySourceConfig.java` | 服务-维度比例配置实体 |
-| `zxyj-backend/src/main/java/com/zxyj/entity/EnergyLog.java` | 能量流水实体 |
-| `zxyj-backend/src/main/java/com/zxyj/entity/EnergyBalance.java` | 维度余额实体 |
-| `zxyj-backend/src/main/java/com/zxyj/mapper/EnergyDimensionMapper.java` | 维度CRUD |
-| `zxyj-backend/src/main/java/com/zxyj/mapper/EnergySourceConfigMapper.java` | 比例配置CRUD |
-| `zxyj-backend/src/main/java/com/zxyj/mapper/EnergyLogMapper.java` | 流水查询 |
-| `zxyj-backend/src/main/java/com/zxyj/mapper/EnergyBalanceMapper.java` | 余额查询/更新 |
-| `zxyj-backend/src/main/java/com/zxyj/service/EnergyService.java` | 核心业务:发放/扣除/查概览/查流水/配比例 |
-| `zxyj-backend/src/main/java/com/zxyj/controller/energy/EnergyController.java` | API入口 |
+| `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergyDimension.java` | 维度定义实体 |
+| `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergySourceConfig.java` | 服务-维度比例配置实体 |
+| `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergyLog.java` | 能量流水实体 |
+| `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergyBalance.java` | 维度余额实体 |
+| `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergyDimensionMapper.java` | 维度CRUD |
+| `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergySourceConfigMapper.java` | 比例配置CRUD |
+| `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergyLogMapper.java` | 流水查询 |
+| `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergyBalanceMapper.java` | 余额查询/更新 |
+| `cfc-backend/src/main/java/com/etotem/cfc/service/EnergyService.java` | 核心业务:发放/扣除/查概览/查流水/配比例 |
+| `cfc-backend/src/main/java/com/etotem/cfc/controller/energy/EnergyController.java` | API入口 |
 
 
 ### 后端修改文件
 ### 后端修改文件
 | 文件 | 修改内容 |
 | 文件 | 修改内容 |
 |------|----------|
 |------|----------|
-| `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java` | 添加4张表DDL + 种子数据 + 比例配置迁移 |
-| `zxyj-backend/src/main/java/com/zxyj/service/TaskService.java` | completeTask()末尾添加energyService.awardEnergy()调用 |
+| `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java` | 添加4张表DDL + 种子数据 + 比例配置迁移 |
+| `cfc-backend/src/main/java/com/etotem/cfc/service/TaskService.java` | completeTask()末尾添加energyService.awardEnergy()调用 |
 
 
 ### 前端修改文件
 ### 前端修改文件
 | 文件 | 修改内容 |
 | 文件 | 修改内容 |
 |------|----------|
 |------|----------|
-| `zxyj-frontend/components/wuxing-sandbox.vue` | 完全重写:接收dimensions/totalEnergy/totalHealthIndex props,显示真实数据,三层视觉结构 |
-| `zxyj-frontend/utils/api.js` | 添加getEnergyOverview/getEnergyLogs |
-| `zxyj-frontend/pages/index/parent-index.vue` | 传入API获取的dimensions/totalEnergy/totalHealthIndex |
-| `zxyj-frontend/pages/index/child-index.vue` | 同上 |
-| `zxyj-frontend/pages.json` | 注册energy/detail页面 |
+| `cfc-frontend/components/wuxing-sandbox.vue` | 完全重写:接收dimensions/totalEnergy/totalHealthIndex props,显示真实数据,三层视觉结构 |
+| `cfc-frontend/utils/api.js` | 添加getEnergyOverview/getEnergyLogs |
+| `cfc-frontend/pages/index/parent-index.vue` | 传入API获取的dimensions/totalEnergy/totalHealthIndex |
+| `cfc-frontend/pages/index/child-index.vue` | 同上 |
+| `cfc-frontend/pages.json` | 注册energy/detail页面 |
 
 
 ### 前端新建文件
 ### 前端新建文件
 | 文件 | 职责 |
 | 文件 | 职责 |
 |------|------|
 |------|------|
-| `zxyj-frontend/pages/energy/detail.vue` | 维度详情页:能量值、流水记录 |
+| `cfc-frontend/pages/energy/detail.vue` | 维度详情页:能量值、流水记录 |
 
 
 ---
 ---
 
 
 ## Task 1: 数据库迁移 — 4张新表 + 种子数据
 ## Task 1: 数据库迁移 — 4张新表 + 种子数据
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java`
 
 
 在 `initSchema()` 方法末尾(`log.info("数据库迁移完成")` 之前)添加能量系统4张表DDL和种子数据。
 在 `initSchema()` 方法末尾(`log.info("数据库迁移完成")` 之前)添加能量系统4张表DDL和种子数据。
 
 
@@ -201,13 +201,13 @@ try {
 
 
 - [ ] **Step 4: 验证编译通过**
 - [ ] **Step 4: 验证编译通过**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 5: Commit**
 - [ ] **Step 5: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/config/DatabaseInitializer.java
+git add cfc-backend/src/main/java/com/etotem/cfc/config/DatabaseInitializer.java
 git commit -m "feat(energy): add 4 energy tables + seed data to DatabaseInitializer"
 git commit -m "feat(energy): add 4 energy tables + seed data to DatabaseInitializer"
 ```
 ```
 
 
@@ -216,17 +216,17 @@ git commit -m "feat(energy): add 4 energy tables + seed data to DatabaseInitiali
 ## Task 2: 后端实体类 — 4个Entity
 ## Task 2: 后端实体类 — 4个Entity
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/EnergyDimension.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/EnergySourceConfig.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/EnergyLog.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/entity/EnergyBalance.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergyDimension.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergySourceConfig.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergyLog.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/entity/EnergyBalance.java`
 
 
 遵循现有entity模式:`@Data @TableName @TableId(type=IdType.AUTO) implements Serializable`,字段名用驼峰。
 遵循现有entity模式:`@Data @TableName @TableId(type=IdType.AUTO) implements Serializable`,字段名用驼峰。
 
 
 - [ ] **Step 1: 创建 EnergyDimension.java**
 - [ ] **Step 1: 创建 EnergyDimension.java**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -253,7 +253,7 @@ public class EnergyDimension implements Serializable {
 - [ ] **Step 2: 创建 EnergySourceConfig.java**
 - [ ] **Step 2: 创建 EnergySourceConfig.java**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -280,7 +280,7 @@ public class EnergySourceConfig implements Serializable {
 - [ ] **Step 3: 创建 EnergyLog.java**
 - [ ] **Step 3: 创建 EnergyLog.java**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -308,7 +308,7 @@ public class EnergyLog implements Serializable {
 - [ ] **Step 4: 创建 EnergyBalance.java**
 - [ ] **Step 4: 创建 EnergyBalance.java**
 
 
 ```java
 ```java
-package com.zxyj.entity;
+package com.etotem.cfc.entity;
 
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
@@ -333,13 +333,13 @@ public class EnergyBalance implements Serializable {
 
 
 - [ ] **Step 5: 验证编译**
 - [ ] **Step 5: 验证编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 6: Commit**
 - [ ] **Step 6: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/entity/Energy*.java
+git add cfc-backend/src/main/java/com/etotem/cfc/entity/Energy*.java
 git commit -m "feat(energy): add 4 energy entity classes"
 git commit -m "feat(energy): add 4 energy entity classes"
 ```
 ```
 
 
@@ -348,10 +348,10 @@ git commit -m "feat(energy): add 4 energy entity classes"
 ## Task 3: 后端Mapper接口 — 4个Mapper
 ## Task 3: 后端Mapper接口 — 4个Mapper
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/mapper/EnergyDimensionMapper.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/mapper/EnergySourceConfigMapper.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/mapper/EnergyLogMapper.java`
-- Create: `zxyj-backend/src/main/java/com/zxyj/mapper/EnergyBalanceMapper.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergyDimensionMapper.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergySourceConfigMapper.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergyLogMapper.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/mapper/EnergyBalanceMapper.java`
 
 
 遵循现有mapper模式:`@Mapper interface XxxMapper extends BaseMapper<Xxx>`,无自定义方法。
 遵循现有mapper模式:`@Mapper interface XxxMapper extends BaseMapper<Xxx>`,无自定义方法。
 
 
@@ -359,10 +359,10 @@ git commit -m "feat(energy): add 4 energy entity classes"
 
 
 ```java
 ```java
 // EnergyDimensionMapper.java
 // EnergyDimensionMapper.java
-package com.zxyj.mapper;
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.EnergyDimension;
+import com.etotem.cfc.entity.EnergyDimension;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -372,10 +372,10 @@ public interface EnergyDimensionMapper extends BaseMapper<EnergyDimension> {
 
 
 ```java
 ```java
 // EnergySourceConfigMapper.java
 // EnergySourceConfigMapper.java
-package com.zxyj.mapper;
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.EnergySourceConfig;
+import com.etotem.cfc.entity.EnergySourceConfig;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -385,10 +385,10 @@ public interface EnergySourceConfigMapper extends BaseMapper<EnergySourceConfig>
 
 
 ```java
 ```java
 // EnergyLogMapper.java
 // EnergyLogMapper.java
-package com.zxyj.mapper;
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.EnergyLog;
+import com.etotem.cfc.entity.EnergyLog;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -398,10 +398,10 @@ public interface EnergyLogMapper extends BaseMapper<EnergyLog> {
 
 
 ```java
 ```java
 // EnergyBalanceMapper.java
 // EnergyBalanceMapper.java
-package com.zxyj.mapper;
+package com.etotem.cfc.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.zxyj.entity.EnergyBalance;
+import com.etotem.cfc.entity.EnergyBalance;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
 @Mapper
 @Mapper
@@ -411,13 +411,13 @@ public interface EnergyBalanceMapper extends BaseMapper<EnergyBalance> {
 
 
 - [ ] **Step 2: 验证编译**
 - [ ] **Step 2: 验证编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/mapper/Energy*Mapper.java
+git add cfc-backend/src/main/java/com/etotem/cfc/mapper/Energy*Mapper.java
 git commit -m "feat(energy): add 4 energy mapper interfaces"
 git commit -m "feat(energy): add 4 energy mapper interfaces"
 ```
 ```
 
 
@@ -426,19 +426,19 @@ git commit -m "feat(energy): add 4 energy mapper interfaces"
 ## Task 4: 后端核心服务 — EnergyService
 ## Task 4: 后端核心服务 — EnergyService
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/service/EnergyService.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/service/EnergyService.java`
 
 
 这是能量系统最核心的文件。实现5个核心方法:awardEnergy、deductEnergy、getOverview、getLogs、configureSourceRatios。
 这是能量系统最核心的文件。实现5个核心方法:awardEnergy、deductEnergy、getOverview、getLogs、configureSourceRatios。
 
 
 - [ ] **Step 1: 创建EnergyService.java**
 - [ ] **Step 1: 创建EnergyService.java**
 
 
 ```java
 ```java
-package com.zxyj.service;
+package com.etotem.cfc.service;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.zxyj.entity.*;
-import com.zxyj.mapper.*;
+import com.etotem.cfc.entity.*;
+import com.etotem.cfc.mapper.*;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
@@ -770,13 +770,13 @@ public class EnergyService {
 
 
 - [ ] **Step 2: 验证编译**
 - [ ] **Step 2: 验证编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/service/EnergyService.java
+git add cfc-backend/src/main/java/com/etotem/cfc/service/EnergyService.java
 git commit -m "feat(energy): add EnergyService with award/deduct/overview/logs/configure"
 git commit -m "feat(energy): add EnergyService with award/deduct/overview/logs/configure"
 ```
 ```
 
 
@@ -785,19 +785,19 @@ git commit -m "feat(energy): add EnergyService with award/deduct/overview/logs/c
 ## Task 5: 后端API入口 — EnergyController
 ## Task 5: 后端API入口 — EnergyController
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-backend/src/main/java/com/zxyj/controller/energy/EnergyController.java`
+- Create: `cfc-backend/src/main/java/com/etotem/cfc/controller/energy/EnergyController.java`
 
 
 遵循现有controller模式:`@RestController @RequestMapping`,统一`@PostMapping`,`@Resource`注入Service,`Result<T>`响应。
 遵循现有controller模式:`@RestController @RequestMapping`,统一`@PostMapping`,`@Resource`注入Service,`Result<T>`响应。
 
 
 - [ ] **Step 1: 创建EnergyController.java**
 - [ ] **Step 1: 创建EnergyController.java**
 
 
 ```java
 ```java
-package com.zxyj.controller.energy;
+package com.etotem.cfc.controller.energy;
 
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.zxyj.common.Result;
-import com.zxyj.entity.EnergyLog;
-import com.zxyj.service.EnergyService;
+import com.etotem.cfc.common.Result;
+import com.etotem.cfc.entity.EnergyLog;
+import com.etotem.cfc.service.EnergyService;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import java.util.Map;
 import java.util.Map;
@@ -859,13 +859,13 @@ public class EnergyController {
 
 
 - [ ] **Step 2: 验证编译**
 - [ ] **Step 2: 验证编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/controller/energy/EnergyController.java
+git add cfc-backend/src/main/java/com/etotem/cfc/controller/energy/EnergyController.java
 git commit -m "feat(energy): add EnergyController with overview/logs/configure endpoints"
 git commit -m "feat(energy): add EnergyController with overview/logs/configure endpoints"
 ```
 ```
 
 
@@ -874,7 +874,7 @@ git commit -m "feat(energy): add EnergyController with overview/logs/configure e
 ## Task 6: 集成到TaskService — 完成任务时发放能量
 ## Task 6: 集成到TaskService — 完成任务时发放能量
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-backend/src/main/java/com/zxyj/service/TaskService.java`
+- Modify: `cfc-backend/src/main/java/com/etotem/cfc/service/TaskService.java`
 
 
 在`completeTask()`方法的`pointsLogMapper.insert(pointsLog)`之后、`Map<String, Object> result`之前,添加一行energyService调用。
 在`completeTask()`方法的`pointsLogMapper.insert(pointsLog)`之后、`Map<String, Object> result`之前,添加一行energyService调用。
 
 
@@ -909,13 +909,13 @@ try {
 
 
 - [ ] **Step 3: 验证编译**
 - [ ] **Step 3: 验证编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 4: Commit**
 - [ ] **Step 4: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-backend/src/main/java/com/zxyj/service/TaskService.java
+git add cfc-backend/src/main/java/com/etotem/cfc/service/TaskService.java
 git commit -m "feat(energy): integrate energy award into TaskService.completeTask()"
 git commit -m "feat(energy): integrate energy award into TaskService.completeTask()"
 ```
 ```
 
 
@@ -924,7 +924,7 @@ git commit -m "feat(energy): integrate energy award into TaskService.completeTas
 ## Task 7: 前端API封装 — api.js添加能量接口
 ## Task 7: 前端API封装 — api.js添加能量接口
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/utils/api.js`
+- Modify: `cfc-frontend/utils/api.js`
 
 
 在文件末尾添加能量系统两个API调用。
 在文件末尾添加能量系统两个API调用。
 
 
@@ -944,7 +944,7 @@ export const getEnergyLogs = (childId, dimensionCode, page = 1, size = 10) => {
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/utils/api.js
+git add cfc-frontend/utils/api.js
 git commit -m "feat(energy): add energy API calls to frontend api.js"
 git commit -m "feat(energy): add energy API calls to frontend api.js"
 ```
 ```
 
 
@@ -953,7 +953,7 @@ git commit -m "feat(energy): add energy API calls to frontend api.js"
 ## Task 8: 前端wuxing-sandbox组件重写
 ## Task 8: 前端wuxing-sandbox组件重写
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/components/wuxing-sandbox.vue`
+- Modify: `cfc-frontend/components/wuxing-sandbox.vue`
 
 
 完全重写组件,接收真实数据props,实现三层视觉结构(外层维度角、中层健康指数扇区、内层中心圆)。
 完全重写组件,接收真实数据props,实现三层视觉结构(外层维度角、中层健康指数扇区、内层中心圆)。
 
 
@@ -1268,7 +1268,7 @@ export default {
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/components/wuxing-sandbox.vue
+git add cfc-frontend/components/wuxing-sandbox.vue
 git commit -m "feat(energy): rewrite wuxing-sandbox with real data props and 3-layer visual structure"
 git commit -m "feat(energy): rewrite wuxing-sandbox with real data props and 3-layer visual structure"
 ```
 ```
 
 
@@ -1277,8 +1277,8 @@ git commit -m "feat(energy): rewrite wuxing-sandbox with real data props and 3-l
 ## Task 9: 前端首页集成 — parent-index和child-index传入真实数据
 ## Task 9: 前端首页集成 — parent-index和child-index传入真实数据
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/index/parent-index.vue`
-- Modify: `zxyj-frontend/pages/index/child-index.vue`
+- Modify: `cfc-frontend/pages/index/parent-index.vue`
+- Modify: `cfc-frontend/pages/index/child-index.vue`
 
 
 在两个首页的`onShow`或`onLoad`生命周期中调用`getEnergyOverview`API,将结果传给wuxing-sandbox组件。
 在两个首页的`onShow`或`onLoad`生命周期中调用`getEnergyOverview`API,将结果传给wuxing-sandbox组件。
 
 
@@ -1389,7 +1389,7 @@ loadEnergyOverview: function () {
 - [ ] **Step 3: Commit**
 - [ ] **Step 3: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/index/parent-index.vue zxyj-frontend/pages/index/child-index.vue
+git add cfc-frontend/pages/index/parent-index.vue cfc-frontend/pages/index/child-index.vue
 git commit -m "feat(energy): integrate energy overview API into parent and child index pages"
 git commit -m "feat(energy): integrate energy overview API into parent and child index pages"
 ```
 ```
 
 
@@ -1398,8 +1398,8 @@ git commit -m "feat(energy): integrate energy overview API into parent and child
 ## Task 10: 前端能量详情页 + pages.json注册
 ## Task 10: 前端能量详情页 + pages.json注册
 
 
 **Files:**
 **Files:**
-- Create: `zxyj-frontend/pages/energy/detail.vue`
-- Modify: `zxyj-frontend/pages.json`
+- Create: `cfc-frontend/pages/energy/detail.vue`
+- Modify: `cfc-frontend/pages.json`
 
 
 创建维度详情页:显示维度名称/图标/能量值/健康指数,下方展示流水记录。从wuxing-sandbox点击维度时navigateTo进入。
 创建维度详情页:显示维度名称/图标/能量值/健康指数,下方展示流水记录。从wuxing-sandbox点击维度时navigateTo进入。
 
 
@@ -1608,7 +1608,7 @@ goToDomain: function (code) {
 - [ ] **Step 4: Commit**
 - [ ] **Step 4: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/energy/detail.vue zxyj-frontend/pages.json zxyj-frontend/pages/index/parent-index.vue zxyj-frontend/pages/index/child-index.vue
+git add cfc-frontend/pages/energy/detail.vue cfc-frontend/pages.json cfc-frontend/pages/index/parent-index.vue cfc-frontend/pages/index/child-index.vue
 git commit -m "feat(energy): add energy detail page + register in pages.json + add navigation"
 git commit -m "feat(energy): add energy detail page + register in pages.json + add navigation"
 ```
 ```
 
 
@@ -1617,7 +1617,7 @@ git commit -m "feat(energy): add energy detail page + register in pages.json + a
 ## Task 11: discover页预览模式更新
 ## Task 11: discover页预览模式更新
 
 
 **Files:**
 **Files:**
-- Modify: `zxyj-frontend/pages/discover/index.vue`
+- Modify: `cfc-frontend/pages/discover/index.vue`
 
 
 discover页保持preview模式,不需要调用API,但需要传入空dimensions数组保证组件正常渲染。
 discover页保持preview模式,不需要调用API,但需要传入空dimensions数组保证组件正常渲染。
 
 
@@ -1642,7 +1642,7 @@ discover页保持preview模式,不需要调用API,但需要传入空dimensio
 - [ ] **Step 2: Commit**
 - [ ] **Step 2: Commit**
 
 
 ```bash
 ```bash
-git add zxyj-frontend/pages/discover/index.vue
+git add cfc-frontend/pages/discover/index.vue
 git commit -m "feat(energy): update discover page with empty energy props for preview mode"
 git commit -m "feat(energy): update discover page with empty energy props for preview mode"
 ```
 ```
 
 
@@ -1654,15 +1654,15 @@ git commit -m "feat(energy): update discover page with empty energy props for pr
 
 
 - [ ] **Step 1: 后端完整编译**
 - [ ] **Step 1: 后端完整编译**
 
 
-Run: `cd zxyj-backend && mvn clean compile -q`
+Run: `cd cfc-backend && mvn clean compile -q`
 Expected: BUILD SUCCESS
 Expected: BUILD SUCCESS
 
 
 - [ ] **Step 2: 检查LSP诊断**
 - [ ] **Step 2: 检查LSP诊断**
 
 
 Run: `lsp_diagnostics` on:
 Run: `lsp_diagnostics` on:
-- `zxyj-backend/src/main/java/com/zxyj/service/EnergyService.java`
-- `zxyj-backend/src/main/java/com/zxyj/controller/energy/EnergyController.java`
-- `zxyj-backend/src/main/java/com/zxyj/service/TaskService.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/service/EnergyService.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/controller/energy/EnergyController.java`
+- `cfc-backend/src/main/java/com/etotem/cfc/service/TaskService.java`
 
 
 Expected: 无新增error
 Expected: 无新增error
 
 

+ 3 - 3
docs/superpowers/specs/2026-05-13-users-admins-merge.md

@@ -164,14 +164,14 @@ public Result<Boolean> resetWebPassword(@RequestAttribute("userId") Long userId,
 
 
 | 文件 | 变更类型 | 说明 |
 | 文件 | 变更类型 | 说明 |
 |------|----------|------|
 |------|----------|------|
-| `zxyj-frontend/pages/teacher/teacher-profile.vue` | 修改 | 拆分密码设置为首次设置和修改密码两个入口 |
-| `zxyj-frontend/utils/api.js` | 修改 | 新增 set-web-password, reset-web-password API |
+| `cfc-frontend/pages/teacher/teacher-profile.vue` | 修改 | 拆分密码设置为首次设置和修改密码两个入口 |
+| `cfc-frontend/utils/api.js` | 修改 | 新增 set-web-password, reset-web-password API |
 
 
 ### Web端文件变更
 ### Web端文件变更
 
 
 | 文件 | 变更类型 | 说明 |
 | 文件 | 变更类型 | 说明 |
 |------|----------|------|
 |------|----------|------|
-| `zxyj-web/src/views/Login.vue` | 无需修改 | AdminAuthController 端点不变(logic变化内部处理) |
+| `cfc-web/src/views/Login.vue` | 无需修改 | AdminAuthController 端点不变(logic变化内部处理) |
 
 
 ## 6. 安全考虑
 ## 6. 安全考虑
 
 

+ 7 - 7
docs/superpowers/specs/2026-06-04-pre-login-discovery-design.md

@@ -246,13 +246,13 @@
 
 
 | 文件 | 改动类型 | 说明 |
 | 文件 | 改动类型 | 说明 |
 |------|----------|------|
 |------|----------|------|
-| `zxyj-frontend/App.vue` | 修改 | 登录态判断 + TabBar 切换逻辑 |
-| `zxyj-frontend/pages/discover/index.vue` | 重构 | 全新布局(沙盘+活动+商品) |
-| `zxyj-frontend/pages/shop/index.vue` | 修改 | 添加未登录态预览逻辑 |
-| `zxyj-frontend/pages/login/login.vue` | 微调 | 支持 redirect 参数 |
-| `zxyj-frontend/components/wuxing-sandbox.vue` | 新增 | 五行沙盘组件提取 |
-| `zxyj-frontend/components/bottom-nav.vue` | 新增 | 自定义底部导航组件 |
-| `zxyj-frontend/utils/api.js` | 新增 | 公开内容接口 |
+| `cfc-frontend/App.vue` | 修改 | 登录态判断 + TabBar 切换逻辑 |
+| `cfc-frontend/pages/discover/index.vue` | 重构 | 全新布局(沙盘+活动+商品) |
+| `cfc-frontend/pages/shop/index.vue` | 修改 | 添加未登录态预览逻辑 |
+| `cfc-frontend/pages/login/login.vue` | 微调 | 支持 redirect 参数 |
+| `cfc-frontend/components/wuxing-sandbox.vue` | 新增 | 五行沙盘组件提取 |
+| `cfc-frontend/components/bottom-nav.vue` | 新增 | 自定义底部导航组件 |
+| `cfc-frontend/utils/api.js` | 新增 | 公开内容接口 |
 | 全站前端文件 | 文本替换 | 溪艾福→汐艾福 |
 | 全站前端文件 | 文本替换 | 溪艾福→汐艾福 |
 
 
 ### 不改动的范围
 ### 不改动的范围

+ 2 - 2
docs/系统测试/package-lock.json

@@ -1,11 +1,11 @@
 {
 {
-  "name": "zxyj-automation-tests",
+  "name": "cfc-automation-tests",
   "version": "1.0.0",
   "version": "1.0.0",
   "lockfileVersion": 3,
   "lockfileVersion": 3,
   "requires": true,
   "requires": true,
   "packages": {
   "packages": {
     "": {
     "": {
-      "name": "zxyj-automation-tests",
+      "name": "cfc-automation-tests",
       "version": "1.0.0",
       "version": "1.0.0",
       "license": "MIT",
       "license": "MIT",
       "dependencies": {
       "dependencies": {

+ 1 - 1
docs/系统测试/package.json

@@ -1,5 +1,5 @@
 {
 {
-  "name": "zxyj-automation-tests",
+  "name": "cfc-automation-tests",
   "version": "1.0.0",
   "version": "1.0.0",
   "description": "心知益家小程序自动化测试套件",
   "description": "心知益家小程序自动化测试套件",
   "main": "run-tests.js",
   "main": "run-tests.js",

+ 1 - 1
docs/需求分析/需求分析文档.md

@@ -45,7 +45,7 @@
 | **测评订单(含支付)** | **✅ 已完成** | **P0链路贯通** |
 | **测评订单(含支付)** | **✅ 已完成** | **P0链路贯通** |
 | **测评预约管理** | **✅ 已完成** | **规划师/家长端** |
 | **测评预约管理** | **✅ 已完成** | **规划师/家长端** |
 | **Web管理端侧边栏** | **✅ 已完成** | **admin+teacher双菜单** |
 | **Web管理端侧边栏** | **✅ 已完成** | **admin+teacher双菜单** |
-| **多数据源+迁移** | **✅ 已完成** | **sfms→zxyj迁移** |
+| **多数据源+迁移** | **✅ 已完成** | **sfms→cfc迁移** |
 | 成长档案 | ✅ 已完成 | 创建/查看/详情 |
 | 成长档案 | ✅ 已完成 | 创建/查看/详情 |
 | **成长规划师端** | **🟡 已完成** | **Web端7页面+小程序端** |
 | **成长规划师端** | **🟡 已完成** | **Web端7页面+小程序端** |
 | **成长档案(增强)** | **🟡 已完成** | **测评关联/快照** |
 | **成长档案(增强)** | **🟡 已完成** | **测评关联/快照** |

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików