feat: bpm工作流增加多租户过滤

new
chenqp 1 year ago
parent 5521748c31
commit b1f157fa55

@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
import cn.iocoder.yudao.framework.common.util.object.PageUtils; import cn.iocoder.yudao.framework.common.util.object.PageUtils;
import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils; import cn.iocoder.yudao.framework.common.util.validation.ValidationUtils;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.model.*;
import cn.iocoder.yudao.module.bpm.convert.definition.BpmModelConvert; import cn.iocoder.yudao.module.bpm.convert.definition.BpmModelConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.definition.BpmFormDO;
@ -70,6 +71,7 @@ public class BpmModelServiceImpl implements BpmModelService {
if (StrUtil.isNotBlank(pageVO.getCategory())) { if (StrUtil.isNotBlank(pageVO.getCategory())) {
modelQuery.modelCategory(pageVO.getCategory()); modelQuery.modelCategory(pageVO.getCategory());
} }
modelQuery.modelTenantId(TenantContextHolder.getTenantId().toString());
// 执行查询 // 执行查询
List<Model> models = modelQuery.orderByCreateTime().desc() List<Model> models = modelQuery.orderByCreateTime().desc()
.listPage(PageUtils.getStart(pageVO), pageVO.getPageSize()); .listPage(PageUtils.getStart(pageVO), pageVO.getPageSize());
@ -107,6 +109,7 @@ public class BpmModelServiceImpl implements BpmModelService {
// 创建流程定义 // 创建流程定义
Model model = repositoryService.newModel(); Model model = repositoryService.newModel();
BpmModelConvert.INSTANCE.copy(model, createReqVO); BpmModelConvert.INSTANCE.copy(model, createReqVO);
model.setTenantId(TenantContextHolder.getTenantId().toString());
// 保存流程定义 // 保存流程定义
repositoryService.saveModel(model); repositoryService.saveModel(model);
// 保存 BPMN XML // 保存 BPMN XML
@ -115,7 +118,7 @@ public class BpmModelServiceImpl implements BpmModelService {
} }
private Model getModelByKey(String key) { private Model getModelByKey(String key) {
return repositoryService.createModelQuery().modelKey(key).singleResult(); return repositoryService.createModelQuery().modelKey(key).modelTenantId(TenantContextHolder.getTenantId().toString()).singleResult();
} }
@Override @Override

@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.PageUtils; import cn.iocoder.yudao.framework.common.util.object.PageUtils;
import cn.iocoder.yudao.framework.flowable.core.util.FlowableUtils; import cn.iocoder.yudao.framework.flowable.core.util.FlowableUtils;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionListReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionListReqVO;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageItemRespVO;
import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO; import cn.iocoder.yudao.module.bpm.controller.admin.definition.vo.process.BpmProcessDefinitionPageReqVO;
@ -122,7 +123,7 @@ public class BpmProcessDefinitionServiceImpl implements BpmProcessDefinitionServ
public String createProcessDefinition(@Valid BpmProcessDefinitionCreateReqDTO createReqDTO) { public String createProcessDefinition(@Valid BpmProcessDefinitionCreateReqDTO createReqDTO) {
// 创建 Deployment 部署 // 创建 Deployment 部署
Deployment deploy = repositoryService.createDeployment() Deployment deploy = repositoryService.createDeployment()
.key(createReqDTO.getKey()).name(createReqDTO.getName()).category(createReqDTO.getCategory()) .key(createReqDTO.getKey()).name(createReqDTO.getName()).category(createReqDTO.getCategory()).tenantId(TenantContextHolder.getTenantId().toString())
.addBytes(createReqDTO.getKey() + BPMN_FILE_SUFFIX, createReqDTO.getBpmnBytes()) .addBytes(createReqDTO.getKey() + BPMN_FILE_SUFFIX, createReqDTO.getBpmnBytes())
.deploy(); .deploy();

@ -8,6 +8,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.date.DateUtils; import cn.iocoder.yudao.framework.common.util.date.DateUtils;
import cn.iocoder.yudao.framework.common.util.number.NumberUtils; import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
import cn.iocoder.yudao.framework.common.util.object.PageUtils; import cn.iocoder.yudao.framework.common.util.object.PageUtils;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*; import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.*;
import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert; import cn.iocoder.yudao.module.bpm.convert.task.BpmTaskConvert;
import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO; import cn.iocoder.yudao.module.bpm.dal.dataobject.task.BpmTaskExtDO;
@ -72,7 +73,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
@Override @Override
public PageResult<BpmTaskTodoPageItemRespVO> getTodoTaskPage(Long userId, BpmTaskTodoPageReqVO pageVO) { public PageResult<BpmTaskTodoPageItemRespVO> getTodoTaskPage(Long userId, BpmTaskTodoPageReqVO pageVO) {
// 查询待办任务 // 查询待办任务
TaskQuery taskQuery = taskService.createTaskQuery().taskAssignee(String.valueOf(userId)) // 分配给自己 TaskQuery taskQuery = taskService.createTaskQuery().taskAssignee(String.valueOf(userId)).taskTenantId(TenantContextHolder.getTenantId().toString()) // 分配给自己
.orderByTaskCreateTime().desc(); // 创建时间倒序 .orderByTaskCreateTime().desc(); // 创建时间倒序
if (StrUtil.isNotBlank(pageVO.getName())) { if (StrUtil.isNotBlank(pageVO.getName())) {
taskQuery.taskNameLike("%" + pageVO.getName() + "%"); taskQuery.taskNameLike("%" + pageVO.getName() + "%");
@ -143,7 +144,7 @@ public class BpmTaskServiceImpl implements BpmTaskService {
if (CollUtil.isEmpty(processInstanceIds)) { if (CollUtil.isEmpty(processInstanceIds)) {
return Collections.emptyList(); return Collections.emptyList();
} }
return taskService.createTaskQuery().processInstanceIdIn(processInstanceIds).list(); return taskService.createTaskQuery().processInstanceIdIn(processInstanceIds).taskTenantId(TenantContextHolder.getTenantId().toString()).list();
} }
@Override @Override
@ -309,11 +310,11 @@ public class BpmTaskServiceImpl implements BpmTaskService {
} }
private Task getTask(String id) { private Task getTask(String id) {
return taskService.createTaskQuery().taskId(id).singleResult(); return taskService.createTaskQuery().taskId(id).taskTenantId(TenantContextHolder.getTenantId().toString()).singleResult();
} }
private HistoricTaskInstance getHistoricTask(String id) { private HistoricTaskInstance getHistoricTask(String id) {
return historyService.createHistoricTaskInstanceQuery().taskId(id).singleResult(); return historyService.createHistoricTaskInstanceQuery().taskId(id).taskTenantId(TenantContextHolder.getTenantId().toString()).singleResult();
} }
} }

Loading…
Cancel
Save