feat: update task routing and coze handling

This commit is contained in:
super
2026-06-03 17:14:50 +08:00
parent ea37d82d73
commit e98a1a1207
37 changed files with 1883 additions and 254 deletions
@@ -0,0 +1,80 @@
package com.nanri.aiimage.common.util;
import org.junit.jupiter.api.Test;
import java.util.List;
import static org.junit.jupiter.api.Assertions.assertEquals;
class CozeGroupResultPropagatorTest {
@Test
void doesNotTreatNoInfringementAsInfringementHit() {
List<ParsedRow> parsedRows = List.of(
new ParsedRow("20_1"),
new ParsedRow("20_2")
);
List<ResultRow> resultRows = List.of(
new ResultRow("无侵权"),
new ResultRow("无侵权")
);
int updatedRows = CozeGroupResultPropagator.propagateByGroup(
parsedRows,
ParsedRow::displayId,
row -> resultRows.get(parsedRows.indexOf(row)),
ResultRow::conclusion,
ResultRow::setConclusion,
List.of("已侵权", "侵权")
);
assertEquals(0, updatedRows);
assertEquals("无侵权", resultRows.get(0).conclusion());
assertEquals("无侵权", resultRows.get(1).conclusion());
}
@Test
void propagatesWhenGroupHasRealInfringementHit() {
List<ParsedRow> parsedRows = List.of(
new ParsedRow("20_1"),
new ParsedRow("20_2")
);
List<ResultRow> resultRows = List.of(
new ResultRow("无侵权"),
new ResultRow("侵权")
);
int updatedRows = CozeGroupResultPropagator.propagateByGroup(
parsedRows,
ParsedRow::displayId,
row -> resultRows.get(parsedRows.indexOf(row)),
ResultRow::conclusion,
ResultRow::setConclusion,
List.of("已侵权", "侵权")
);
assertEquals(1, updatedRows);
assertEquals("侵权", resultRows.get(0).conclusion());
assertEquals("侵权", resultRows.get(1).conclusion());
}
private record ParsedRow(String displayId) {
}
private static final class ResultRow {
private String conclusion;
private ResultRow(String conclusion) {
this.conclusion = conclusion;
}
private String conclusion() {
return conclusion;
}
private void setConclusion(String conclusion) {
this.conclusion = conclusion;
}
}
}