update 优化 !pr636 改为注解方式关闭
This commit is contained in:
parent
6f0dd8dc89
commit
6f14c91d30
@ -276,7 +276,7 @@ websocket:
|
||||
--- # warm-flow工作流配置
|
||||
warm-flow:
|
||||
# 是否开启工作流,默认true
|
||||
enabled: true
|
||||
enabled: false
|
||||
# 是否开启设计器ui
|
||||
ui: true
|
||||
# 默认Authorization,如果有多个token,用逗号分隔
|
||||
|
@ -57,7 +57,6 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
private final SysDictTypeMapper dictTypeMapper;
|
||||
private final SysDictDataMapper dictDataMapper;
|
||||
private final SysConfigMapper configMapper;
|
||||
private final WorkflowService workflowService;
|
||||
|
||||
/**
|
||||
* 查询租户
|
||||
@ -195,8 +194,13 @@ public class SysTenantServiceImpl implements ISysTenantService {
|
||||
config.setTenantId(tenantId);
|
||||
}
|
||||
configMapper.insertBatch(sysConfigList);
|
||||
//新增租户流程定义
|
||||
workflowService.syncDef(tenantId);
|
||||
|
||||
// 未开启工作流不执行下方操作
|
||||
if (SpringUtils.getProperty("workflow.enabled", Boolean.class, false)) {
|
||||
WorkflowService workflowService = SpringUtils.getBean(WorkflowService.class);
|
||||
// 新增租户流程定义
|
||||
workflowService.syncDef(tenantId);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,14 @@
|
||||
package org.dromara.workflow.common;
|
||||
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ ElementType.TYPE, ElementType.METHOD })
|
||||
@ConditionalOnProperty(value = "workflow.enabled", havingValue = "true")
|
||||
public @interface ConditionalOnEnable {
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
package org.dromara.workflow.config;
|
||||
|
||||
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
/**
|
||||
@ -8,6 +9,7 @@ import org.springframework.context.annotation.Configuration;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Configuration
|
||||
public class WarmFlowConfig {
|
||||
|
||||
|
@ -13,6 +13,7 @@ import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.FlowCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||
import org.dromara.workflow.service.IFlwCategoryService;
|
||||
@ -26,6 +27,7 @@ import java.util.List;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
|
@ -12,9 +12,9 @@ import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.warm.flow.core.entity.Definition;
|
||||
import org.dromara.warm.flow.core.service.DefService;
|
||||
import org.dromara.warm.flow.orm.entity.FlowDefinition;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.vo.FlowDefinitionVo;
|
||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -28,15 +28,14 @@ import java.util.List;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/workflow/definition")
|
||||
public class FlwDefinitionController extends BaseController {
|
||||
|
||||
@Autowired(required = false)
|
||||
private DefService defService;
|
||||
|
||||
private final DefService defService;
|
||||
private final IFlwDefinitionService flwDefinitionService;
|
||||
|
||||
/**
|
||||
|
@ -9,12 +9,12 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.warm.flow.core.service.InsService;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.FlowCancelBo;
|
||||
import org.dromara.workflow.domain.bo.FlowInstanceBo;
|
||||
import org.dromara.workflow.domain.bo.FlowInvalidBo;
|
||||
import org.dromara.workflow.domain.vo.FlowInstanceVo;
|
||||
import org.dromara.workflow.service.IFlwInstanceService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -26,15 +26,14 @@ import java.util.Map;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/workflow/instance")
|
||||
public class FlwInstanceController extends BaseController {
|
||||
|
||||
@Autowired(required = false)
|
||||
private InsService insService;
|
||||
|
||||
private final InsService insService;
|
||||
private final IFlwInstanceService flwInstanceService;
|
||||
|
||||
/**
|
||||
|
@ -11,6 +11,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.warm.flow.core.entity.Node;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.*;
|
||||
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||
@ -26,6 +27,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
|
@ -15,6 +15,7 @@ import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
||||
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
||||
import org.dromara.workflow.service.ITestLeaveService;
|
||||
@ -29,6 +30,7 @@ import java.util.List;
|
||||
* @author may
|
||||
* @date 2023-07-21
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
|
@ -6,6 +6,7 @@ import org.dromara.common.core.domain.event.ProcessEvent;
|
||||
import org.dromara.common.core.domain.event.ProcessTaskEvent;
|
||||
import org.dromara.common.core.utils.SpringUtils;
|
||||
import org.dromara.common.tenant.helper.TenantHelper;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
@ -14,6 +15,7 @@ import org.springframework.stereotype.Component;
|
||||
* @author may
|
||||
* @date 2024-06-02
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Slf4j
|
||||
@Component
|
||||
public class FlowProcessEventHandler {
|
||||
|
@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.warm.flow.core.dto.FlowParams;
|
||||
@ -22,6 +23,7 @@ import java.util.stream.Stream;
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@RequiredArgsConstructor
|
||||
@Component
|
||||
@Slf4j
|
||||
|
@ -11,6 +11,7 @@ import org.dromara.warm.flow.core.entity.Task;
|
||||
import org.dromara.warm.flow.core.listener.GlobalListener;
|
||||
import org.dromara.warm.flow.core.listener.ListenerVariable;
|
||||
import org.dromara.warm.flow.orm.entity.FlowTask;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.handler.FlowProcessEventHandler;
|
||||
import org.dromara.workflow.service.IFlwInstanceService;
|
||||
import org.dromara.workflow.service.IFlwTaskService;
|
||||
@ -23,6 +24,7 @@ import java.util.List;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Component
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
|
@ -4,6 +4,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.translation.annotation.TranslationType;
|
||||
import org.dromara.common.translation.core.TranslationInterface;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.constant.FlowConstant;
|
||||
import org.dromara.workflow.service.IFlwCategoryService;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -13,6 +14,7 @@ import org.springframework.stereotype.Service;
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
|
@ -13,13 +13,13 @@ import org.dromara.common.mybatis.helper.DataBaseHelper;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.warm.flow.core.service.DefService;
|
||||
import org.dromara.warm.flow.orm.entity.FlowDefinition;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.constant.FlowConstant;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
import org.dromara.workflow.domain.bo.FlowCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||
import org.dromara.workflow.mapper.FlwCategoryMapper;
|
||||
import org.dromara.workflow.service.IFlwCategoryService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.cache.annotation.Cacheable;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -32,13 +32,12 @@ import java.util.List;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class FlwCategoryServiceImpl implements IFlwCategoryService {
|
||||
|
||||
@Autowired(required = false)
|
||||
private DefService defService;
|
||||
|
||||
private final DefService defService;
|
||||
private final FlwCategoryMapper baseMapper;
|
||||
|
||||
/**
|
||||
|
@ -30,13 +30,13 @@ import org.dromara.warm.flow.orm.mapper.FlowDefinitionMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowNodeMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowSkipMapper;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.constant.FlowConstant;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
import org.dromara.workflow.domain.vo.FlowDefinitionVo;
|
||||
import org.dromara.workflow.mapper.FlwCategoryMapper;
|
||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||
import org.dromara.workflow.utils.WorkflowUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -53,22 +53,17 @@ import static org.dromara.common.core.constant.TenantConstants.DEFAULT_TENANT_ID
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
|
||||
@Autowired(required = false)
|
||||
private DefService defService;
|
||||
@Autowired(required = false)
|
||||
private FlowDefinitionMapper flowDefinitionMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowHisTaskMapper flowHisTaskMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowNodeMapper flowNodeMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowSkipMapper flowSkipMapper;
|
||||
|
||||
private final DefService defService;
|
||||
private final FlowDefinitionMapper flowDefinitionMapper;
|
||||
private final FlowHisTaskMapper flowHisTaskMapper;
|
||||
private final FlowNodeMapper flowNodeMapper;
|
||||
private final FlowSkipMapper flowSkipMapper;
|
||||
private final FlwCategoryMapper flwCategoryMapper;
|
||||
|
||||
/**
|
||||
|
@ -34,6 +34,7 @@ import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||
import org.dromara.warm.flow.orm.entity.FlowTask;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
||||
import org.dromara.workflow.domain.bo.FlowCancelBo;
|
||||
import org.dromara.workflow.domain.bo.FlowInstanceBo;
|
||||
@ -47,7 +48,6 @@ import org.dromara.workflow.mapper.FlwInstanceMapper;
|
||||
import org.dromara.workflow.service.IFlwInstanceService;
|
||||
import org.dromara.workflow.service.IFlwTaskService;
|
||||
import org.dromara.workflow.utils.WorkflowUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -60,26 +60,19 @@ import java.util.stream.Collectors;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
|
||||
@Autowired(required = false)
|
||||
private InsService insService;
|
||||
@Autowired(required = false)
|
||||
private DefService defService;
|
||||
@Autowired(required = false)
|
||||
private TaskService taskService;
|
||||
@Autowired(required = false)
|
||||
private FlowHisTaskMapper flowHisTaskMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowInstanceMapper flowInstanceMapper;
|
||||
|
||||
private final InsService insService;
|
||||
private final DefService defService;
|
||||
private final TaskService taskService;
|
||||
private final FlowHisTaskMapper flowHisTaskMapper;
|
||||
private final FlowInstanceMapper flowInstanceMapper;
|
||||
private final FlowProcessEventHandler flowProcessEventHandler;
|
||||
|
||||
private final IFlwTaskService flwTaskService;
|
||||
|
||||
private final FlwInstanceMapper flwInstanceMapper;
|
||||
private final FlwCategoryMapper flwCategoryMapper;
|
||||
|
||||
|
@ -20,6 +20,7 @@ import org.dromara.warm.flow.ui.dto.HandlerQuery;
|
||||
import org.dromara.warm.flow.ui.dto.TreeFunDto;
|
||||
import org.dromara.warm.flow.ui.service.HandlerSelectService;
|
||||
import org.dromara.warm.flow.ui.vo.HandlerSelectVo;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
||||
import org.dromara.workflow.service.IFlwTaskAssigneeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -33,6 +34,7 @@ import java.util.Optional;
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
|
@ -32,8 +32,8 @@ import org.dromara.warm.flow.core.service.*;
|
||||
import org.dromara.warm.flow.orm.entity.*;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowHisTaskMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowInstanceMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowNodeMapper;
|
||||
import org.dromara.warm.flow.orm.mapper.FlowTaskMapper;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.enums.TaskAssigneeType;
|
||||
import org.dromara.workflow.common.enums.TaskStatusEnum;
|
||||
import org.dromara.workflow.domain.bo.*;
|
||||
@ -45,7 +45,6 @@ import org.dromara.workflow.mapper.FlwCategoryMapper;
|
||||
import org.dromara.workflow.mapper.FlwTaskMapper;
|
||||
import org.dromara.workflow.service.IFlwTaskService;
|
||||
import org.dromara.workflow.utils.WorkflowUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -60,36 +59,23 @@ import static org.dromara.workflow.common.constant.FlowConstant.*;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
|
||||
@Autowired(required = false)
|
||||
private TaskService taskService;
|
||||
@Autowired(required = false)
|
||||
private InsService insService;
|
||||
@Autowired(required = false)
|
||||
private DefService defService;
|
||||
@Autowired(required = false)
|
||||
private HisTaskService hisTaskService;
|
||||
@Autowired(required = false)
|
||||
private NodeService nodeService;
|
||||
|
||||
@Autowired(required = false)
|
||||
private FlowInstanceMapper flowInstanceMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowTaskMapper flowTaskMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowHisTaskMapper flowHisTaskMapper;
|
||||
@Autowired(required = false)
|
||||
private FlowNodeMapper flowNodeMapper;
|
||||
|
||||
private final TaskService taskService;
|
||||
private final InsService insService;
|
||||
private final DefService defService;
|
||||
private final HisTaskService hisTaskService;
|
||||
private final NodeService nodeService;
|
||||
private final FlowInstanceMapper flowInstanceMapper;
|
||||
private final FlowTaskMapper flowTaskMapper;
|
||||
private final FlowHisTaskMapper flowHisTaskMapper;
|
||||
private final IdentifierGenerator identifierGenerator;
|
||||
private final FlowProcessEventHandler flowProcessEventHandler;
|
||||
|
||||
private final UserService userService;
|
||||
|
||||
private final FlwTaskMapper flwTaskMapper;
|
||||
private final FlwCategoryMapper flwCategoryMapper;
|
||||
|
||||
|
@ -17,6 +17,7 @@ import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.TestLeave;
|
||||
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
||||
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
||||
@ -34,6 +35,7 @@ import java.util.List;
|
||||
* @author may
|
||||
* @date 2023-07-21
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
@Slf4j
|
||||
|
@ -8,6 +8,7 @@ import org.dromara.common.core.domain.dto.StartProcessDTO;
|
||||
import org.dromara.common.core.service.WorkflowService;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.CompleteTaskBo;
|
||||
import org.dromara.workflow.domain.bo.StartProcessBo;
|
||||
import org.dromara.workflow.service.IFlwDefinitionService;
|
||||
@ -23,6 +24,7 @@ import java.util.Map;
|
||||
*
|
||||
* @author may
|
||||
*/
|
||||
@ConditionalOnEnable
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WorkflowServiceImpl implements WorkflowService {
|
||||
|
Loading…
x
Reference in New Issue
Block a user