perf: 删除草稿采用先查出来后用id删除的方式避免锁表
This commit is contained in:
+6
-1
@@ -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()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user