Răsfoiți Sursa

feat(backend): getReportDetail/DAN detail 返回 blocks

Xiaogang Liao 1 lună în urmă
părinte
comite
922bb44f4c

+ 5 - 0
cfc-backend/src/main/java/com/etotem/cfc/dto/DanReportUploadVO.java

@@ -3,6 +3,8 @@ package com.etotem.cfc.dto;
 import com.etotem.cfc.entity.DanReportUpload;
 import lombok.Data;
 import java.util.Date;
+import java.util.List;
+import java.util.Map;
 
 @Data
 public class DanReportUploadVO {
@@ -29,6 +31,9 @@ public class DanReportUploadVO {
     private Date createdAt;
     private Date updatedAt;
 
+    /** 通用展示块(从 report_blocks 表读取) */
+    private List<Map<String, Object>> blocks;
+
     public static DanReportUploadVO fromEntity(DanReportUpload e) {
         if (e == null) return null;
         DanReportUploadVO v = new DanReportUploadVO();

+ 3 - 1
cfc-backend/src/main/java/com/etotem/cfc/service/DanReportUploadService.java

@@ -296,6 +296,8 @@ if (!DanReportUpload.DIM_MIND.equals(dimension) && !DanReportUpload.DIM_WISDOM.e
         if (upload == null || upload.getDeletedAt() != null) {
             return Result.error("记录不存在");
         }
-        return Result.success(DanReportUploadVO.fromEntity(upload));
+        DanReportUploadVO vo = DanReportUploadVO.fromEntity(upload);
+        vo.setBlocks(reportBlockService.getBlocks("dan", upload.getId()));
+        return Result.success(vo);
     }
 }

+ 3 - 0
cfc-backend/src/main/java/com/etotem/cfc/service/HealthReportService.java

@@ -342,6 +342,9 @@ public class HealthReportService {
 
             List<HealthDiseaseRisk> diseaseRisks = getDiseaseRisksByReportId(reportId);
             detail.put("diseaseRisks", diseaseRisks);
+
+            // 通用展示块(blocks 为空时前端回退旧字段)
+            detail.put("blocks", reportBlockService.getBlocks(report.getReportType(), reportId));
         }
 
         return detail;