feat(作业): 增加查询历史作业的接口

This commit is contained in:
lqyan
2025-02-20 18:46:59 +08:00
parent 9aecf0b6a2
commit 85aef61455
4 changed files with 81 additions and 27 deletions

View File

@@ -78,7 +78,7 @@ public class JHJobApiExecution implements JHApiExecution {
/**
* 分页查询作业列表
* <p>
* 作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件
* name、status、condition均为删选条件condition为 高级筛选
* </p>
*
* @param username 用户名
@@ -116,7 +116,7 @@ public class JHJobApiExecution implements JHApiExecution {
/**
* 分页查询作业列表
* <p>
* 作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件
* name、status、condition均为删选条件condition为 高级筛选
* </p>
*
* @param username 用户名
@@ -133,6 +133,66 @@ public class JHJobApiExecution implements JHApiExecution {
return getJobPage(username, page, pageSize, name, JobStatusEnum.getJobStatus(status), condition);
}
/**
* 分页查询作业列表
* <p>
* 注name、status、condition均为删选条件condition为 高级筛选
* </p>
*
* @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<String, Object> condition) {
Map<String, Object> 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<ResponseResult<PageJobInfo>>() {
});
}
/**
* 分页查询作业列表
* <p>
* 注name、status、condition均为删选条件condition为 高级筛选
* </p>
*
* @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<String, Object> condition) {
return getHistoryJobs(username, page, pageSize, name, JobStatusEnum.getJobStatus(status), condition);
}
/**
* 查询作业详情
*

View File

@@ -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";
/**
* 获取作业表单
* <p/>

View File

@@ -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())) {

View File

@@ -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);
}
/**
* 测试会话连接(目前没有测试条件)
*/