fix: 修复6项测试问题并补全配套资源

- 修复油脂类食物推荐量系数 (5.7→2.5) [ToolCalculatorServiceImpl]
- AI营养师接入真实Coze API,替换Mock回复 [ToolAiNutritionistServiceImpl]
- 食物百科详情新增钙/铁/维C/嘌呤/重量基准字段返回 [ToolFoodServiceImpl]
- V2Food模型新增purine、servingSize字段 [V2Food.java]
- 食物百科详情页动态重量标注+新增4项营养展示+替换Figma URL [food-detail.vue]
- 修复营养素列表dataset传参Bug(WeChat camelCase) [nutrition-knowledge.vue]
- 营养素详情页接入后端API+兜底本地数据+替换Figma URL [nutrient-detail.vue]
- 新增数据库迁移脚本及参考初始化数据 [docs/sql/]
- 新增前端占位图标5个 [static/images/]
- 新增开发任务完成报告 [docs/]

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Developer
2026-03-25 14:18:00 +08:00
parent a5de6fb46d
commit ba08abd374
16 changed files with 243 additions and 54 deletions

View File

@@ -0,0 +1,49 @@
-- ============================================================
-- 数据库迁移脚本
-- 版本: v1.0
-- 日期: 2026-03-25
-- 描述: 为 v2_food 表新增嘌呤含量和重量基准字段
-- ============================================================
-- 1. 新增 purine 字段(嘌呤含量,单位 mg
ALTER TABLE v2_food
ADD COLUMN purine DECIMAL(10, 2) DEFAULT NULL COMMENT '嘌呤含量(mg)';
-- 2. 新增 serving_size 字段(营养成分对应重量基准)
ALTER TABLE v2_food
ADD COLUMN serving_size VARCHAR(50) DEFAULT '每100g' COMMENT '营养成分对应的食物重量基准,如"每100g"、"每份(50g)"';
-- 验证
DESC v2_food;
-- ============================================================
-- 参考数据初始化示例(按需执行)
-- 数据来源: https://www.ishen365.com/article/cereal
-- ============================================================
-- 谷薯类
UPDATE v2_food SET calcium = 13, iron = 2.3, vitamin_c = 0, purine = 18.4, serving_size = '每100g' WHERE name = '大米' AND category_name LIKE '%谷%';
UPDATE v2_food SET calcium = 34, iron = 5.1, vitamin_c = 0, purine = 25.0, serving_size = '每100g' WHERE name = '小米' AND category_name LIKE '%谷%';
UPDATE v2_food SET calcium = 38, iron = 5.9, vitamin_c = 0, purine = 22.4, serving_size = '每100g' WHERE name = '玉米' AND category_name LIKE '%谷%';
UPDATE v2_food SET calcium = 31, iron = 3.5, vitamin_c = 0, purine = 17.1, serving_size = '每100g' WHERE name = '面粉' AND category_name LIKE '%谷%';
-- 蔬菜类
UPDATE v2_food SET calcium = 48, iron = 1.2, vitamin_c = 14, purine = 10.1, serving_size = '每100g' WHERE name = '菠菜' AND category_name LIKE '%蔬%';
UPDATE v2_food SET calcium = 36, iron = 0.5, vitamin_c = 4, purine = 5.5, serving_size = '每100g' WHERE name = '西红柿' AND category_name LIKE '%蔬%';
UPDATE v2_food SET calcium = 21, iron = 0.3, vitamin_c = 2, purine = 3.4, serving_size = '每100g' WHERE name = '土豆' AND category_name LIKE '%蔬%';
-- 水果类
UPDATE v2_food SET calcium = 4, iron = 0.6, vitamin_c = 8, purine = 0.9, serving_size = '每100g' WHERE name = '苹果' AND category_name LIKE '%水果%';
UPDATE v2_food SET calcium = 7, iron = 0.2, vitamin_c = 8, purine = 1.9, serving_size = '每100g' WHERE name = '香蕉' AND category_name LIKE '%水果%';
-- 肉蛋类
UPDATE v2_food SET calcium = 11, iron = 2.5, vitamin_c = 0, purine = 122.5, serving_size = '每100g' WHERE name = '猪肉' AND category_name LIKE '%肉%';
UPDATE v2_food SET calcium = 9, iron = 2.3, vitamin_c = 0, purine = 107.6, serving_size = '每100g' WHERE name = '牛肉' AND category_name LIKE '%肉%';
UPDATE v2_food SET calcium = 56, iron = 2.0, vitamin_c = 0, purine = 2.6, serving_size = '每100g' WHERE name = '鸡蛋' AND category_name LIKE '%蛋%';
-- 豆类
UPDATE v2_food SET calcium = 191, iron = 8.2, vitamin_c = 0, purine = 166.5, serving_size = '每100g' WHERE name = '黄豆' AND category_name LIKE '%豆%';
UPDATE v2_food SET calcium = 164, iron = 6.4, vitamin_c = 0, purine = 116.9, serving_size = '每100g' WHERE name = '豆腐' AND category_name LIKE '%豆%';
-- 将所有未设置 serving_size 的记录默认填充
UPDATE v2_food SET serving_size = '每100g' WHERE serving_size IS NULL OR serving_size = '';