修复任务详情字段过滤契约

This commit is contained in:
andy
2026-07-13 08:50:06 +08:00
parent 890565d43f
commit b05001e481
7 changed files with 36 additions and 4 deletions

View File

@@ -2257,7 +2257,21 @@ public class ReservationTaskWorkflowServiceImpl implements ReservationTaskWorkfl
ReservationTaskSnapshot task,
ReservationTaskCardSnapshot taskCard) {
JsonNode aiPayload = parseJson(taskCard.aiPayloadJson());
return fieldDefinitionProvider.listDefinitions(task.taskCardType(), task.resultType())
List<ReservationTaskCardFieldDefinition> allDefinitions =
fieldDefinitionProvider.listDefinitions(task.taskCardType(), task.resultType());
Map<String, Object> confirmedValues = normalizeStoredFieldValues(
task,
allDefinitions,
fieldValuesFromPayloadJson(taskCard.confirmedPayloadJson()));
Map<String, Object> draftValues = normalizeStoredFieldValues(
task,
allDefinitions,
fieldValuesFromPayloadJson(taskCard.draftPayloadJson()));
Map<String, Object> effectiveValues = applySystemDerivedFieldDefaults(
task,
aiPayload,
trimToNull(taskCard.confirmedPayloadJson()) == null ? draftValues : confirmedValues);
return activeDefinitions(task, aiPayload, effectiveValues)
.stream()
.map(definition -> toFieldResult(task, definition, aiPayload))
.toList();