diff --git a/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java new file mode 100644 index 00000000..7eeb82c5 --- /dev/null +++ b/ruoyi-api/ruoyi-api-workflow/src/main/java/org/dromara/workflow/api/RemoteWorkflowServiceMock.java @@ -0,0 +1,70 @@ +package org.dromara.workflow.api; + +import lombok.extern.slf4j.Slf4j; +import org.dromara.workflow.api.domain.RemoteCompleteTask; +import org.dromara.workflow.api.domain.RemoteStartProcess; +import org.dromara.workflow.api.domain.RemoteStartProcessReturn; + +import java.util.List; +import java.util.Map; + +/** + * 工作流服务(降级处理) + * + * @author Lion Li + */ +@Slf4j +public class RemoteWorkflowServiceMock implements RemoteWorkflowService { + + @Override + public boolean deleteInstance(List businessIds) { + log.warn("服务调用异常 -> 降级处理"); + return false; + } + + @Override + public String getBusinessStatusByTaskId(Long taskId) { + log.warn("服务调用异常 -> 降级处理"); + return null; + } + + @Override + public String getBusinessStatus(String businessId) { + log.warn("服务调用异常 -> 降级处理"); + return null; + } + + @Override + public void setVariable(Long instanceId, Map variable) { + log.warn("服务调用异常 -> 降级处理"); + } + + @Override + public Map instanceVariable(Long instanceId) { + log.warn("服务调用异常 -> 降级处理"); + return null; + } + + @Override + public Long getInstanceIdByBusinessId(String businessId) { + log.warn("服务调用异常 -> 降级处理"); + return null; + } + + @Override + public void syncDef(String tenantId) { + log.warn("服务调用异常 -> 降级处理"); + } + + @Override + public RemoteStartProcessReturn startWorkFlow(RemoteStartProcess startProcess) { + log.warn("服务调用异常 -> 降级处理"); + return null; + } + + @Override + public boolean completeTask(RemoteCompleteTask completeTask) { + log.warn("服务调用异常 -> 降级处理"); + return false; + } +} diff --git a/ruoyi-modules/ruoyi-system/pom.xml b/ruoyi-modules/ruoyi-system/pom.xml index d8816011..7eb85bf3 100644 --- a/ruoyi-modules/ruoyi-system/pom.xml +++ b/ruoyi-modules/ruoyi-system/pom.xml @@ -104,6 +104,12 @@ ruoyi-api-resource + + + org.dromara + ruoyi-api-workflow + + diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java index 1f949470..67d708c5 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysTenantServiceImpl.java @@ -1,15 +1,16 @@ package org.dromara.system.service.impl; -import cn.hutool.crypto.digest.BCrypt; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; +import cn.hutool.crypto.digest.BCrypt; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; +import org.apache.dubbo.config.annotation.DubboReference; import org.dromara.common.core.constant.CacheNames; import org.dromara.common.core.constant.Constants; import org.dromara.common.core.constant.SystemConstants; @@ -29,6 +30,7 @@ import org.dromara.system.domain.bo.SysTenantBo; import org.dromara.system.domain.vo.SysTenantVo; import org.dromara.system.mapper.*; import org.dromara.system.service.ISysTenantService; +import org.dromara.workflow.api.RemoteWorkflowService; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; @@ -57,6 +59,9 @@ public class SysTenantServiceImpl implements ISysTenantService { private final SysDictDataMapper dictDataMapper; private final SysConfigMapper configMapper; + @DubboReference(mock = "true") + private RemoteWorkflowService remoteWorkflowService; + /** * 查询租户 */ @@ -206,6 +211,9 @@ public class SysTenantServiceImpl implements ISysTenantService { config.setUpdateTime(null); } configMapper.insertBatch(sysConfigList); + + // 新增租户流程定义 + remoteWorkflowService.syncDef(tenantId); return true; }