mirror of
https://github.com/yanlongqi/jhinno-openapi-java-sdk.git
synced 2026-03-22 06:15:10 +08:00
feat(应用): 增加更加用途和文件后缀获取应用列表
This commit is contained in:
@@ -97,4 +97,20 @@ public class AppPathConstant {
|
||||
* WEB启动会话URL
|
||||
*/
|
||||
public static final String WEB_SESSION_URL_PATH = "/pageapi/apps/webclient/gui/{desktopId}";
|
||||
|
||||
|
||||
/**
|
||||
* 根据用途查询应用
|
||||
* <p/>
|
||||
* 该接口目前在Solutions下面维护,未经过产品的测试
|
||||
*/
|
||||
public static final String APP_USE_LABEL_PATH = "/ws/api/app/use_label/apps";
|
||||
|
||||
|
||||
/**
|
||||
* 根据文件后缀查询应用
|
||||
* <p/>
|
||||
* 该接口目前在Solutions下面维护,未经过产品的测试
|
||||
*/
|
||||
public static final String APPS_SUFFIXES_PATH = "/ws/api/apps/suffixes";
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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<AppstoreAppInfo> getAppInfoSuffixList(String username, String... suffixes) {
|
||||
return getAppInfoSuffixList(username, Arrays.asList(suffixes));
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据文件后缀查询应用
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param suffixes 文件后缀列表
|
||||
* @return 应用列表
|
||||
*/
|
||||
public List<AppstoreAppInfo> getAppInfoSuffixList(String username, List<String> suffixes) {
|
||||
Map<String, Object> 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<ResponseResult<List<AppstoreAppInfo>>>() {
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用途查询应用
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param labels 用途列表
|
||||
* @return 应用列表
|
||||
*/
|
||||
public List<UseLabelInfo> getUseLabelList(String username, String... labels) {
|
||||
return getUseLabelList(username, Arrays.asList(labels));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据用途查询应用
|
||||
*
|
||||
* @param username 用户名
|
||||
* @param labels 用途列表
|
||||
* @return 应用列表
|
||||
*/
|
||||
public List<UseLabelInfo> getUseLabelList(String username, List<String> labels) {
|
||||
Map<String, Object> 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<ResponseResult<List<UseLabelInfo>>>() {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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<AppstoreAppInfo> apps;
|
||||
}
|
||||
@@ -86,6 +86,8 @@ public class JobPathConstant {
|
||||
|
||||
/**
|
||||
* 获取作业表单
|
||||
* <p/>
|
||||
* 该接口目前在Solutions下面维护,未经过产品的测试
|
||||
*/
|
||||
public static final String JOB_GET_APP_FORM_PATH = "/ws/api/jobs/{appId}/form_params";
|
||||
}
|
||||
|
||||
@@ -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<Class<? extends JHApiExecution>, 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);
|
||||
|
||||
@@ -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"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user