Просмотр исходного кода

feat: add nutrition recommendation DTOs

Add HealthAnalysisResult, RecommendationQuery, RecommendationResult DTOs for the precision nutrition recommendation system.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Sisyphus 3 месяцев назад
Родитель
Сommit
392ce3ad4f

+ 29 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/HealthAnalysisResult.java

@@ -0,0 +1,29 @@
+package com.etotem.cfc.dto;
+
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 菌群报告分析结果
+ * 用于向 Dify AI 提供结构化的营养分析数据
+ */
+@Data
+public class HealthAnalysisResult {
+    private Long reportId;
+    private Integer nutritionScore;
+    private Integer gutHealthScore;
+    private String gutType;
+    private List<FloraSummary> floraSummary;
+    private List<String> findings;
+    private List<String> suggestions;
+    private List<String> nutritionTags;
+
+    @Data
+    public static class FloraSummary {
+        private String category;       // 有益菌/有害菌/中性菌
+        private int normalCount;       // 正常数量
+        private int abnormalCount;     // 异常数量
+        private List<String> keyAbnormal; // 关键异常菌种名称
+    }
+}

+ 14 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/RecommendationQuery.java

@@ -0,0 +1,14 @@
+package com.etotem.cfc.dto;
+
+import lombok.Data;
+import java.util.List;
+
+/**
+ * 推荐搜索请求参数
+ */
+@Data
+public class RecommendationQuery {
+    private List<String> nutritionTags;   // 营养需求标签
+    private List<String> types;           // ["product", "activity", "article"]
+    private Integer limit = 5;            // 每类最多返回数量
+}

+ 18 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/RecommendationResult.java

@@ -0,0 +1,18 @@
+package com.etotem.cfc.dto;
+
+import lombok.Data;
+
+/**
+ * 推荐搜索结果(统一结构)
+ */
+@Data
+public class RecommendationResult {
+    private String type;           // product / activity / article
+    private Long id;
+    private String name;
+    private String description;
+    private String coverImage;
+    private Integer price;         // 单位:分
+    private String url;            // 前端跳转路径
+    private String source;         // "platform" 或 null
+}