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"));
+ }
}