mirror of
https://github.com/yanlongqi/jhinno-openapi-java-sdk.git
synced 2026-03-22 06:15:10 +08:00
作业相关接口优化
This commit is contained in:
@@ -85,8 +85,9 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
* @param status 作业状态(非必填)
|
||||
* @param condition 自定义条件(非必填)
|
||||
* @return 作业列表
|
||||
* @see JobStatusEnum
|
||||
*/
|
||||
public PageJobInfo getJobPage(String username, Integer page, Integer pageSize, String name, String status, Map<String, Object> condition) {
|
||||
public PageJobInfo getJobPage(String username, Integer page, Integer pageSize, String name, JobStatusEnum status, Map<String, Object> condition) {
|
||||
Map<String, Object> params = new HashMap<>(5);
|
||||
if (page != null) {
|
||||
params.put("page", page);
|
||||
@@ -97,8 +98,8 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
if (StringUtils.isNotBlank(name)) {
|
||||
params.put("jobName", name);
|
||||
}
|
||||
if (StringUtils.isBlank(status)) {
|
||||
params.put("status", status);
|
||||
if (status != null) {
|
||||
params.put("status", status.getStatus());
|
||||
}
|
||||
if (CollectionUtil.isNotEmpty(condition)) {
|
||||
params.put("condition", JSONUtil.toJsonStr(params));
|
||||
@@ -108,6 +109,22 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询作业列表
|
||||
* <p>作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件</p
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param page 页码(非必填,默认:1)
|
||||
* @param pageSize 每页大小(非必填,默认:20)
|
||||
* @param name 作业名(非必填)
|
||||
* @param status 作业状态(非必填),取值见{@link JobStatusEnum#getJobStatus(String)}
|
||||
* @param condition 自定义条件(非必填)
|
||||
* @return 作业列表
|
||||
* @see JobStatusEnum
|
||||
*/
|
||||
public PageJobInfo getJobPage(String username, Integer page, Integer pageSize, String name, String status, Map<String, Object> condition) {
|
||||
return getJobPage(username, page, pageSize, name, JobStatusEnum.getJobStatus(status), condition);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询作业详情
|
||||
@@ -157,18 +174,7 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
/**
|
||||
* 分页检索作业状态
|
||||
* <p>
|
||||
* status(作业状态)的取值如下:
|
||||
* <ol>
|
||||
* <li>RUN(运行)</li>
|
||||
* <li>PEND(等待)</li>
|
||||
* <li>PSUSP(等待中挂起)</li>
|
||||
* <li>USUSP(用户挂起)</li>
|
||||
* <li>SSUSP(系统挂起)</li>
|
||||
* <li>ZOMBI(僵尸)</li>
|
||||
* <li>DONE(完成)</li>
|
||||
* <li>EXIT(退出)</li>
|
||||
* <li>UNKNOWN#UNKWN(状态不明)</li>
|
||||
* </ol>
|
||||
* 可通过{@link JobStatusEnum#getJobStatus(String)} 获得{@link JobStatusEnum}
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param status 作业状态
|
||||
@@ -176,8 +182,8 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
* @param pageSize 分页大小
|
||||
* @return 作业列表
|
||||
*/
|
||||
public List<JobInfo> getJobsByStatus(String username, String status, Integer page, Integer pageSize) {
|
||||
if (StringUtils.isBlank(status)) {
|
||||
public List<JobInfo> getJobsByStatus(String username, JobStatusEnum status, Integer page, Integer pageSize) {
|
||||
if (status == null) {
|
||||
throw new ArgsException("status不能为空!");
|
||||
}
|
||||
Map<String, Object> params = new HashMap<>(3);
|
||||
@@ -187,12 +193,27 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
if (pageSize != null) {
|
||||
params.put("pageSize", pageSize);
|
||||
}
|
||||
String path = JHApiClient.getUrl(JobPathConstant.JOB_LIST_BY_STATUS_PATH.replace("{status}", status), params);
|
||||
String path = JHApiClient.getUrl(JobPathConstant.JOB_LIST_BY_STATUS_PATH.replace("{status}", status.getStatus()), params);
|
||||
return get(path, username, new TypeReference<ResponseResult<List<JobInfo>>>() {
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 作业的状态(必填),
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param status 作业状态,取值见{@link JobStatusEnum#getStatus()}
|
||||
* @param page 页码
|
||||
* @param pageSize 分页大小
|
||||
* @return 作业列表
|
||||
* @see JobStatusEnum
|
||||
*/
|
||||
public List<JobInfo> getJobsByStatus(String username, String status, Integer page, Integer pageSize) {
|
||||
return getJobsByStatus(username, JobStatusEnum.getJobStatus(status), page, pageSize);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过作业id列表查询作业列表
|
||||
*
|
||||
@@ -283,7 +304,6 @@ public class JHJobApiExecution extends JHApiExecution {
|
||||
|
||||
|
||||
/**
|
||||
* +
|
||||
* 查询制定作业的作业历史
|
||||
*
|
||||
* @param username 用户名
|
||||
|
||||
@@ -53,6 +53,9 @@ public enum JobActionEnum {
|
||||
* @throws ArgsException action的类型不存在的异常
|
||||
*/
|
||||
public static JobActionEnum getJobAction(String action) {
|
||||
if (StringUtils.isBlank(action)) {
|
||||
throw new ArgsException("操作标识不能为空!");
|
||||
}
|
||||
for (JobActionEnum value : values()) {
|
||||
if (StringUtils.equals(action, value.getAction())) {
|
||||
return value;
|
||||
|
||||
@@ -36,22 +36,8 @@ public class JobInfo {
|
||||
/**
|
||||
* 作业状态
|
||||
* <p>
|
||||
* 可能的取值:<br/>
|
||||
* <ol>
|
||||
* <li>RUN(运行)</li>
|
||||
* <li>PEND(等待)</li>
|
||||
* <li>PSUSP(等待中挂起)</li>
|
||||
* <li>USUSP(用户挂起)</li>
|
||||
* <li>SSUSP(系统挂起)</li>
|
||||
* <li>ZOMBI(僵尸)</li>
|
||||
* <li>DONE(完成)</li>
|
||||
* <li>EXIT(退出)</li>
|
||||
* <li>UNKNOWN#UNKWN(状态不明)</li>
|
||||
* </ol>
|
||||
*
|
||||
* </p>
|
||||
* <p>
|
||||
* 数组作业(及arrayJob="true")时status的类型是一个map<br/>
|
||||
* 可能的取值见:{@link JobStatusEnum}<br/>
|
||||
* 如果作业是数组作业(即arrayJob="true")时status的类型是一个map类型<br/>
|
||||
* 如:{"done":1,"run":12}
|
||||
* </p>
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
package com.jhinno.sdk.openapi.api.job;
|
||||
|
||||
import com.jhinno.sdk.openapi.ArgsException;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* 作业状态
|
||||
* <p>
|
||||
* 该枚举表示作业的状态的类型,其中status标识接口中的值,name标识对应的中文状态
|
||||
*
|
||||
* @author yanlongqi
|
||||
* @date 2024/2/6 17:03
|
||||
*/
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum JobStatusEnum {
|
||||
|
||||
RUN("RUN", "运行"),
|
||||
PEND("PEND", "等待"),
|
||||
PSUSP("PSUSP", "等待中挂起"),
|
||||
USUSP("USUSP", "用户挂起"),
|
||||
SSUSP("SSUSP", "系统挂起"),
|
||||
ZOMBI("ZOMBI", "僵尸"),
|
||||
DONE("DONE", "完成"),
|
||||
EXIT("EXIT", "退出"),
|
||||
UNKNOWN_UNKWN("UNKNOWN#UNKWN", "状态不明");
|
||||
|
||||
|
||||
/**
|
||||
* 状态标识
|
||||
*/
|
||||
private final String status;
|
||||
|
||||
/**
|
||||
* 状态名称
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
|
||||
/**
|
||||
* 使用标号获得JobStatusEnum对象
|
||||
*
|
||||
* @param status 作业状态
|
||||
* @return 作业状态
|
||||
* @throws ArgsException 参数异常
|
||||
*/
|
||||
public static JobStatusEnum getJobStatus(String status) {
|
||||
if (StringUtils.isBlank(status)) {
|
||||
throw new ArgsException("作业状态不能为空!");
|
||||
}
|
||||
for (JobStatusEnum value : values()) {
|
||||
if (StringUtils.equals(status, value.getStatus())) {
|
||||
return value;
|
||||
}
|
||||
}
|
||||
throw new ArgsException(status + "类型不存在!");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -38,9 +38,12 @@ public enum JobsActionEnum {
|
||||
*
|
||||
* @param action 操作字符
|
||||
* @return 作业操作类型
|
||||
* @exception ArgsException action的类型不存在的异常
|
||||
* @throws ArgsException action的类型不存在的异常
|
||||
*/
|
||||
public static JobsActionEnum getJobAction(String action) {
|
||||
if (StringUtils.isBlank(action)) {
|
||||
throw new ArgsException("操作标识不能为空!");
|
||||
}
|
||||
for (JobsActionEnum value : values()) {
|
||||
if (StringUtils.equals(action, value.getAction())) {
|
||||
return value;
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.jhinno.sdk.openapi.test.job;
|
||||
|
||||
import com.jhinno.sdk.openapi.api.job.JHJobApiExecution;
|
||||
import com.jhinno.sdk.openapi.api.job.JobHistoryInfo;
|
||||
import com.jhinno.sdk.openapi.api.job.JobStatusEnum;
|
||||
import com.jhinno.sdk.openapi.api.job.PageJobInfo;
|
||||
import com.jhinno.sdk.openapi.test.JHClientConfig;
|
||||
import org.junit.Test;
|
||||
@@ -47,7 +48,7 @@ public class JobApiTest {
|
||||
*/
|
||||
@Test
|
||||
public void testGetJobPage() {
|
||||
PageJobInfo jhadmin = execution.getJobPage("jhadmin", 1, 5, null, null, null);
|
||||
PageJobInfo jhadmin = execution.getJobPage("jhadmin", 1, 5, null, JobStatusEnum.DONE, null);
|
||||
System.out.println(jhadmin);
|
||||
}
|
||||
|
||||
@@ -73,7 +74,7 @@ public class JobApiTest {
|
||||
*/
|
||||
@Test
|
||||
public void testGetJobsByStatus() {
|
||||
System.out.println(execution.getJobsByStatus("jhadmin", "DONE", 1, 10));
|
||||
System.out.println(execution.getJobsByStatus("jhadmin", JobStatusEnum.DONE, 1, 10));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user