Ver código fonte

Merge branch 'master' of http://39.98.38.2:13000/dumingliang/sh-model-platform

Hua 3 meses atrás
pai
commit
b7245ae9b2

+ 33 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/controller/MdFlowDispatchController.java

@@ -0,0 +1,33 @@
+package com.ruoyi.interfaces.controller;
+
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.interfaces.domain.vo.MdFlowDispatchVo;
+import com.ruoyi.interfaces.service.IMdFlowDispatchService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+
+/**
+ * 计算调度控制层
+ */
+@RestController
+@RequestMapping("/flow/dispatch")
+public class MdFlowDispatchController extends BaseController {
+
+    @Autowired
+    IMdFlowDispatchService mdFlowDispatchService;
+
+
+    @PostMapping
+    public AjaxResult add(MdFlowDispatchVo flowDispatchVo){
+        mdFlowDispatchService.add(flowDispatchVo);
+
+        return success();
+    }
+
+
+
+}

+ 10 - 280
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/controller/web/SnailJobController.java

@@ -1,32 +1,16 @@
 package com.ruoyi.interfaces.controller.web;
 
-import com.aizuda.snailjob.client.job.core.enums.AllocationAlgorithmEnum;
-import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum;
-import com.aizuda.snailjob.client.job.core.handler.add.BroadcastAddHandler;
-import com.aizuda.snailjob.client.job.core.handler.add.ClusterAddHandler;
-import com.aizuda.snailjob.client.job.core.handler.query.RequestQueryHandler;
-import com.aizuda.snailjob.client.job.core.handler.update.BroadcastUpdateHandler;
-import com.aizuda.snailjob.client.job.core.handler.update.ClusterUpdateHandler;
 import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
-import com.aizuda.snailjob.common.core.enums.JobBlockStrategyEnum;
 import com.aizuda.snailjob.common.core.enums.StatusEnum;
-import com.aizuda.snailjob.model.request.base.JobRequest;
-import com.aizuda.snailjob.model.response.JobApiResponse;
-import com.aizuda.snailjob.model.response.JobBatchApiResponse;
-import com.aizuda.snailjob.model.response.WorkflowDetailApiResponse;
 import com.ruoyi.common.core.controller.BaseController;
 import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.core.page.TableDataInfo;
-import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.interfaces.api.SnailJobApi;
 import com.ruoyi.interfaces.domain.Job;
 import com.ruoyi.interfaces.domain.vo.JobRequestVo;
 import com.ruoyi.interfaces.service.SnailJobService;
-import com.ruoyi.interfaces.service.impl.SnailJobServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Set;
 
@@ -149,15 +133,15 @@ public class SnailJobController extends BaseController {
     public AjaxResult saveJob(@RequestBody JobRequestVo jobRequest) {
         switch (jobRequest.getTaskType()) {
             case 1:
-                return success(addClusterJob(jobRequest));
+                return success(snailJobService.addClusterJob(jobRequest));
             case 2:
-                return success(addBroadcastJob(jobRequest));
+                return success(snailJobService.addBroadcastJob(jobRequest));
             case 3:
-                return success(addShardingJob(jobRequest));
+                return success(snailJobService.addShardingJob(jobRequest));
             case 4:
-                return success(addMapJob(jobRequest));
+                return success(snailJobService.addMapJob(jobRequest));
             case 5:
-                return success(addMapReduceJob(jobRequest));
+                return success(snailJobService.addMapReduceJob(jobRequest));
         }
         return success(0L);
     }
@@ -173,271 +157,17 @@ public class SnailJobController extends BaseController {
     public AjaxResult updateJob(@RequestBody JobRequestVo jobRequest) {
         switch (jobRequest.getTaskType()) {
             case 1:
-                return success(updateClusterJob(jobRequest));
+                return success(snailJobService.updateClusterJob(jobRequest));
             case 2:
-                return success(updateBroadcastJob(jobRequest));
+                return success(snailJobService.updateBroadcastJob(jobRequest));
             case 3:
-                return success(updateShardingJob(jobRequest));
+                return success(snailJobService.updateShardingJob(jobRequest));
             case 4:
-                return success(updateMapJob(jobRequest));
+                return success(snailJobService.updateMapJob(jobRequest));
             case 5:
-                return success(updateMapReduceJob(jobRequest));
+                return success(snailJobService.updateMapReduceJob(jobRequest));
         }
         return success(false);
     }
 
-    /**
-     * 新增集群模式的任务
-     *
-     * @param jobRequest
-     * @return 任务id
-     */
-    public Long addClusterJob(JobRequestVo jobRequest) {
-        ClusterAddHandler clusterAddHandler = SnailJobOpenApi.addClusterJob()
-                //.setRouteKey(AllocationAlgorithmEnum.RANDOM)
-                .setRouteKey(getAllocationAlgorithmEnum(jobRequest.getRouteKey()))
-                .setJobName(jobRequest.getJobName())//
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
-                .setRetryInterval(jobRequest.getRetryInterval());
-
-        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
-        if (StringUtils.isNotEmpty(argsMap)) {
-            argsMap.forEach(clusterAddHandler::addArgsStr);
-        }
-        return clusterAddHandler.execute();
-    }
-
-    /**
-     * 修改集群模式的任务
-     */
-    public Boolean updateClusterJob(JobRequestVo jobRequest) {
-        ClusterUpdateHandler clusterUpdateHandler = SnailJobOpenApi.updateClusterJob(jobRequest.getId())
-                .setRouteKey(getAllocationAlgorithmEnum(jobRequest.getRouteKey()))
-                .setJobName(jobRequest.getJobName())//
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setRetryInterval(jobRequest.getRetryInterval());
-
-        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
-        if (StringUtils.isNotEmpty(argsMap)) {
-            argsMap.forEach(clusterUpdateHandler::addArgsStr);
-        }
-
-        return clusterUpdateHandler.execute();
-
-    }
-
-
-    /**
-     * 新增广播模式的任务
-     *
-     * @param jobRequest
-     * @return
-     */
-    public Long addBroadcastJob(JobRequestVo jobRequest) {
-        BroadcastAddHandler broadcastAddHandler = SnailJobOpenApi.addBroadcastJob()
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
-                .setRetryInterval(jobRequest.getRetryInterval());
-        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
-        if (StringUtils.isNotEmpty(argsMap)) {
-            argsMap.forEach(broadcastAddHandler::addArgsStr);
-        }
-        return broadcastAddHandler.execute();
-    }
-
-
-    /**
-     * 修改广播任务
-     */
-    public Boolean updateBroadcastJob(JobRequestVo jobRequest) {
-        BroadcastUpdateHandler broadcastUpdateHandler = SnailJobOpenApi.updateBroadcastJob(jobRequest.getId())
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setRetryInterval(jobRequest.getRetryInterval());
-        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
-        if (StringUtils.isNotEmpty(argsMap)) {
-            argsMap.forEach(broadcastUpdateHandler::addArgsStr);
-        }
-        return broadcastUpdateHandler.execute();
-    }
-
-    /**
-     * 新增Sharding模式的任务
-     *
-     * @param jobRequest 任务名称
-     * @return 任务id
-     */
-    public Long addShardingJob(JobRequestVo jobRequest) {
-        return SnailJobOpenApi.addShardingJob()
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .addShardingArgs(jobRequest.getShardingArgs())
-                .setParallelNum(jobRequest.getParallelNum())
-                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
-                .setRetryInterval(jobRequest.getRetryInterval())
-                .execute();
-    }
-
-    /**
-     * 修改Sharding模式的任务
-     *
-     * @param jobRequest 任务名称
-     * @return 任务id
-     */
-    public Boolean updateShardingJob(JobRequestVo jobRequest) {
-        return SnailJobOpenApi.updateShardingJob(jobRequest.getId())
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .addShardingArgs(jobRequest.getShardingArgs())
-                .setParallelNum(jobRequest.getParallelNum())
-                .setRetryInterval(jobRequest.getRetryInterval())
-                .execute();
-    }
-
-    /**
-     * 新增Map模式的任务
-     *
-     * @param jobRequest 任务名称
-     * @return 任务id
-     */
-    public Long addMapJob(JobRequestVo jobRequest) {
-        return SnailJobOpenApi.addMapJob()
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setParallelNum(jobRequest.getParallelNum())
-                .setRetryInterval(jobRequest.getRetryInterval())
-                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
-                .execute();
-    }
-
-    /**
-     * 修改Map模式的任务
-     *
-     * @param jobRequest
-     * @return
-     */
-    public Boolean updateMapJob(JobRequestVo jobRequest) {
-        return SnailJobOpenApi.updateMapJob(jobRequest.getId())
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setParallelNum(jobRequest.getParallelNum())
-                .setRetryInterval(jobRequest.getRetryInterval())
-                .execute();
-    }
-
-    /**
-     * 新增MapReduce模式的任务
-     *
-     * @param jobRequest
-     * @return 任务id
-     */
-    public Long addMapReduceJob(JobRequestVo jobRequest) {
-        return SnailJobOpenApi.addMapReduceJob()
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setParallelNum(jobRequest.getParallelNum())
-                .setShardNum(jobRequest.getShardNum())
-                .setRetryInterval(jobRequest.getRetryInterval())
-                .execute();
-    }
-
-    /**
-     * 修改MapReduce模式的任务
-     *
-     * @param jobRequest
-     * @return 任务id
-     */
-    public Boolean updateMapReduceJob(JobRequestVo jobRequest) {
-        return SnailJobOpenApi.updateMapReduceJob(jobRequest.getId())
-                .setJobName(jobRequest.getJobName())
-                .setExecutorInfo(jobRequest.getExecutorInfo())
-                .setExecutorTimeout(jobRequest.getExecutorTimeout())
-                .setDescription(jobRequest.getDescription())
-                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
-                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
-                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
-                .setTriggerInterval(jobRequest.getTriggerInterval())
-                .setParallelNum(jobRequest.getParallelNum())
-                .setShardNum(jobRequest.getShardNum())
-                .setRetryInterval(jobRequest.getRetryInterval())
-                .execute();
-
-    }
-
-
-    public AllocationAlgorithmEnum getAllocationAlgorithmEnum(Integer type) {
-        for (AllocationAlgorithmEnum algorithm : AllocationAlgorithmEnum.values()) {
-            if (type.equals(algorithm.getType())) {
-                return algorithm;
-            }
-        }
-        return null;
-    }
-
-    public TriggerTypeEnum getTriggerTypeEnum(Integer type) {
-        for (TriggerTypeEnum triggerTypeEnum : TriggerTypeEnum.values()) {
-            if (type.equals(triggerTypeEnum.getType())) {
-                return triggerTypeEnum;
-            }
-        }
-        return null;
-    }
-
-
 }

+ 55 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/domain/vo/MdFlowDispatchVo.java

@@ -0,0 +1,55 @@
+package com.ruoyi.interfaces.domain.vo;
+
+import com.aizuda.snailjob.model.request.base.JobRequest;
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.interfaces.domain.Job;
+
+import java.util.Map;
+
+public class MdFlowDispatchVo extends JobRequestVo {
+
+    /**
+     * 流程与job关联id
+     */
+    private String flowJobId;
+
+    /**
+     * 流程id
+     */
+    private Long flowId;
+
+    /**
+     * 流程开始参数
+     */
+    private Map<String,String> flowParam;
+
+
+
+    public MdFlowDispatchVo() {
+        super();
+    }
+
+    public Map<String, String> getFlowParam() {
+        return flowParam;
+    }
+
+    public void setFlowParam(Map<String, String> flowParam) {
+        this.flowParam = flowParam;
+    }
+
+    public String getFlowJobId() {
+        return flowJobId;
+    }
+
+    public void setFlowJobId(String flowJobId) {
+        this.flowJobId = flowJobId;
+    }
+
+    public Long getFlowId() {
+        return flowId;
+    }
+
+    public void setFlowId(Long flowId) {
+        this.flowId = flowId;
+    }
+}

+ 7 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/IMdFlowDispatchService.java

@@ -0,0 +1,7 @@
+package com.ruoyi.interfaces.service;
+
+import com.ruoyi.interfaces.domain.vo.MdFlowDispatchVo;
+
+public interface IMdFlowDispatchService {
+    int add(MdFlowDispatchVo flowDispatchVo);
+}

+ 64 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/SnailJobService.java

@@ -7,4 +7,68 @@ import java.util.List;
 
 public interface SnailJobService {
     List<Job> selectJobList(Job jobRequestVo);
+
+    public Long addClusterJob(JobRequestVo jobRequest);
+    public Boolean updateClusterJob(JobRequestVo jobRequest) ;
+    /**
+     * 新增广播模式的任务
+     *
+     * @param jobRequest
+     * @return
+     */
+    public Long addBroadcastJob(JobRequestVo jobRequest) ;
+
+    /**
+     * 修改广播任务
+     */
+    public Boolean updateBroadcastJob(JobRequestVo jobRequest) ;
+
+    /**
+     * 新增Sharding模式的任务
+     *
+     * @param jobRequest 任务名称
+     * @return 任务id
+     */
+    public Long addShardingJob(JobRequestVo jobRequest) ;
+
+    /**
+     * 修改Sharding模式的任务
+     *
+     * @param jobRequest 任务名称
+     * @return 任务id
+     */
+    public Boolean updateShardingJob(JobRequestVo jobRequest) ;
+
+    /**
+     * 新增Map模式的任务
+     *
+     * @param jobRequest 任务名称
+     * @return 任务id
+     */
+    public Long addMapJob(JobRequestVo jobRequest) ;
+
+
+    /**
+     * 修改Map模式的任务
+     *
+     * @param jobRequest
+     * @return
+     */
+    public Boolean updateMapJob(JobRequestVo jobRequest) ;
+
+    /**
+     * 新增MapReduce模式的任务
+     *
+     * @param jobRequest
+     * @return 任务id
+     */
+    public Long addMapReduceJob(JobRequestVo jobRequest) ;
+
+    /**
+     * 修改MapReduce模式的任务
+     *
+     * @param jobRequest
+     * @return 任务id
+     */
+    public Boolean updateMapReduceJob(JobRequestVo jobRequest);
 }

+ 0 - 2
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/MdAppFlowServiceImpl.java

@@ -116,10 +116,8 @@ public class MdAppFlowServiceImpl implements IMdAppFlowService {
         } else {
             session = null;
         }
-
         String flowGraph = appFlow.getFlowGraph();
         Tinyflow tinyflow = TinyflowUtil.getTinyflow(flowGraph);
-        //tinyflow.getChainParser().addNodeParser("printNode",new PrintNodeParser());
         Chain chain = tinyflow.toChain();
         chain.addEventListener(new ChainEventListener() {
             @Override

+ 19 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/MdFlowDispatchServiceImpl.java

@@ -0,0 +1,19 @@
+package com.ruoyi.interfaces.service.impl;
+
+import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
+import com.ruoyi.interfaces.domain.vo.MdFlowDispatchVo;
+import com.ruoyi.interfaces.service.IMdFlowDispatchService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class MdFlowDispatchServiceImpl implements IMdFlowDispatchService {
+
+
+
+    @Override
+    public int add(MdFlowDispatchVo flowDispatchVo) {
+        //SnailJobOpenApi.getJobDetail(jobId).execute();
+
+        return 0;
+    }
+}

+ 265 - 0
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/service/impl/SnailJobServiceImpl.java

@@ -1,5 +1,15 @@
 package com.ruoyi.interfaces.service.impl;
 
+import com.aizuda.snailjob.client.job.core.enums.AllocationAlgorithmEnum;
+import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum;
+import com.aizuda.snailjob.client.job.core.handler.add.BroadcastAddHandler;
+import com.aizuda.snailjob.client.job.core.handler.add.ClusterAddHandler;
+import com.aizuda.snailjob.client.job.core.handler.update.BroadcastUpdateHandler;
+import com.aizuda.snailjob.client.job.core.handler.update.ClusterUpdateHandler;
+import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
+import com.aizuda.snailjob.common.core.enums.JobBlockStrategyEnum;
+import com.aizuda.snailjob.common.core.enums.StatusEnum;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.interfaces.domain.Job;
 import com.ruoyi.interfaces.domain.vo.JobRequestVo;
 import com.ruoyi.interfaces.mapper.SnailJobMapper;
@@ -8,6 +18,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
 import java.util.List;
 
 @Service
@@ -25,4 +36,258 @@ public class SnailJobServiceImpl implements SnailJobService {
         jobRequestVo.setGroupName(groupName);
         return snailJobMapper.selectJobList(jobRequestVo);
     }
+
+    /**
+     * 新增集群模式的任务
+     *
+     * @param jobRequest
+     * @return 任务id
+     */
+    public Long addClusterJob(JobRequestVo jobRequest) {
+        ClusterAddHandler clusterAddHandler = SnailJobOpenApi.addClusterJob()
+                //.setRouteKey(AllocationAlgorithmEnum.RANDOM)
+                .setRouteKey(getAllocationAlgorithmEnum(jobRequest.getRouteKey()))
+                .setJobName(jobRequest.getJobName())//
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
+                .setRetryInterval(jobRequest.getRetryInterval());
+
+        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
+        if (StringUtils.isNotEmpty(argsMap)) {
+            argsMap.forEach(clusterAddHandler::addArgsStr);
+        }
+        return clusterAddHandler.execute();
+    }
+
+    /**
+     * 修改集群模式的任务
+     */
+    public Boolean updateClusterJob(JobRequestVo jobRequest) {
+        ClusterUpdateHandler clusterUpdateHandler = SnailJobOpenApi.updateClusterJob(jobRequest.getId())
+                .setRouteKey(getAllocationAlgorithmEnum(jobRequest.getRouteKey()))
+                .setJobName(jobRequest.getJobName())//
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setRetryInterval(jobRequest.getRetryInterval());
+
+        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
+        if (StringUtils.isNotEmpty(argsMap)) {
+            argsMap.forEach(clusterUpdateHandler::addArgsStr);
+        }
+
+        return clusterUpdateHandler.execute();
+
+    }
+
+
+    /**
+     * 新增广播模式的任务
+     *
+     * @param jobRequest
+     * @return
+     */
+    public Long addBroadcastJob(JobRequestVo jobRequest) {
+        BroadcastAddHandler broadcastAddHandler = SnailJobOpenApi.addBroadcastJob()
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
+                .setRetryInterval(jobRequest.getRetryInterval());
+        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
+        if (StringUtils.isNotEmpty(argsMap)) {
+            argsMap.forEach(broadcastAddHandler::addArgsStr);
+        }
+        return broadcastAddHandler.execute();
+    }
+
+
+    /**
+     * 修改广播任务
+     */
+    public Boolean updateBroadcastJob(JobRequestVo jobRequest) {
+        BroadcastUpdateHandler broadcastUpdateHandler = SnailJobOpenApi.updateBroadcastJob(jobRequest.getId())
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setRetryInterval(jobRequest.getRetryInterval());
+        HashMap<String, Object> argsMap = jobRequest.getArgsStrMap();
+        if (StringUtils.isNotEmpty(argsMap)) {
+            argsMap.forEach(broadcastUpdateHandler::addArgsStr);
+        }
+        return broadcastUpdateHandler.execute();
+    }
+
+    /**
+     * 新增Sharding模式的任务
+     *
+     * @param jobRequest 任务名称
+     * @return 任务id
+     */
+    public Long addShardingJob(JobRequestVo jobRequest) {
+        return SnailJobOpenApi.addShardingJob()
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .addShardingArgs(jobRequest.getShardingArgs())
+                .setParallelNum(jobRequest.getParallelNum())
+                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
+                .setRetryInterval(jobRequest.getRetryInterval())
+                .execute();
+    }
+
+    /**
+     * 修改Sharding模式的任务
+     *
+     * @param jobRequest 任务名称
+     * @return 任务id
+     */
+    public Boolean updateShardingJob(JobRequestVo jobRequest) {
+        return SnailJobOpenApi.updateShardingJob(jobRequest.getId())
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .addShardingArgs(jobRequest.getShardingArgs())
+                .setParallelNum(jobRequest.getParallelNum())
+                .setRetryInterval(jobRequest.getRetryInterval())
+                .execute();
+    }
+
+    /**
+     * 新增Map模式的任务
+     *
+     * @param jobRequest 任务名称
+     * @return 任务id
+     */
+    public Long addMapJob(JobRequestVo jobRequest) {
+        return SnailJobOpenApi.addMapJob()
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setParallelNum(jobRequest.getParallelNum())
+                .setRetryInterval(jobRequest.getRetryInterval())
+                .setJobStatus(StatusEnum.of(jobRequest.getJobStatus()))  //状态不能为空
+                .execute();
+    }
+
+    /**
+     * 修改Map模式的任务
+     *
+     * @param jobRequest
+     * @return
+     */
+    public Boolean updateMapJob(JobRequestVo jobRequest) {
+        return SnailJobOpenApi.updateMapJob(jobRequest.getId())
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setParallelNum(jobRequest.getParallelNum())
+                .setRetryInterval(jobRequest.getRetryInterval())
+                .execute();
+    }
+
+    /**
+     * 新增MapReduce模式的任务
+     *
+     * @param jobRequest
+     * @return 任务id
+     */
+    public Long addMapReduceJob(JobRequestVo jobRequest) {
+        return SnailJobOpenApi.addMapReduceJob()
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setParallelNum(jobRequest.getParallelNum())
+                .setShardNum(jobRequest.getShardNum())
+                .setRetryInterval(jobRequest.getRetryInterval())
+                .execute();
+    }
+
+    /**
+     * 修改MapReduce模式的任务
+     *
+     * @param jobRequest
+     * @return 任务id
+     */
+    public Boolean updateMapReduceJob(JobRequestVo jobRequest) {
+        return SnailJobOpenApi.updateMapReduceJob(jobRequest.getId())
+                .setJobName(jobRequest.getJobName())
+                .setExecutorInfo(jobRequest.getExecutorInfo())
+                .setExecutorTimeout(jobRequest.getExecutorTimeout())
+                .setDescription(jobRequest.getDescription())
+                .setBlockStrategy(JobBlockStrategyEnum.valueOf(jobRequest.getBlockStrategy()))
+                .setMaxRetryTimes(jobRequest.getMaxRetryTimes())
+                .setTriggerType(getTriggerTypeEnum(jobRequest.getTriggerType()))
+                .setTriggerInterval(jobRequest.getTriggerInterval())
+                .setParallelNum(jobRequest.getParallelNum())
+                .setShardNum(jobRequest.getShardNum())
+                .setRetryInterval(jobRequest.getRetryInterval())
+                .execute();
+
+    }
+
+
+    public AllocationAlgorithmEnum getAllocationAlgorithmEnum(Integer type) {
+        for (AllocationAlgorithmEnum algorithm : AllocationAlgorithmEnum.values()) {
+            if (type.equals(algorithm.getType())) {
+                return algorithm;
+            }
+        }
+        return null;
+    }
+
+    public TriggerTypeEnum getTriggerTypeEnum(Integer type) {
+        for (TriggerTypeEnum triggerTypeEnum : TriggerTypeEnum.values()) {
+            if (type.equals(triggerTypeEnum.getType())) {
+                return triggerTypeEnum;
+            }
+        }
+        return null;
+    }
+
 }

+ 0 - 1
ruoyi-api-patform/src/main/java/com/ruoyi/interfaces/snailJob/flowJob.java

@@ -28,7 +28,6 @@ public class flowJob {
         Chain chain = tinyflow.toChain();
         Map<String, Object> stringObjectMap = chain.executeForResult(flowPar.getParams());
         System.out.println(stringObjectMap);
-        //TinyflowUtil.getTinyflow()
         return ExecuteResult.success(stringObjectMap);
     }
 }