新增内容,新增拉起软件层

This commit is contained in:
super
2026-06-08 09:19:15 +08:00
parent 8ab647c419
commit c85e5b278f
67 changed files with 1552 additions and 189 deletions
@@ -33,6 +33,7 @@ public class AppearancePatentCozeClient {
private static final String INFRINGEMENT = "侵权";
private static final String NO_INFRINGEMENT = "无侵权";
private static final String BRAND_QUERY_FAILED = "商标查询失败";
private static final String COZE_ASYNC_POLL_TIMEOUT_MESSAGE = "Coze 异步工作流轮询超时";
private final AppearancePatentProperties properties;
private final ObjectMapper objectMapper;
@@ -691,6 +692,18 @@ public class AppearancePatentCozeClient {
}
private AppearancePatentResultRowDto markFailed(AppearancePatentResultRowDto row, String failureMessage) {
if (isCozeAsyncPollTimeout(failureMessage)) {
row.setError(failureMessage);
if (row.getStatus() == null || row.getStatus().isBlank()) {
row.setStatus("FAILED");
row.setFailureSyntheticStatus(true);
}
row.setTitleRisk(null);
row.setAppearanceRisk(null);
row.setPatentRisk(null);
row.setConclusion(null);
return row;
}
String reviewMessage = failureMessage == null || failureMessage.isBlank()
? "Coze 检测失败"
: "Coze 检测失败:" + failureMessage;
@@ -718,6 +731,12 @@ public class AppearancePatentCozeClient {
return row;
}
private boolean isCozeAsyncPollTimeout(String failureMessage) {
String normalized = normalize(failureMessage).toLowerCase(Locale.ROOT);
return normalized.contains(COZE_ASYNC_POLL_TIMEOUT_MESSAGE.toLowerCase(Locale.ROOT))
|| normalized.contains("coze async workflow poll timeout");
}
private boolean shouldSplitBatch(List<AppearancePatentResultRowDto> rows, Exception ex) {
return rows != null && rows.size() > 1 && isRetryableBatchFailure(ex);
}
@@ -102,6 +102,7 @@ public class AppearancePatentTaskService {
private static final String STATUS_RUNNING = "RUNNING";
private static final String STATUS_SUCCESS = "SUCCESS";
private static final String STATUS_FAILED = "FAILED";
private static final String COZE_ASYNC_POLL_TIMEOUT_MESSAGE = "Coze 异步工作流轮询超时";
private static final String COZE_EMPTY_RESULT_MESSAGE = "Coze returned empty result rows";
private static final String COZE_STATUS_SUBMITTED = "SUBMITTED";
private static final String COZE_STATUS_RUNNING = "RUNNING";
@@ -4193,6 +4194,9 @@ public class AppearancePatentTaskService {
}
private String userFacingCozeCellValue(AppearancePatentResultRowDto row, String value) {
if (row != null && isCozeAsyncPollTimeout(row.getError())) {
return "";
}
String normalizedValue = normalize(value);
if (!normalizedValue.isBlank() && !isTechnicalCozeFailure(normalizedValue)) {
return value;
@@ -4211,6 +4215,9 @@ public class AppearancePatentTaskService {
if (row == null) {
return "";
}
if (isCozeAsyncPollTimeout(row.getError())) {
return "";
}
String conclusion = normalize(row.getConclusion());
if (!conclusion.isBlank() && !isTechnicalCozeFailure(conclusion)) {
return row.getConclusion();
@@ -4225,6 +4232,12 @@ public class AppearancePatentTaskService {
return firstNonBlank(row.getConclusion(), "");
}
private boolean isCozeAsyncPollTimeout(String value) {
String normalized = normalize(value).toLowerCase(Locale.ROOT);
return normalized.contains(COZE_ASYNC_POLL_TIMEOUT_MESSAGE.toLowerCase(Locale.ROOT))
|| normalized.contains("coze async workflow poll timeout");
}
private String userFacingStatus(AppearancePatentResultRowDto row) {
if (row == null) {
return "";