diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java index 52f6fe8..8e3ab5b 100644 --- a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java +++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppPathConstant.java @@ -97,4 +97,20 @@ public class AppPathConstant { * WEB启动会话URL */ public static final String WEB_SESSION_URL_PATH = "/pageapi/apps/webclient/gui/{desktopId}"; + + + /** + * 根据用途查询应用 + *

+ * 该接口目前在Solutions下面维护,未经过产品的测试 + */ + public static final String APP_USE_LABEL_PATH = "/ws/api/app/use_label/apps"; + + + /** + * 根据文件后缀查询应用 + *

+ * 该接口目前在Solutions下面维护,未经过产品的测试 + */ + public static final String APPS_SUFFIXES_PATH = "/ws/api/apps/suffixes"; } diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppstoreAppInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppstoreAppInfo.java new file mode 100644 index 0000000..2479f7f --- /dev/null +++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/AppstoreAppInfo.java @@ -0,0 +1,121 @@ +package com.jhinno.sdk.openapi.api.app; + +import lombok.Data; + +/** + * 应用 + */ +@Data +public class AppstoreAppInfo { + + /** + * 应ID + */ + private String id; + + /** + * 应用名称 + */ + private String name; + + /** + * 应用图标 + */ + private String image; + + /** + * 应用类型 + */ + private String type; + + /** + * 应用版本 + */ + private String version; + + /** + * 应用状态 + */ + private Boolean status; + + /** + * 是否 使用 + */ + private Boolean isUsed; + + /** + * CPU使用 + */ + private String cpuUsage; + + /** + * 空闲内存 + */ + private String idleMem; + + /** + * + */ + private String idleTime; + + /** + * 应用路径 + */ + private String appPath; + + /** + * 工作路径 + */ + private String appCwd; + + /** + * 发布时间 + */ + private String appReleaseTime; + + /** + * 启动选项 + */ + private String appStartOpt; + + /** + * 启动前缀 + */ + private String appStartPrefix; + + /** + * 启动后缀 + */ + private String appStartSuffix; + + /** + * 应用详情 + */ + private String appDetail; + + /** + * 启动数量 + */ + private String startNum; + + /** + * 用途英文名 + */ + private String useLabelEnStr; + + /** + * 用途中文名 + */ + private String useLabelCnStr; + + /** + * 应用系统 + */ + private String appOs; + + /** + * 申请状态 + */ + private String applyStatus; + +} diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java index 823cb71..f7f67e0 100644 --- a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java +++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/JHAppApiExecution.java @@ -12,6 +12,7 @@ import com.jhinno.sdk.openapi.utils.CollectionUtil; import lombok.NoArgsConstructor; import org.apache.commons.lang3.StringUtils; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -393,7 +394,7 @@ public class JHAppApiExecution extends JHApiExecution { /** * 获取应用链接 * - * @param username 应户名 + * @param username 用户名 * @param appName 应用名 * @return 应用链接地址 */ @@ -409,4 +410,61 @@ public class JHAppApiExecution extends JHApiExecution { } return apps.get(0).get("url"); } + + /** + * 根据文件后缀查询应用 + * + * @param username 用户名 + * @param suffixes 文件后缀列表 + * @return 应用列表 + */ + public List getAppInfoSuffixList(String username, String... suffixes) { + return getAppInfoSuffixList(username, Arrays.asList(suffixes)); + } + + /** + * 根据文件后缀查询应用 + * + * @param username 用户名 + * @param suffixes 文件后缀列表 + * @return 应用列表 + */ + public List getAppInfoSuffixList(String username, List suffixes) { + Map params = new HashMap<>(1); + if (CollectionUtil.isNotEmpty(suffixes)) { + params.put("suffixes", String.join(CommonConstant.NORMAL_CHARACTER_COMMA, suffixes)); + } + String path = JHApiClient.getUrl(AppPathConstant.APPS_SUFFIXES_PATH, params); + return get(path, username, new TypeReference>>() { + }); + } + + /** + * 根据用途查询应用 + * + * @param username 用户名 + * @param labels 用途列表 + * @return 应用列表 + */ + public List getUseLabelList(String username, String... labels) { + return getUseLabelList(username, Arrays.asList(labels)); + } + + + /** + * 根据用途查询应用 + * + * @param username 用户名 + * @param labels 用途列表 + * @return 应用列表 + */ + public List getUseLabelList(String username, List labels) { + Map params = new HashMap<>(1); + if (CollectionUtil.isNotEmpty(labels)) { + params.put("use_labels", String.join(CommonConstant.NORMAL_CHARACTER_COMMA, labels)); + } + String path = JHApiClient.getUrl(AppPathConstant.APP_USE_LABEL_PATH, params); + return get(path, username, new TypeReference>>() { + }); + } } diff --git a/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/UseLabelInfo.java b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/UseLabelInfo.java new file mode 100644 index 0000000..5c78a9d --- /dev/null +++ b/jhinno-openapi-java-sdk/src/main/java/com/jhinno/sdk/openapi/api/app/UseLabelInfo.java @@ -0,0 +1,28 @@ +package com.jhinno.sdk.openapi.api.app; + +import lombok.Data; + +import java.util.List; + +@Data +public class UseLabelInfo { + /** + * 用途id + */ + private String useLabelId; + + /** + * 用途名称 + */ + private String useLabelName; + + /** + * 用途图片 + */ + private String useLabelIcon; + + /** + * 用途app列表 + */ + private List apps; +} 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 b4b89b2..068cea6 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 @@ -86,6 +86,8 @@ public class JobPathConstant { /** * 获取作业表单 + *

+ * 该接口目前在Solutions下面维护,未经过产品的测试 */ public static final String JOB_GET_APP_FORM_PATH = "/ws/api/jobs/{appId}/form_params"; } diff --git a/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java index cd36fff..83154a0 100644 --- a/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java +++ b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/JHClientConfig.java @@ -24,13 +24,13 @@ public class JHClientConfig { /** * 初始化JHApi客户端 */ - public static final JHApiClient client = new JHApiClient("https://172.17.0.6/appform"); + public static final JHApiClient client = new JHApiClient("https://192.168.38.160/appform"); public static final Map, JHApiExecution> jhApiClientMap = new HashMap<>(); - public static final String ACCESS_KEY = "3f03747f147942bd8debd81b6c9c6a80"; + public static final String ACCESS_KEY = "35154207caa94be582e75da31ec8e9f2"; - public static final String ACCESS_KEY_SECRET = "e0681859b91c499eb1d2c8e09cea3242"; + public static final String ACCESS_KEY_SECRET = "2cdb5ecbe51543ad9a08ad21c32e2dd9"; static { client.initDefaultApiClient(); @@ -43,7 +43,7 @@ public class JHClientConfig { jhApiClientMap.forEach((k, v) -> { v.setJhApiClient(client); - v.setAuthType(AuthType.TOKEN_MODE); + v.setAuthType(AuthType.ACCESS_SECRET_MODE); v.setAccessKey(ACCESS_KEY); v.setAccessKeySecret(ACCESS_KEY_SECRET); v.setUsedServerTime(true); diff --git a/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java index ee998a4..1563155 100644 --- a/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java +++ b/jhinno-openapi-java-sdk/src/test/java/com/jhinno/sdk/openapi/test/app/AppApiTest.java @@ -168,4 +168,21 @@ public class AppApiTest { System.out.println(jhAppApiExecution.getAppUrl("jhadmin", "myjobmana")); } + + /** + * 测试根据文件后缀取应用列表 + */ + @Test + public void testGetAppInfoSuffixList() { + System.out.println(jhAppApiExecution.getAppInfoSuffixList("test", ".sh")); + } + + + /** + * 测试根据用途获取应用列表 + */ + @Test + public void testGetUseLabelList() { + System.out.println(jhAppApiExecution.getUseLabelList("jhadmin")); + } }