refactor(测试跟踪): 平台插件构造器添加个人账号信息相关参数
This commit is contained in:
parent
ec0ce49ab4
commit
231d099655
|
@ -1,25 +1,29 @@
|
||||||
package io.metersphere.service;
|
package io.metersphere.service;
|
||||||
|
|
||||||
import io.metersphere.base.domain.Plugin;
|
|
||||||
import io.metersphere.base.domain.PluginExample;
|
import io.metersphere.base.domain.PluginExample;
|
||||||
import io.metersphere.commons.exception.MSException;
|
|
||||||
import io.metersphere.i18n.Translator;
|
|
||||||
import io.metersphere.platform.api.Platform;
|
|
||||||
import io.metersphere.platform.api.PluginMetaInfo;
|
|
||||||
import io.metersphere.base.domain.PluginWithBLOBs;
|
import io.metersphere.base.domain.PluginWithBLOBs;
|
||||||
import io.metersphere.base.domain.ServiceIntegration;
|
import io.metersphere.base.domain.ServiceIntegration;
|
||||||
|
import io.metersphere.base.domain.User;
|
||||||
import io.metersphere.base.mapper.PluginMapper;
|
import io.metersphere.base.mapper.PluginMapper;
|
||||||
|
import io.metersphere.base.mapper.UserMapper;
|
||||||
import io.metersphere.commons.constants.KafkaTopicConstants;
|
import io.metersphere.commons.constants.KafkaTopicConstants;
|
||||||
import io.metersphere.commons.constants.PluginScenario;
|
import io.metersphere.commons.constants.PluginScenario;
|
||||||
|
import io.metersphere.commons.exception.MSException;
|
||||||
import io.metersphere.commons.utils.JSON;
|
import io.metersphere.commons.utils.JSON;
|
||||||
import io.metersphere.commons.utils.LogUtil;
|
import io.metersphere.commons.utils.LogUtil;
|
||||||
import io.metersphere.commons.utils.SessionUtils;
|
import io.metersphere.commons.utils.SessionUtils;
|
||||||
import io.metersphere.platform.domain.*;
|
|
||||||
import io.metersphere.dto.PlatformProjectOptionRequest;
|
import io.metersphere.dto.PlatformProjectOptionRequest;
|
||||||
|
import io.metersphere.i18n.Translator;
|
||||||
|
import io.metersphere.platform.api.Platform;
|
||||||
|
import io.metersphere.platform.api.PluginMetaInfo;
|
||||||
|
import io.metersphere.platform.domain.GetOptionRequest;
|
||||||
|
import io.metersphere.platform.domain.PlatformRequest;
|
||||||
|
import io.metersphere.platform.domain.SelectOption;
|
||||||
import io.metersphere.platform.loader.PlatformPluginManager;
|
import io.metersphere.platform.loader.PlatformPluginManager;
|
||||||
import io.metersphere.request.IntegrationRequest;
|
import io.metersphere.request.IntegrationRequest;
|
||||||
import io.metersphere.utils.PluginManagerUtil;
|
import io.metersphere.utils.PluginManagerUtil;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import jakarta.annotation.Resource;
|
||||||
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.kafka.core.KafkaTemplate;
|
import org.springframework.kafka.core.KafkaTemplate;
|
||||||
|
@ -28,8 +32,6 @@ import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import jakarta.annotation.Resource;
|
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
@ -50,6 +52,8 @@ public class PlatformPluginService {
|
||||||
@Resource
|
@Resource
|
||||||
private BaseIntegrationService baseIntegrationService;
|
private BaseIntegrationService baseIntegrationService;
|
||||||
@Resource
|
@Resource
|
||||||
|
private UserMapper userMapper;
|
||||||
|
@Resource
|
||||||
private KafkaTemplate<String, String> kafkaTemplate;
|
private KafkaTemplate<String, String> kafkaTemplate;
|
||||||
@Resource
|
@Resource
|
||||||
@Lazy
|
@Lazy
|
||||||
|
@ -184,6 +188,7 @@ public class PlatformPluginService {
|
||||||
|
|
||||||
PlatformRequest pluginRequest = new PlatformRequest();
|
PlatformRequest pluginRequest = new PlatformRequest();
|
||||||
pluginRequest.setIntegrationConfig(serviceIntegration.getConfiguration());
|
pluginRequest.setIntegrationConfig(serviceIntegration.getConfiguration());
|
||||||
|
pluginRequest.setUserPlatformInfo(getUserPlatformInfo(workspaceId));
|
||||||
Platform platform = getPluginManager().getPlatformByKey(platformKey, pluginRequest);
|
Platform platform = getPluginManager().getPlatformByKey(platformKey, pluginRequest);
|
||||||
if (platform == null) {
|
if (platform == null) {
|
||||||
MSException.throwException(Translator.get("platform_plugin_not_exit") + PLUGIN_DOWNLOAD_URL);
|
MSException.throwException(Translator.get("platform_plugin_not_exit") + PLUGIN_DOWNLOAD_URL);
|
||||||
|
@ -191,6 +196,22 @@ public class PlatformPluginService {
|
||||||
return platform;
|
return platform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getUserPlatformInfo(String workspaceId) {
|
||||||
|
try {
|
||||||
|
String userId = SessionUtils.getUserId();
|
||||||
|
if (StringUtils.isBlank(workspaceId) || StringUtils.isBlank(userId)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
User user = userMapper.selectByPrimaryKey(userId);
|
||||||
|
if (StringUtils.isNotBlank(user.getPlatformInfo())) {
|
||||||
|
return JSON.toJSONString(JSON.parseMap(user.getPlatformInfo()).get(workspaceId));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtil.error(e);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public Map getFrontendMetaDataConfig(PluginWithBLOBs plugin, String configName) {
|
public Map getFrontendMetaDataConfig(PluginWithBLOBs plugin, String configName) {
|
||||||
Map metaData = JSON.parseMap(plugin.getFormScript());
|
Map metaData = JSON.parseMap(plugin.getFormScript());
|
||||||
Map config = (Map) metaData.get(configName);
|
Map config = (Map) metaData.get(configName);
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package io.metersphere.service;
|
package io.metersphere.service;
|
||||||
|
|
||||||
|
import io.metersphere.base.domain.User;
|
||||||
|
import io.metersphere.base.mapper.UserMapper;
|
||||||
import io.metersphere.commons.constants.IssuesManagePlatform;
|
import io.metersphere.commons.constants.IssuesManagePlatform;
|
||||||
import io.metersphere.commons.exception.MSException;
|
import io.metersphere.commons.exception.MSException;
|
||||||
import io.metersphere.commons.utils.JSON;
|
import io.metersphere.commons.utils.JSON;
|
||||||
|
import io.metersphere.commons.utils.LogUtil;
|
||||||
import io.metersphere.i18n.Translator;
|
import io.metersphere.i18n.Translator;
|
||||||
import io.metersphere.platform.api.Platform;
|
import io.metersphere.platform.api.Platform;
|
||||||
import io.metersphere.platform.api.PluginMetaInfo;
|
import io.metersphere.platform.api.PluginMetaInfo;
|
||||||
|
@ -40,6 +43,8 @@ public class PlatformPluginService {
|
||||||
private BaseIntegrationService baseIntegrationService;
|
private BaseIntegrationService baseIntegrationService;
|
||||||
@Resource
|
@Resource
|
||||||
private BaseProjectService baseProjectService;
|
private BaseProjectService baseProjectService;
|
||||||
|
@Resource
|
||||||
|
private UserMapper userMapper;
|
||||||
|
|
||||||
public static final String PLUGIN_DOWNLOAD_URL = "https://github.com/metersphere/metersphere-platform-plugin";
|
public static final String PLUGIN_DOWNLOAD_URL = "https://github.com/metersphere/metersphere-platform-plugin";
|
||||||
|
|
||||||
|
@ -96,6 +101,7 @@ public class PlatformPluginService {
|
||||||
PlatformRequest pluginRequest = new PlatformRequest();
|
PlatformRequest pluginRequest = new PlatformRequest();
|
||||||
pluginRequest.setWorkspaceId(workspaceId);
|
pluginRequest.setWorkspaceId(workspaceId);
|
||||||
pluginRequest.setIntegrationConfig(serviceIntegration.getConfiguration());
|
pluginRequest.setIntegrationConfig(serviceIntegration.getConfiguration());
|
||||||
|
pluginRequest.setUserPlatformInfo(getUserPlatformInfo(workspaceId));
|
||||||
Platform platform = getPluginManager().getPlatformByKey(platformKey, pluginRequest);
|
Platform platform = getPluginManager().getPlatformByKey(platformKey, pluginRequest);
|
||||||
if (platform == null) {
|
if (platform == null) {
|
||||||
MSException.throwException(Translator.get("platform_plugin_not_exit") + PLUGIN_DOWNLOAD_URL);
|
MSException.throwException(Translator.get("platform_plugin_not_exit") + PLUGIN_DOWNLOAD_URL);
|
||||||
|
@ -103,6 +109,22 @@ public class PlatformPluginService {
|
||||||
return platform;
|
return platform;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String getUserPlatformInfo(String workspaceId) {
|
||||||
|
try {
|
||||||
|
String userId = SessionUtils.getUserId();
|
||||||
|
if (StringUtils.isBlank(workspaceId) || StringUtils.isBlank(userId)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
User user = userMapper.selectByPrimaryKey(userId);
|
||||||
|
if (StringUtils.isNotBlank(user.getPlatformInfo())) {
|
||||||
|
return JSON.toJSONString(JSON.parseMap(user.getPlatformInfo()).get(workspaceId));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LogUtil.error(e);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public Platform getPlatform(String platformKey) {
|
public Platform getPlatform(String platformKey) {
|
||||||
return this.getPlatform(platformKey, null);
|
return this.getPlatform(platformKey, null);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue