|
|
@@ -533,6 +533,8 @@ public class HealthReportService {
|
|
|
detail.put("indicators", indicators);
|
|
|
|
|
|
List<HealthGutFlora> gutFlora = getGutFloraByReportId(reportId);
|
|
|
+ // 读回归一化:兼容历史数据(归一化前入库的 category='菌X构成' + level='门/纲/...')
|
|
|
+ normalizeGutFloraRead(gutFlora);
|
|
|
detail.put("gutFlora", gutFlora);
|
|
|
|
|
|
List<HealthDiseaseRisk> diseaseRisks = getDiseaseRisksByReportId(reportId);
|
|
|
@@ -1458,6 +1460,19 @@ public class HealthReportService {
|
|
|
return normalized;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 读回归一化:兼容历史数据(归一化前入库的 category='菌X构成' + level='门/纲/...')。
|
|
|
+ * 仅转换,不落库(避免读操作触发写)。
|
|
|
+ */
|
|
|
+ private void normalizeGutFloraRead(List<HealthGutFlora> gutFlora) {
|
|
|
+ if (gutFlora == null) return;
|
|
|
+ for (HealthGutFlora gf : gutFlora) {
|
|
|
+ String rawCategory = gf.getCategory();
|
|
|
+ gf.setCategory(normalizeFloraCategory(rawCategory));
|
|
|
+ gf.setLevel(normalizeFloraLevel(rawCategory, gf.getLevel()));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
List<HealthDiseaseRisk> buildDiseaseRisksFromPayload(ParsedReportPayload.Payload payload) {
|
|
|
List<ParsedReportPayload.DiseaseRisk> list = payload.getDiseaseRisks();
|
|
|
if (list == null || list.isEmpty()) return new ArrayList<>();
|
|
|
@@ -1611,10 +1626,11 @@ public class HealthReportService {
|
|
|
? item.get("bacteriaValue").toString() : null);
|
|
|
flora.setNormalRange((String) item.get("normalRange"));
|
|
|
flora.setStatus((String) item.get("status"));
|
|
|
- flora.setCategory((String) item.get("category"));
|
|
|
+ flora.setCategory(normalizeFloraCategory((String) item.get("category")));
|
|
|
flora.setPopulationLevel((String) item.get("populationLevel"));
|
|
|
flora.setDetectionRate((String) item.get("detectionRate"));
|
|
|
- flora.setLevel((String) item.get("level"));
|
|
|
+ flora.setLevel(normalizeFloraLevel((String) item.get("category"),
|
|
|
+ (String) item.get("level")));
|
|
|
flora.setSortOrder(i);
|
|
|
healthGutFloraMapper.insert(flora);
|
|
|
}
|