perf: 删除草稿采用先查出来后用id删除的方式避免锁表

This commit is contained in:
2024-06-05 10:51:56 +08:00
parent 4f3a66b21c
commit 0ed4d05306
@@ -1,5 +1,6 @@
package com.jero.modules.activiti.process.common.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -47,6 +48,7 @@ import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
@@ -422,7 +424,10 @@ public class ActFlowCommonService {
draftWrapper.eq(StrUtil.isNotBlank(taskId), ProcessDraft::getTaskId, taskId);
draftWrapper.ne(ProcessDraft::getSaveSource, DraftCommon.INITIAL_SOURCE);
draftWrapper.eq(StrUtil.isNotBlank(processInstanceId), ProcessDraft::getProcessInstanceId, processInstanceId);
processDraftService.remove(draftWrapper);
List<ProcessDraft> list = processDraftService.list(draftWrapper);
if (CollUtil.isNotEmpty(list)) {
processDraftService.removeByIds(list.stream().map(ProcessDraft::getId).collect(Collectors.toList()));
}
}
/**