fix(系统设置): 组织插件开启关闭报错问题
This commit is contained in:
parent
9797570922
commit
a1c76847aa
|
@ -587,14 +587,13 @@ public class ProjectApplicationService {
|
|||
* @return 项目所属平台
|
||||
*/
|
||||
public String getPlatformName(String projectId) {
|
||||
ProjectApplicationExample example = new ProjectApplicationExample();
|
||||
example.createCriteria().andProjectIdEqualTo(projectId).andTypeEqualTo(ProjectApplicationType.BUG.BUG_SYNC.name() + "_PLATFORM_KEY");
|
||||
List<ProjectApplication> list = projectApplicationMapper.selectByExample(example);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
return getPluginName(list.get(0).getTypeValue());
|
||||
} else {
|
||||
ProjectApplication platformEnableConfig = getByType(projectId, ProjectApplicationType.BUG.BUG_SYNC.name() + "_" + ProjectApplicationType.BUG_SYNC_CONFIG.SYNC_ENABLE.name());
|
||||
ProjectApplication platformKeyConfig = getByType(projectId, ProjectApplicationType.BUG.BUG_SYNC.name() + "_PLATFORM_KEY");
|
||||
boolean isEnable = platformEnableConfig != null && Boolean.parseBoolean(platformEnableConfig.getTypeValue()) && platformKeyConfig != null;
|
||||
if (!isEnable) {
|
||||
return "Local";
|
||||
}
|
||||
return getPluginName(platformKeyConfig.getTypeValue());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -3,6 +3,8 @@ package io.metersphere.project.controller;
|
|||
import io.metersphere.project.controller.param.ProjectApplicationDefinition;
|
||||
import io.metersphere.project.controller.param.ProjectApplicationRequestDefinition;
|
||||
import io.metersphere.project.domain.ProjectApplication;
|
||||
import io.metersphere.project.domain.ProjectApplicationExample;
|
||||
import io.metersphere.project.mapper.ProjectApplicationMapper;
|
||||
import io.metersphere.project.request.ProjectApplicationRequest;
|
||||
import io.metersphere.project.service.ProjectApplicationService;
|
||||
import io.metersphere.sdk.constants.ProjectApplicationType;
|
||||
|
@ -15,7 +17,6 @@ import io.metersphere.system.domain.Plugin;
|
|||
import io.metersphere.system.domain.ServiceIntegration;
|
||||
import io.metersphere.system.dto.request.ServiceIntegrationUpdateRequest;
|
||||
import io.metersphere.system.mapper.ServiceIntegrationMapper;
|
||||
import io.metersphere.system.service.PluginService;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
@ -47,14 +48,13 @@ public class ProjectApplicationControllerTests extends BaseTest {
|
|||
|
||||
private static Plugin plugin;
|
||||
@Resource
|
||||
private PluginService pluginService;
|
||||
@Resource
|
||||
private BasePluginTestService basePluginTestService;
|
||||
|
||||
@Resource
|
||||
private ServiceIntegrationMapper serviceIntegrationMapper;
|
||||
@Resource
|
||||
private ProjectApplicationService projectApplicationService;
|
||||
@Resource
|
||||
private ProjectApplicationMapper projectApplicationMapper;
|
||||
|
||||
public static final String PROJECT_ID = "project_application_test_id";
|
||||
public static final String TIME_TYPE_VALUE = "3M";
|
||||
|
@ -685,12 +685,43 @@ public class ProjectApplicationControllerTests extends BaseTest {
|
|||
|
||||
|
||||
@Test
|
||||
@Order(40)
|
||||
public void testGetProjectDemandThirdPartConfig() throws Exception {
|
||||
@Order(41)
|
||||
public void testGetProjectDemandThirdPartConfig() {
|
||||
projectApplicationService.getProjectDemandThirdPartConfig(DEFAULT_PROJECT_ID);
|
||||
projectApplicationService.getProjectDemandThirdPartConfig(PROJECT_ID);
|
||||
projectApplicationService.getPlatformName(DEFAULT_PROJECT_ID);
|
||||
projectApplicationService.getPlatformName(PROJECT_ID);
|
||||
ProjectApplicationExample example = new ProjectApplicationExample();
|
||||
example.createCriteria().andProjectIdEqualTo("default-project-for-application").andTypeEqualTo("BUG_SYNC_SYNC_ENABLE");
|
||||
ProjectApplication record = new ProjectApplication();
|
||||
record.setProjectId("default-project-for-application-tmp");
|
||||
projectApplicationMapper.updateByExampleSelective(record, example);
|
||||
projectApplicationService.getPlatformName("default-project-for-application");
|
||||
projectApplicationService.getPlatformServiceIntegrationWithSyncOrDemand("default-project-for-application", true);
|
||||
ProjectApplicationExample example1 = new ProjectApplicationExample();
|
||||
example1.createCriteria().andProjectIdEqualTo("default-project-for-application-tmp").andTypeEqualTo("BUG_SYNC_SYNC_ENABLE");
|
||||
record.setProjectId("default-project-for-application");
|
||||
record.setTypeValue("false");
|
||||
projectApplicationMapper.updateByExampleSelective(record, example1);
|
||||
projectApplicationService.getPlatformName("default-project-for-application");
|
||||
projectApplicationService.getPlatformServiceIntegrationWithSyncOrDemand("default-project-for-application", true);
|
||||
ProjectApplicationExample example2 = new ProjectApplicationExample();
|
||||
example2.createCriteria().andProjectIdEqualTo("default-project-for-application").andTypeEqualTo("BUG_SYNC_SYNC_ENABLE");
|
||||
record.setTypeValue("true");
|
||||
projectApplicationMapper.updateByExampleSelective(record, example2);
|
||||
projectApplicationService.getPlatformName("default-project-for-application");
|
||||
projectApplicationService.getPlatformServiceIntegrationWithSyncOrDemand("default-project-for-application", true);
|
||||
ProjectApplicationExample example3 = new ProjectApplicationExample();
|
||||
example3.createCriteria().andProjectIdEqualTo("default-project-for-application").andTypeEqualTo("BUG_SYNC_PLATFORM_KEY");
|
||||
record.setProjectId("default-project-for-application-tmp");
|
||||
projectApplicationMapper.updateByExampleSelective(record, example3);
|
||||
projectApplicationService.getPlatformName("default-project-for-application");
|
||||
projectApplicationService.getPlatformServiceIntegrationWithSyncOrDemand("default-project-for-application", true);
|
||||
ProjectApplicationExample example4 = new ProjectApplicationExample();
|
||||
example4.createCriteria().andProjectIdEqualTo("default-project-for-application-tmp").andTypeEqualTo("BUG_SYNC_PLATFORM_KEY");
|
||||
record.setProjectId("default-project-for-application");
|
||||
record.setTypeValue("jira");
|
||||
projectApplicationMapper.updateByExampleSelective(record, example4);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -3,16 +3,16 @@ package io.metersphere.system.service;
|
|||
import io.metersphere.plugin.platform.spi.AbstractPlatformPlugin;
|
||||
import io.metersphere.plugin.platform.spi.Platform;
|
||||
import io.metersphere.sdk.exception.MSException;
|
||||
import io.metersphere.system.uid.IDGenerator;
|
||||
import io.metersphere.sdk.util.BeanUtils;
|
||||
import io.metersphere.sdk.util.JSON;
|
||||
import io.metersphere.system.utils.ServiceUtils;
|
||||
import io.metersphere.system.domain.Plugin;
|
||||
import io.metersphere.system.domain.ServiceIntegration;
|
||||
import io.metersphere.system.domain.ServiceIntegrationExample;
|
||||
import io.metersphere.system.dto.ServiceIntegrationDTO;
|
||||
import io.metersphere.system.mapper.ServiceIntegrationMapper;
|
||||
import io.metersphere.system.dto.request.ServiceIntegrationUpdateRequest;
|
||||
import io.metersphere.system.mapper.ServiceIntegrationMapper;
|
||||
import io.metersphere.system.uid.IDGenerator;
|
||||
import io.metersphere.system.utils.ServiceUtils;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
@ -92,8 +92,9 @@ public class ServiceIntegrationService {
|
|||
}
|
||||
|
||||
public ServiceIntegration update(ServiceIntegrationUpdateRequest request) {
|
||||
basePluginService.checkPluginEnableAndPermission(request.getPluginId(), request.getOrganizationId());
|
||||
checkResourceExist(request.getId());
|
||||
ServiceIntegration originServiceIntegration = serviceIntegrationMapper.selectByPrimaryKey(request.getId());
|
||||
basePluginService.checkPluginEnableAndPermission(originServiceIntegration.getPluginId(), originServiceIntegration.getOrganizationId());
|
||||
ServiceIntegration serviceIntegration = new ServiceIntegration();
|
||||
// 组织不能修改
|
||||
serviceIntegration.setOrganizationId(null);
|
||||
|
|
Loading…
Reference in New Issue