diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrCaseService.java b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrCaseService.java index a8d267ee..e9bbff45 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrCaseService.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrCaseService.java @@ -27,6 +27,7 @@ import java.util.Map; import java.util.Optional; import java.util.UUID; import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; @Service @RequiredArgsConstructor @@ -79,6 +80,9 @@ public class AihrCaseService { CaseState state = requireCase(request == null ? null : request.caseId(), projectScopes); List summary = state.summary() == null ? localSummary(state).summary() : state.summary(); String title = caseTitle(summary, state.fileName()); + String detailSummary = summary.stream() + .map(item -> item.label() + ":" + item.text()) + .collect(Collectors.joining("\n")); RecordResponse record = new RecordResponse( state.id(), title, @@ -86,7 +90,7 @@ public class AihrCaseService { "已入库", LocalDateTime.now().format(TIME_FORMAT), "培训组", - summary.stream().map(item -> item.label() + ":" + item.text()).findFirst().orElse(state.transcript()) + detailSummary.isBlank() ? state.transcript() : detailSummary ); saveCase(state, "已入库", record.title(), record.summary()); return new CurateResponse(List.of(state.id()), List.of(record), "已按真实转写内容生成培训案例,已进入案例库。"); diff --git a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrCaseServiceTest.java b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrCaseServiceTest.java index 72605075..785fc3e8 100644 --- a/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrCaseServiceTest.java +++ b/backend/ruoyi-modules/ruoyi-aihr/src/test/java/org/dromara/aihr/service/AihrCaseServiceTest.java @@ -56,6 +56,8 @@ class AihrCaseServiceTest { assertEquals(List.of("persisted-case"), response.selectedCaseIds()); assertEquals("已入库", response.records().get(0).status()); assertEquals("persisted-case", jdbcTemplate.lastCaseId); + assertTrue(response.records().get(0).summary().contains("背景:")); + assertTrue(response.records().get(0).summary().contains("亮点:")); } @Test