测试openapi
This commit is contained in:
parent
caca8a90a6
commit
64ac13a1fd
6
pom.xml
6
pom.xml
@ -44,17 +44,17 @@
|
||||
<dependency>
|
||||
<groupId>com.aizuda</groupId>
|
||||
<artifactId>snail-job-client-starter</artifactId>
|
||||
<version>1.1.1</version>
|
||||
<version>1.2.0-beta2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aizuda</groupId>
|
||||
<artifactId>snail-job-client-retry-core</artifactId>
|
||||
<version>1.1.1</version>
|
||||
<version>1.2.0-beta2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.aizuda</groupId>
|
||||
<artifactId>snail-job-client-job-core</artifactId>
|
||||
<version>1.1.1</version>
|
||||
<version>1.2.0-beta2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.googlecode.aviator</groupId>
|
||||
|
@ -0,0 +1,24 @@
|
||||
package com.example.snailjob.controller;
|
||||
|
||||
import com.example.snailjob.handler.TestAddJobHandler;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author opensnail
|
||||
* @date 2024-10-19 10:41:25
|
||||
* @since sj_1.2.0-beta2
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/open-api/job")
|
||||
@Tag(name = "JobOpenApi", description = "通过OpenApi可以灵活的实现对Job的增、改、查功能")
|
||||
@RequiredArgsConstructor
|
||||
public class JobController {
|
||||
private final TestAddJobHandler testAddJobHandler;
|
||||
|
||||
@PostMapping("/custer/add")
|
||||
public Long addClusterJob(@RequestBody String jobName) {
|
||||
return testAddJobHandler.addClusterJob(jobName);
|
||||
}
|
||||
}
|
@ -0,0 +1,57 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
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.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.common.core.enums.BlockStrategyEnum;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Component
|
||||
public class TestAddJobHandler {
|
||||
|
||||
/**
|
||||
* 新增集群模式的任务
|
||||
*
|
||||
* @param jobName 任务名称
|
||||
* @return 任务id
|
||||
*/
|
||||
public Long addClusterJob(String jobName) {
|
||||
return SnailJobOpenApi.addClusterJob()
|
||||
.setRouteKey(AllocationAlgorithmEnum.RANDOM)
|
||||
.setJobName(jobName)
|
||||
.setExecutorInfo("testJobExecutor")
|
||||
.setExecutorTimeout(30)
|
||||
.setDescription("add")
|
||||
.setBlockStrategy(BlockStrategyEnum.DISCARD)
|
||||
.setMaxRetryTimes(1)
|
||||
.setTriggerType(TriggerTypeEnum.SCHEDULED_TIME)
|
||||
.setTriggerInterval(String.valueOf(60))
|
||||
.addArgsStr("测试数据", 123)
|
||||
.addArgsStr("addArg", "args")
|
||||
.setRetryInterval(3)
|
||||
.execute();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增集群模式的任务
|
||||
*
|
||||
* @param jobName 任务名称
|
||||
* @return 任务id
|
||||
*/
|
||||
public Long addShardingJob(String jobName) {
|
||||
return SnailJobOpenApi.addShardingJob()
|
||||
.setJobName(jobName)
|
||||
.setExecutorInfo("testJobExecutor")
|
||||
.setExecutorTimeout(30)
|
||||
.setDescription("add")
|
||||
.setBlockStrategy(BlockStrategyEnum.DISCARD)
|
||||
.setMaxRetryTimes(1)
|
||||
.setTriggerType(TriggerTypeEnum.SCHEDULED_TIME)
|
||||
.setTriggerInterval(String.valueOf(60))
|
||||
.addShardingArgs("分片1", "分片2", "分片3")
|
||||
.setRetryInterval(3)
|
||||
.execute();
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobResponseVO;
|
||||
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@JobExecutor(name = "testGetJobDetailExecutor")
|
||||
public class TestGetJobDetailExecutor {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) {
|
||||
Object jobParams = jobArgs.getJobParams();
|
||||
Map<Object, Object> hashMap = JsonUtil.parseHashMap((String) jobParams);
|
||||
String id = String.valueOf(hashMap.get("id"));
|
||||
JobResponseVO execute = SnailJobOpenApi.getJobDetail(Long.valueOf(id)).execute();
|
||||
return ExecuteResult.success(execute);
|
||||
}
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@JobExecutor(name = "testTriggerJobExecutor")
|
||||
public class TestTriggerJobExecutor {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) {
|
||||
Object jobParams = jobArgs.getJobParams();
|
||||
Map<Object, Object> hashMap = JsonUtil.parseHashMap((String) jobParams);
|
||||
String id = String.valueOf(hashMap.get("id"));
|
||||
Boolean execute = SnailJobOpenApi.triggerJob(Long.valueOf(id)).execute();
|
||||
return ExecuteResult.success(execute);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.job.core.handler.RequestTriggerJobHandler;
|
||||
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@JobExecutor(name = "testTriggerWorkFlowExecutor")
|
||||
public class TestTriggerWorkFlowExecutor {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) {
|
||||
Object jobParams = jobArgs.getJobParams();
|
||||
Map<Object, Object> hashMap = JsonUtil.parseHashMap((String) jobParams);
|
||||
String id = String.valueOf(hashMap.get("id"));
|
||||
RequestTriggerJobHandler jobHandler = SnailJobOpenApi.triggerWorkFlow(Long.valueOf(id));
|
||||
return ExecuteResult.success(jobHandler.execute());
|
||||
}
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.job.core.enums.TriggerTypeEnum;
|
||||
import com.aizuda.snailjob.client.job.core.handler.RequestUpdateHandler;
|
||||
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@JobExecutor(name = "testUpdateJobExecutor")
|
||||
public class TestUpdateJobExecutor {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) {
|
||||
Object jobParams = jobArgs.getJobParams();
|
||||
Map<Object, Object> hashMap = JsonUtil.parseHashMap((String) jobParams);
|
||||
String id = String.valueOf(hashMap.get("id"));
|
||||
String jobName = String.valueOf(hashMap.get("jobName"));
|
||||
RequestUpdateHandler updateHandler = SnailJobOpenApi.updateJob(Long.valueOf(id));
|
||||
updateHandler.setJobName(jobName);
|
||||
updateHandler.setTriggerType(TriggerTypeEnum.WORK_FLOW);
|
||||
return ExecuteResult.success(updateHandler.execute());
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.job.core.handler.RequestUpdateStatusHandler;
|
||||
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.core.enums.StatusEnum;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@JobExecutor(name = "testUpdateJobStatusExecutor")
|
||||
public class TestUpdateJobStatusExecutor {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) {
|
||||
Object jobParams = jobArgs.getJobParams();
|
||||
Map<Object, Object> hashMap = JsonUtil.parseHashMap((String) jobParams);
|
||||
String id = String.valueOf(hashMap.get("id"));
|
||||
RequestUpdateStatusHandler updateJobStatus = SnailJobOpenApi.updateJobStatus(Long.valueOf(id));
|
||||
updateJobStatus.setStatus(StatusEnum.NO);
|
||||
|
||||
return ExecuteResult.success(updateJobStatus.execute());
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package com.example.snailjob.handler;
|
||||
|
||||
import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
|
||||
import com.aizuda.snailjob.client.job.core.dto.JobArgs;
|
||||
import com.aizuda.snailjob.client.job.core.handler.RequestUpdateStatusHandler;
|
||||
import com.aizuda.snailjob.client.job.core.openapi.SnailJobOpenApi;
|
||||
import com.aizuda.snailjob.client.model.ExecuteResult;
|
||||
import com.aizuda.snailjob.common.core.enums.StatusEnum;
|
||||
import com.aizuda.snailjob.common.core.util.JsonUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
@JobExecutor(name = "testUpdateWorkFLowStatusExecutor")
|
||||
public class TestUpdateWorkFLowStatusExecutor {
|
||||
public ExecuteResult jobExecute(JobArgs jobArgs) {
|
||||
Object jobParams = jobArgs.getJobParams();
|
||||
Map<Object, Object> hashMap = JsonUtil.parseHashMap((String) jobParams);
|
||||
String id = String.valueOf(hashMap.get("id"));
|
||||
RequestUpdateStatusHandler updateJobStatus = SnailJobOpenApi.updateWorkFlowStatus(Long.valueOf(id));
|
||||
updateJobStatus.setStatus(StatusEnum.NO);
|
||||
|
||||
return ExecuteResult.success(updateJobStatus.execute());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user