Revert "[重大更新] 使用 spring feign 替代 HttpServiceClient (功能太新 支持不完全 使用成本太高)"

This reverts commit 485c2001
This commit is contained in:
疯狂的狮子Li
2026-03-24 18:01:00 +08:00
parent e44e5727a6
commit 2fdcf44dbb
62 changed files with 1161 additions and 817 deletions

View File

@@ -1,16 +1,14 @@
package org.dromara.workflow.api;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.workflow.api.domain.RemoteCompleteTask;
import org.dromara.workflow.api.domain.RemoteStartProcess;
import org.dromara.workflow.api.domain.RemoteStartProcessReturn;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.List;
import java.util.Map;
@@ -21,8 +19,8 @@ import java.util.Map;
* @Author ZETA
* @Date 2024/6/3
*/
@FeignClient(contextId = "remoteWorkflowService", name = "ruoyi-workflow", path = "/remote/workflow",
fallbackFactory = RemoteWorkflowServiceFallbackFactory.class, primary = false)
@RemoteHttpService(value = "ruoyi-workflow", fallback = RemoteWorkflowServiceFallback.class)
@HttpExchange("/remote/workflow")
public interface RemoteWorkflowService {
/**
@@ -31,7 +29,7 @@ public interface RemoteWorkflowService {
* @param businessIds 业务id
* @return 结果
*/
@PostMapping("/delete-instance")
@PostExchange("/delete-instance")
boolean deleteInstance(@RequestBody List<String> businessIds);
/**
@@ -40,7 +38,7 @@ public interface RemoteWorkflowService {
* @param taskId 任务id
* @return 状态
*/
@GetMapping("/business-status-by-task-id")
@GetExchange("/business-status-by-task-id")
String getBusinessStatusByTaskId(@RequestParam Long taskId);
/**
@@ -49,7 +47,7 @@ public interface RemoteWorkflowService {
* @param businessId 业务id
* @return 状态
*/
@GetMapping("/business-status")
@GetExchange("/business-status")
String getBusinessStatus(@RequestParam String businessId);
/**
@@ -58,7 +56,7 @@ public interface RemoteWorkflowService {
* @param instanceId 流程实例id
* @param variable 流程变量
*/
@PostMapping("/set-variable")
@PostExchange("/set-variable")
void setVariable(@RequestParam Long instanceId, @RequestBody Map<String, Object> variable);
/**
@@ -66,7 +64,7 @@ public interface RemoteWorkflowService {
*
* @param instanceId 流程实例id
*/
@GetMapping("/instance-variable")
@GetExchange("/instance-variable")
Map<String, Object> instanceVariable(@RequestParam Long instanceId);
/**
@@ -75,7 +73,7 @@ public interface RemoteWorkflowService {
* @param businessId 业务id
* @return 结果
*/
@GetMapping("/instance-id-by-business-id")
@GetExchange("/instance-id-by-business-id")
Long getInstanceIdByBusinessId(@RequestParam String businessId);
/**
@@ -84,7 +82,7 @@ public interface RemoteWorkflowService {
* @param startProcess 参数
* @return 结果
*/
@PostMapping("/start-workflow")
@PostExchange("/start-workflow")
RemoteStartProcessReturn startWorkFlow(@RequestBody RemoteStartProcess startProcess);
/**
@@ -93,7 +91,7 @@ public interface RemoteWorkflowService {
* @param completeTask 参数
* @return 结果
*/
@PostMapping("/complete-task")
@PostExchange("/complete-task")
boolean completeTask(@RequestBody RemoteCompleteTask completeTask);
@@ -104,7 +102,7 @@ public interface RemoteWorkflowService {
* @param message 办理意见
* @return 结果
*/
@PostMapping("/complete-task-simple")
@PostExchange("/complete-task-simple")
boolean completeTask(@RequestParam Long taskId, @RequestParam String message);
/**
@@ -113,8 +111,7 @@ public interface RemoteWorkflowService {
* @param startProcess 参数
* @return 结果
*/
@PostMapping("/start-complete-task")
@PostExchange("/start-complete-task")
boolean startCompleteTask(@RequestBody RemoteStartProcess startProcess);
}

View File

@@ -0,0 +1,78 @@
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 RemoteWorkflowServiceFallback implements RemoteWorkflowService {
@Override
public boolean deleteInstance(List<String> 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<String, Object> variable) {
log.warn("服务调用异常 -> 降级处理");
}
@Override
public Map<String, Object> instanceVariable(Long instanceId) {
log.warn("服务调用异常 -> 降级处理");
return null;
}
@Override
public Long getInstanceIdByBusinessId(String businessId) {
log.warn("服务调用异常 -> 降级处理");
return null;
}
@Override
public RemoteStartProcessReturn startWorkFlow(RemoteStartProcess startProcess) {
log.warn("服务调用异常 -> 降级处理");
return null;
}
@Override
public boolean completeTask(RemoteCompleteTask completeTask) {
log.warn("服务调用异常 -> 降级处理");
return false;
}
@Override
public boolean completeTask(Long taskId, String message) {
log.warn("服务调用异常 -> 降级处理");
return false;
}
@Override
public boolean startCompleteTask(RemoteStartProcess startProcess) {
log.warn("服务调用异常 -> 降级处理");
return false;
}
}

View File

@@ -1,83 +0,0 @@
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 org.springframework.cloud.openfeign.FallbackFactory;
import java.util.List;
import java.util.Map;
/**
* 工作流服务 fallback factory.
*
* @author Lion Li
*/
@Slf4j
public class RemoteWorkflowServiceFallbackFactory implements FallbackFactory<RemoteWorkflowService> {
@Override
public RemoteWorkflowService create(Throwable cause) {
return new RemoteWorkflowService() {
@Override
public boolean deleteInstance(List<String> businessIds) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return false;
}
@Override
public String getBusinessStatusByTaskId(Long taskId) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return null;
}
@Override
public String getBusinessStatus(String businessId) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return null;
}
@Override
public void setVariable(Long instanceId, Map<String, Object> variable) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
}
@Override
public Map<String, Object> instanceVariable(Long instanceId) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return null;
}
@Override
public Long getInstanceIdByBusinessId(String businessId) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return null;
}
@Override
public RemoteStartProcessReturn startWorkFlow(RemoteStartProcess startProcess) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return null;
}
@Override
public boolean completeTask(RemoteCompleteTask completeTask) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return false;
}
@Override
public boolean completeTask(Long taskId, String message) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return false;
}
@Override
public boolean startCompleteTask(RemoteStartProcess startProcess) {
log.warn("工作流服务调用失败, 已触发 fallback", cause);
return false;
}
};
}
}