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> * <p>
* 作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件 * name、status、condition均为删选条件condition为 高级筛选
* </p> * </p>
* *
* @param username 用户名 * @param username 用户名
@@ -116,7 +116,7 @@ public class JHJobApiExecution implements JHApiExecution {
/** /**
* 分页查询作业列表 * 分页查询作业列表
* <p> * <p>
* 作业名、作业状态等为非必填自动,如果为空则没有添加该查询条件 * name、status、condition均为删选条件condition为 高级筛选
* </p> * </p>
* *
* @param username 用户名 * @param username 用户名
@@ -133,6 +133,66 @@ public class JHJobApiExecution implements JHApiExecution {
return getJobPage(username, page, pageSize, name, JobStatusEnum.getJobStatus(status), condition); 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 class JobPathConstant {
/** /**
* 提交作业 * 提交作业
*/ */
public static final String JOB_SUBMIT_PATH = "/ws/api/jobs/jsub"; public static final String JOB_SUBMIT_PATH = "/ws/api/jobs/jsub";
/** /**
* 使用作业id查询作业列表 * 使用作业id查询作业列表
*/ */
@@ -25,12 +23,16 @@ public class JobPathConstant {
*/ */
public static final String JOB_PAGE_PATH = "/ws/api/jobs/page"; 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}"; 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_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_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_PATH = "/ws/api/jobs/{jobId}/{action}";
/** /**
* 批量操作作业 * 批量操作作业
*/ */
public static final String JOB_ACTION_IDS_PATH = "/ws/api/jobs/{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_PATH = "/ws/api/jobs/{jobId}/hist";
/** /**
* 通过多个作业号查询作业历史 * 通过多个作业号查询作业历史
*/ */
public static final String JOB_HISTORY_IDS_PATH = "/ws/api/jobs/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_PEEK_PATH = "/ws/api/jobs/{jobId}/peek";
/** /**
* 连接作业会话 * 连接作业会话
*/ */
public static final String JOB_CONNECT_SESSION_PATH = "/ws/api/jobs/{jobId}/connect"; public static final String JOB_CONNECT_SESSION_PATH = "/ws/api/jobs/{jobId}/connect";
/** /**
* 获取作业表单 * 获取作业表单
* <p/> * <p/>

View File

@@ -28,7 +28,6 @@ public enum JobStatusEnum {
EXIT("EXIT", "退出"), EXIT("EXIT", "退出"),
UNKNOWN_UNKWN("UNKNOWN#UNKWN", "状态不明"); UNKNOWN_UNKWN("UNKNOWN#UNKWN", "状态不明");
/** /**
* 状态标识 * 状态标识
*/ */
@@ -39,7 +38,6 @@ public enum JobStatusEnum {
*/ */
private final String name; private final String name;
/** /**
* 使用标号获得JobStatusEnum对象 * 使用标号获得JobStatusEnum对象
* *
@@ -49,7 +47,7 @@ public enum JobStatusEnum {
*/ */
public static JobStatusEnum getJobStatus(String status) { public static JobStatusEnum getJobStatus(String status) {
if (StringUtils.isBlank(status)) { if (StringUtils.isBlank(status)) {
throw new ArgsException("作业状态不能为空!"); return null;
} }
for (JobStatusEnum value : values()) { for (JobStatusEnum value : values()) {
if (StringUtils.equals(status, value.getStatus())) { if (StringUtils.equals(status, value.getStatus())) {

View File

@@ -31,7 +31,6 @@ public class JobApiTest {
System.out.println(execution.submit("jhadmin", "common_sub", params)); System.out.println(execution.submit("jhadmin", "common_sub", params));
} }
/** /**
* 测试根据作业id查询作业文件列表 * 测试根据作业id查询作业文件列表
*/ */
@@ -40,14 +39,22 @@ public class JobApiTest {
System.out.println(execution.getJobFilesById("jhadmin", "42")); System.out.println(execution.getJobFilesById("jhadmin", "42"));
} }
/** /**
* 测试分页查询作业列表 * 测试分页查询作业列表
*/ */
@Test @Test
public void testGetJobPage() { public void testGetJobPage() {
PageJobInfo jhadmin = execution.getJobPage("jhadmin", 1, 5, null, JobStatusEnum.DONE, null); PageJobInfo pages = execution.getJobPage("jhadmin", 1, 5, null, JobStatusEnum.DONE, null);
System.out.println(jhadmin); 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")); System.out.println(execution.getJobDetail("jhadmin", "42"));
} }
/** /**
* 测试使用作业名称检索 * 测试使用作业名称检索
*/ */
@@ -75,7 +81,6 @@ public class JobApiTest {
System.out.println(execution.getJobsByStatus("jhadmin", JobStatusEnum.DONE, 1, 10)); System.out.println(execution.getJobsByStatus("jhadmin", JobStatusEnum.DONE, 1, 10));
} }
/** /**
* 测试使用作业拆id列表查询作业 * 测试使用作业拆id列表查询作业
*/ */
@@ -84,7 +89,6 @@ public class JobApiTest {
System.out.println(execution.getJobsByIds("jhadmin", Arrays.asList("42", "41"))); System.out.println(execution.getJobsByIds("jhadmin", Arrays.asList("42", "41")));
} }
/** /**
* 测试查询作业历史 * 测试查询作业历史
*/ */
@@ -94,7 +98,6 @@ public class JobApiTest {
System.out.println(result); System.out.println(result);
} }
/** /**
* 测试通过多个子哦也好查询作业历史 * 测试通过多个子哦也好查询作业历史
*/ */
@@ -113,7 +116,6 @@ public class JobApiTest {
System.out.println("peek = " + peek); System.out.println("peek = " + peek);
} }
/** /**
* 测试会话连接(目前没有测试条件) * 测试会话连接(目前没有测试条件)
*/ */