feat(bpm): 支持批量创建抄送流程实例
- 引入 Collectors 类以支持流式处理 - 将单个抄送流程创建改为批量创建 -为每个用户 ID 生成独立的抄送记录 - 使用 insertBatch 方法提高插入效率 -保持原有字段设置逻辑不变 - 修复可能的空指针异常风险
This commit is contained in:
@@ -30,6 +30,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.jeelowcode.tool.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.jeelowcode.tool.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
|
|
||||||
@@ -124,13 +125,17 @@ public class BpmProcessInstanceCopyServiceImpl implements IBpmProcessInstanceCop
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2. 创建抄送流程
|
// 2. 创建抄送流程
|
||||||
BpmProcessInstanceCopyDO copy = new BpmProcessInstanceCopyDO()
|
List<BpmProcessInstanceCopyDO> copyList =
|
||||||
|
reqVO.getUserIds().stream().map(singleUserId ->
|
||||||
|
new BpmProcessInstanceCopyDO()
|
||||||
.setTaskId(reqVO.getTaskId()).setTaskName(task.getName())
|
.setTaskId(reqVO.getTaskId()).setTaskName(task.getName())
|
||||||
.setProcessInstanceId(processInstanceId).setStartUserId(Long.valueOf(processInstance.getStartUserId()))
|
.setProcessInstanceId(processInstanceId).setStartUserId(Long.valueOf(processInstance.getStartUserId()))
|
||||||
.setProcessInstanceName(processInstance.getName())
|
.setProcessInstanceName(processInstance.getName())
|
||||||
|
.setUserId(singleUserId)
|
||||||
.setCategory(null) // TODO 芋艿:貌似新版本,没 processInstance.getProcessDefinitionCategory() 字段?
|
.setCategory(null) // TODO 芋艿:貌似新版本,没 processInstance.getProcessDefinitionCategory() 字段?
|
||||||
.setReason(reqVO.getReason());
|
.setReason(reqVO.getReason())
|
||||||
processInstanceCopyMapper.insert(copy);
|
).collect(Collectors.toList());
|
||||||
|
processInstanceCopyMapper.insertBatch(copyList);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user