diff --git a/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java b/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java index 06400328..9a64d6c0 100644 --- a/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/task/impl/TaskTaskServiceImpl.java @@ -722,6 +722,12 @@ public class TaskTaskServiceImpl implements TaskService { // 写入mapping表,供轮询服务处理 try { + // 原位替换模式下可能已有旧映射,先删除再插入 + TaskRenderJobMappingEntity existingMapping = taskRenderJobMappingMapper.selectByTaskId(taskId); + if (existingMapping != null) { + taskRenderJobMappingMapper.deleteById(existingMapping.getId()); + log.info("[灰度测试] 已删除旧mapping, taskId: {}, oldRenderJobId: {}", taskId, existingMapping.getRenderJobId()); + } TaskRenderJobMappingEntity mapping = new TaskRenderJobMappingEntity(); mapping.setTaskId(taskId); mapping.setRenderJobId(response.getJobId());