更新这个货源
This commit is contained in:
+21
@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.nanri.aiimage.common.exception.BusinessException;
|
||||
import com.nanri.aiimage.common.service.DistributedJobLockService;
|
||||
import com.nanri.aiimage.common.util.CozeGroupResultPropagator;
|
||||
import com.nanri.aiimage.common.util.FailedStatusRowFilter;
|
||||
import com.nanri.aiimage.config.AppearancePatentProperties;
|
||||
import com.nanri.aiimage.config.InstanceMetadata;
|
||||
@@ -533,6 +534,8 @@ public class AppearancePatentTaskService {
|
||||
taskScopeStateMapper.delete(new LambdaQueryWrapper<TaskScopeStateEntity>().eq(TaskScopeStateEntity::getTaskId, taskId).eq(TaskScopeStateEntity::getModuleType, MODULE_TYPE));
|
||||
taskChunkMapper.delete(new LambdaQueryWrapper<TaskChunkEntity>().eq(TaskChunkEntity::getTaskId, taskId).eq(TaskChunkEntity::getModuleType, MODULE_TYPE));
|
||||
taskCacheService.deleteTaskCache(taskId);
|
||||
// 同步清理 task_file_job,避免被删除任务遗留的 PENDING/FAILED 行被 TaskResultFileJobWorker 反复扫描出 task not found。
|
||||
taskFileJobService.deleteTaskJobs(taskId, MODULE_TYPE);
|
||||
fileTaskMapper.deleteById(taskId);
|
||||
}
|
||||
|
||||
@@ -541,6 +544,8 @@ public class AppearancePatentTaskService {
|
||||
if (row == null || !MODULE_TYPE.equals(row.getModuleType()) || !Objects.equals(userId, row.getUserId())) {
|
||||
throw new BusinessException("记录不存在");
|
||||
}
|
||||
// 同步清理 task_file_job,避免被删除历史记录残留的 ASSEMBLE_RESULT job 被反复扫描出 result record not found。
|
||||
taskFileJobService.deleteResultJobs(row.getTaskId(), MODULE_TYPE, resultId);
|
||||
fileResultMapper.deleteById(resultId);
|
||||
}
|
||||
|
||||
@@ -2916,6 +2921,22 @@ public class AppearancePatentTaskService {
|
||||
throw new BusinessException("外观专利检测结果为空,请稍后重试生成结果文件");
|
||||
}
|
||||
validateCompleteCozeCoverage(task.getId(), receivedRows, resultMap);
|
||||
// 公共分组处理:同 baseId 连续行视为一组(如 1、1_1、1_2),组内任一行结论命中
|
||||
// "已侵权"/"侵权"(包含匹配,"已侵权"优先),则组内所有行结论统一为该标准值。
|
||||
// 单行组跳过。仅修改 conclusion 列,不影响其他列。
|
||||
int conclusionPropagated = CozeGroupResultPropagator.propagateByGroup(
|
||||
receivedRows,
|
||||
AppearancePatentParsedRowVo::getDisplayId,
|
||||
row -> findResultRow(row, resultMap),
|
||||
AppearancePatentResultRowDto::getConclusion,
|
||||
AppearancePatentResultRowDto::setConclusion,
|
||||
List.of("已侵权", "侵权"),
|
||||
"[appearance-patent] taskId=" + task.getId()
|
||||
);
|
||||
if (conclusionPropagated > 0) {
|
||||
log.info("[appearance-patent] group propagate conclusion taskId={} updatedRows={}",
|
||||
task.getId(), conclusionPropagated);
|
||||
}
|
||||
File outputDir = new File(storageProperties.getLocalTempDir(), "appearance-patent-result");
|
||||
if (!outputDir.exists() && !outputDir.mkdirs()) {
|
||||
throw new BusinessException("创建结果目录失败");
|
||||
|
||||
Reference in New Issue
Block a user