Jelajahi Sumber

chore: auto bump version and changelog [skip ci]

iwt 2 minggu lalu
induk
melakukan
21606b4858

+ 21 - 6
cfc-backend/src/main/java/com/etotem/cfc/service/FoodRecommendService.java

@@ -45,14 +45,29 @@ public class FoodRecommendService {
             return;
         }
 
-        // 从 foods 表读取最新报告关联的食材推荐(正常确认流程写入 foods 表)
+        // 优先从 foods 表读取(正常确认流程写入 foods 表);
+        // 若 foods 表无数据(审核路径只写 report_food_suitability),回退到 report_food_suitability
         List<Food> reportFoods = foodService.listByReportId(report.getId());
-
         if (reportFoods.isEmpty()) {
-            foodRecommendIndexMapper.delete(new LambdaQueryWrapper<FoodRecommendIndex>()
-                    .eq(FoodRecommendIndex::getUserId, userId));
-            log.info("报告{}无食材推荐数据,已清除用户{}的推荐指数", report.getId(), userId);
-            return;
+            List<ReportFoodSuitability> fallback = reportFoodSuitabilityMapper.selectList(
+                    new LambdaQueryWrapper<ReportFoodSuitability>()
+                            .eq(ReportFoodSuitability::getReportId, report.getId()));
+            if (fallback.isEmpty()) {
+                foodRecommendIndexMapper.delete(new LambdaQueryWrapper<FoodRecommendIndex>()
+                        .eq(FoodRecommendIndex::getUserId, userId));
+                log.info("报告{}无食材推荐数据,已清除用户{}的推荐指数", report.getId(), userId);
+                return;
+            }
+            // 回退:将 report_food_suitability 映射为 Food 列表后继续处理
+            reportFoods = new ArrayList<>();
+            for (ReportFoodSuitability rfs : fallback) {
+                Food f = new Food();
+                f.setId(rfs.getFoodId() != null ? rfs.getFoodId() : 0L);
+                f.setName(rfs.getFoodName());
+                f.setCategory(rfs.getCategory());
+                f.setScore(rfs.getScore());
+                reportFoods.add(f);
+            }
         }
 
         List<FoodRecommendIndex> existingIndices = foodRecommendIndexMapper.selectList(

+ 1 - 1
cfc-web/.last_build_commit

@@ -1 +1 @@
-4570f9400ece6c2134394194e657ba09976d6ef7
+118172e8e5b73b17b311f282859affff145fa01c

+ 1 - 1
cfc-web/package.json

@@ -1,6 +1,6 @@
 {
   "name": "cfc-web",
-  "version": "1.0.1286",
+  "version": "1.0.1287",
   "private": true,
   "scripts": {
     "dev": "vue-cli-service serve",

+ 11 - 0
cfc-web/public/CHANGELOG-v1.0.md

@@ -4,6 +4,17 @@
 
 ---
 
+## v1.0.1287 (2026-09-03)
+
+### Bug 修复
+- 根治 family/member/list 与 tasks/history 重复调用——index-home loadFamilyFeed 改为只查第一个孩子、parent-index/child-index 合并 getChildren+loadFamilyMembersVisible 为单次 getFamilyMemberList
+
+### 其他
+- - child-index: loadData 中 getChildren() 改为 getFamilyMemberList({visibleOnly:true}) 一次调用,同步设置 familyMembersVisible,跳过后续 loadFamilyMembersVisible()
+- - parent-index: dashboard 成功路径同步设置 familyMembersVisible + _membersVisibleSet,降级路径合并 getFamilyMemberList+getChildren 为单次调用并派生 children
+- 
+
+
 ## v1.0.1286 (2026-09-02)
 
 ### Bug 修复

+ 12 - 1
cfc-web/public/CHANGELOG.md

@@ -1,6 +1,6 @@
 # 更新日志
 
-> 当前版本: v1.0.1286
+> 当前版本: v1.0.1287
 
 ## 历史版本
 
@@ -8,6 +8,17 @@
 
 ---
 
+## v1.0.1287 (2026-09-03)
+
+### Bug 修复
+- 根治 family/member/list 与 tasks/history 重复调用——index-home loadFamilyFeed 改为只查第一个孩子、parent-index/child-index 合并 getChildren+loadFamilyMembersVisible 为单次 getFamilyMemberList
+
+### 其他
+- - child-index: loadData 中 getChildren() 改为 getFamilyMemberList({visibleOnly:true}) 一次调用,同步设置 familyMembersVisible,跳过后续 loadFamilyMembersVisible()
+- - parent-index: dashboard 成功路径同步设置 familyMembersVisible + _membersVisibleSet,降级路径合并 getFamilyMemberList+getChildren 为单次调用并派生 children
+- 
+
+
 ## v1.0.1286 (2026-09-02)
 
 ### Bug 修复