fix(case): preserve full structured summary
This commit is contained in:
+5
-1
@@ -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<SummaryResponse> 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), "已按真实转写内容生成培训案例,已进入案例库。");
|
||||
|
||||
+2
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user