diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java
index b4456ba..c36de10 100644
--- a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JHJobApiExecution.java
@@ -78,7 +78,7 @@ public class JHJobApiExecution implements JHApiExecution {
/**
* 分页查询作业列表
*
- * 作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件
+ * 注:name、status、condition均为删选条件,condition为 高级筛选
*
*
* @param username 用户名
@@ -116,7 +116,7 @@ public class JHJobApiExecution implements JHApiExecution {
/**
* 分页查询作业列表
*
- * 作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件
+ * 注:name、status、condition均为删选条件,condition为 高级筛选
*
*
* @param username 用户名
@@ -133,6 +133,66 @@ public class JHJobApiExecution implements JHApiExecution {
return getJobPage(username, page, pageSize, name, JobStatusEnum.getJobStatus(status), condition);
}
+ /**
+ * 分页查询作业列表
+ *
+ * 注:name、status、condition均为删选条件,condition为 高级筛选
+ *
+ *
+ * @param username 用户名
+ * @param page 页码(非必填,默认:1)
+ * @param pageSize 每页大小(非必填,默认:20)
+ * @param name 作业名(非必填)
+ * @param status 作业名(非必填)
+ * @param condition 作业状态(非必填),取值见{@link JobStatusEnum#getJobStatus(String)}
+ * @return 作业列表
+ * @see JobStatusEnum
+ */
+ public PageJobInfo getHistoryJobs(String username, Integer page, Integer pageSize, String name,
+ JobStatusEnum status, Map condition) {
+
+ Map params = new HashMap<>(5);
+ if (page != null) {
+ params.put("page", page);
+ }
+ if (pageSize != null) {
+ params.put("pageSize", pageSize);
+ }
+ if (StringUtils.isNotBlank(name)) {
+ params.put("jobName", name);
+ }
+ if (status != null) {
+ params.put("status", status.getStatus());
+ }
+ if (CollectionUtil.isNotEmpty(condition)) {
+ params.put("condition", JsonUtil.objectToString(params));
+ }
+
+ String path = JHApiClient.getUrl(JobPathConstant.JOB_HISTORY_JOBS_PATH, params);
+ return execution.get(path, username, new TypeReference>() {
+ });
+ }
+
+ /**
+ * 分页查询作业列表
+ *
+ * 注:name、status、condition均为删选条件,condition为 高级筛选
+ *
+ *
+ * @param username 用户名
+ * @param page 页码(非必填,默认:1)
+ * @param pageSize 每页大小(非必填,默认:20)
+ * @param name 作业名(非必填)
+ * @param status 作业名(非必填)
+ * @param condition 作业状态(非必填),取值见{@link JobStatusEnum#getJobStatus(String)}
+ * @return 作业列表
+ * @see JobStatusEnum
+ */
+ public PageJobInfo getHistoryJobs(String username, Integer page, Integer pageSize, String name, String status,
+ Map condition) {
+ return getHistoryJobs(username, page, pageSize, name, JobStatusEnum.getJobStatus(status), condition);
+ }
+
/**
* 查询作业详情
*
diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java
index 068cea6..f47ee4e 100644
--- a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobPathConstant.java
@@ -8,13 +8,11 @@ package com.jhinno.sdk.openapi.api.job;
*/
public class JobPathConstant {
-
/**
* 提交作业
*/
public static final String JOB_SUBMIT_PATH = "/ws/api/jobs/jsub";
-
/**
* 使用作业id查询作业列表
*/
@@ -25,12 +23,16 @@ public class JobPathConstant {
*/
public static final String JOB_PAGE_PATH = "/ws/api/jobs/page";
+ /**
+ * 查询历史作业列表
+ */
+ public static final String JOB_HISTORY_JOBS_PATH = "/ws/api/jobs/historyPage";
+
/**
* 查询作业详情
*/
public static final String JOB_DETAIL_INFO_PATH = "/ws/api/jobs/{jobId}";
-
/**
* 分页检索作业名
*/
@@ -41,49 +43,41 @@ public class JobPathConstant {
*/
public static final String JOB_LIST_BY_STATUS_PATH = "/ws/api/jobs/byStatus/{status}";
-
/**
* 通过作业号查询作业列表
*/
public static final String JOB_LIST_BY_IDS_PATH = "/ws/api/jobs/list";
-
/**
* 作业操作
*/
public static final String JOB_ACTION_PATH = "/ws/api/jobs/{jobId}/{action}";
-
/**
* 批量操作作业
*/
public static final String JOB_ACTION_IDS_PATH = "/ws/api/jobs/{action}";
-
/**
* 获取作业历史
*/
public static final String JOB_HISTORY_PATH = "/ws/api/jobs/{jobId}/hist";
-
/**
* 通过多个作业号查询作业历史
*/
public static final String JOB_HISTORY_IDS_PATH = "/ws/api/jobs/hist";
-
/**
* 获取作业动态输出
*/
public static final String JOB_PEEK_PATH = "/ws/api/jobs/{jobId}/peek";
-
/**
* 连接作业会话
*/
public static final String JOB_CONNECT_SESSION_PATH = "/ws/api/jobs/{jobId}/connect";
-
/**
* 获取作业表单
*
diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java
index b861a98..823a0ef 100644
--- a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java
+++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/job/JobStatusEnum.java
@@ -28,7 +28,6 @@ public enum JobStatusEnum {
EXIT("EXIT", "退出"),
UNKNOWN_UNKWN("UNKNOWN#UNKWN", "状态不明");
-
/**
* 状态标识
*/
@@ -39,7 +38,6 @@ public enum JobStatusEnum {
*/
private final String name;
-
/**
* 使用标号获得JobStatusEnum对象
*
@@ -49,7 +47,7 @@ public enum JobStatusEnum {
*/
public static JobStatusEnum getJobStatus(String status) {
if (StringUtils.isBlank(status)) {
- throw new ArgsException("作业状态不能为空!");
+ return null;
}
for (JobStatusEnum value : values()) {
if (StringUtils.equals(status, value.getStatus())) {
diff --git a/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java
index 9dcba0d..08fb3c7 100644
--- a/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java
+++ b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/job/JobApiTest.java
@@ -17,8 +17,8 @@ import java.util.Map;
*/
public class JobApiTest {
- private static final JHJobApiExecution execution = JHClientConfig.API_EXECUTRON_MANAGE
- .getApiExecution(JHJobApiExecution.class);
+ private static final JHJobApiExecution execution = JHClientConfig.API_EXECUTRON_MANAGE
+ .getApiExecution(JHJobApiExecution.class);
/**
* 测试提交作业
@@ -31,7 +31,6 @@ public class JobApiTest {
System.out.println(execution.submit("jhadmin", "common_sub", params));
}
-
/**
* 测试根据作业id查询作业文件列表
*/
@@ -40,14 +39,22 @@ public class JobApiTest {
System.out.println(execution.getJobFilesById("jhadmin", "42"));
}
-
/**
* 测试分页查询作业列表
*/
@Test
public void testGetJobPage() {
- PageJobInfo jhadmin = execution.getJobPage("jhadmin", 1, 5, null, JobStatusEnum.DONE, null);
- System.out.println(jhadmin);
+ PageJobInfo pages = execution.getJobPage("jhadmin", 1, 5, null, JobStatusEnum.DONE, null);
+ System.out.println(pages);
+ }
+
+ /**
+ * 测试查询历史作业列表
+ */
+ @Test
+ public void testGetHistoryJobs() {
+ PageJobInfo pages = execution.getHistoryJobs("jhadmin", 1, 5, null, null, null);
+ System.out.println(pages);
}
/**
@@ -58,7 +65,6 @@ public class JobApiTest {
System.out.println(execution.getJobDetail("jhadmin", "42"));
}
-
/**
* 测试使用作业名称检索
*/
@@ -75,7 +81,6 @@ public class JobApiTest {
System.out.println(execution.getJobsByStatus("jhadmin", JobStatusEnum.DONE, 1, 10));
}
-
/**
* 测试使用作业拆id列表查询作业
*/
@@ -84,7 +89,6 @@ public class JobApiTest {
System.out.println(execution.getJobsByIds("jhadmin", Arrays.asList("42", "41")));
}
-
/**
* 测试查询作业历史
*/
@@ -94,7 +98,6 @@ public class JobApiTest {
System.out.println(result);
}
-
/**
* 测试通过多个子哦也好查询作业历史
*/
@@ -113,7 +116,6 @@ public class JobApiTest {
System.out.println("peek = " + peek);
}
-
/**
* 测试会话连接(目前没有测试条件)
*/