refactor(系统设置): 新增站点信息初始化接口
This commit is contained in:
parent
8a10eeb3f5
commit
407039162c
|
@ -50,7 +50,7 @@ public interface ParamConstants {
|
||||||
FROM("smtp.from"),
|
FROM("smtp.from"),
|
||||||
PASSWORD("smtp.password"),
|
PASSWORD("smtp.password"),
|
||||||
SSL("smtp.ssl"),
|
SSL("smtp.ssl"),
|
||||||
TLS("smtp.tls"),
|
TSL("smtp.tsl"),
|
||||||
RECIPIENTS("smtp.recipient");
|
RECIPIENTS("smtp.recipient");
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
package io.metersphere.sdk.mapper;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
public interface BaseSystemParameterMapper {
|
||||||
|
|
||||||
|
void saveBaseUrl(@Param("baseUrl") String baseUrl);
|
||||||
|
}
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="io.metersphere.sdk.mapper.BaseSystemParameterMapper">
|
||||||
|
|
||||||
|
<update id="saveBaseUrl">
|
||||||
|
UPDATE system_parameter SET param_value = #{baseUrl}
|
||||||
|
WHERE param_key = 'base.url' AND (param_value LIKE 'http://127%' OR param_value = '' OR param_value IS NULL)
|
||||||
|
</update>
|
||||||
|
</mapper>
|
|
@ -29,8 +29,8 @@ public class MailNoticeSender extends AbstractNoticeSender {
|
||||||
javaMailSender.setProtocol("smtps");
|
javaMailSender.setProtocol("smtps");
|
||||||
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
|
||||||
}
|
}
|
||||||
if (BooleanUtils.toBoolean(paramMap.get(ParamConstants.MAIL.TLS.getValue()))) {
|
if (BooleanUtils.toBoolean(paramMap.get(ParamConstants.MAIL.TSL.getValue()))) {
|
||||||
String result = BooleanUtils.toString(BooleanUtils.toBoolean(paramMap.get(ParamConstants.MAIL.TLS.getValue())), "true", "false");
|
String result = BooleanUtils.toString(BooleanUtils.toBoolean(paramMap.get(ParamConstants.MAIL.TSL.getValue())), "true", "false");
|
||||||
props.put("mail.smtp.starttls.enable", result);
|
props.put("mail.smtp.starttls.enable", result);
|
||||||
props.put("mail.smtp.starttls.required", result);
|
props.put("mail.smtp.starttls.required", result);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import io.metersphere.sdk.dto.LogDTO;
|
||||||
import io.metersphere.sdk.exception.MSException;
|
import io.metersphere.sdk.exception.MSException;
|
||||||
import io.metersphere.sdk.log.constants.OperationLogModule;
|
import io.metersphere.sdk.log.constants.OperationLogModule;
|
||||||
import io.metersphere.sdk.log.constants.OperationLogType;
|
import io.metersphere.sdk.log.constants.OperationLogType;
|
||||||
|
import io.metersphere.sdk.mapper.BaseSystemParameterMapper;
|
||||||
import io.metersphere.sdk.notice.sender.impl.MailNoticeSender;
|
import io.metersphere.sdk.notice.sender.impl.MailNoticeSender;
|
||||||
import io.metersphere.sdk.util.EncryptUtils;
|
import io.metersphere.sdk.util.EncryptUtils;
|
||||||
import io.metersphere.sdk.util.JSON;
|
import io.metersphere.sdk.util.JSON;
|
||||||
|
@ -40,6 +41,9 @@ public class SystemParameterService {
|
||||||
@Resource
|
@Resource
|
||||||
MailNoticeSender mailNoticeSender;
|
MailNoticeSender mailNoticeSender;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
BaseSystemParameterMapper baseSystemParameterMapper;
|
||||||
|
|
||||||
public void saveBaseInfo(List<SystemParameter> parameters) {
|
public void saveBaseInfo(List<SystemParameter> parameters) {
|
||||||
SystemParameterExample example = new SystemParameterExample();
|
SystemParameterExample example = new SystemParameterExample();
|
||||||
parameters.forEach(param -> {
|
parameters.forEach(param -> {
|
||||||
|
@ -122,7 +126,7 @@ public class SystemParameterService {
|
||||||
mailInfo.setPassword(password);
|
mailInfo.setPassword(password);
|
||||||
} else if (StringUtils.equals(param.getParamKey(), ParamConstants.MAIL.SSL.getValue())) {
|
} else if (StringUtils.equals(param.getParamKey(), ParamConstants.MAIL.SSL.getValue())) {
|
||||||
mailInfo.setSsl(param.getParamValue());
|
mailInfo.setSsl(param.getParamValue());
|
||||||
} else if (StringUtils.equals(param.getParamKey(), ParamConstants.MAIL.TLS.getValue())) {
|
} else if (StringUtils.equals(param.getParamKey(), ParamConstants.MAIL.TSL.getValue())) {
|
||||||
mailInfo.setTsl(param.getParamValue());
|
mailInfo.setTsl(param.getParamValue());
|
||||||
} else if (StringUtils.equals(param.getParamKey(), ParamConstants.MAIL.RECIPIENTS.getValue())) {
|
} else if (StringUtils.equals(param.getParamKey(), ParamConstants.MAIL.RECIPIENTS.getValue())) {
|
||||||
mailInfo.setRecipient(param.getParamValue());
|
mailInfo.setRecipient(param.getParamValue());
|
||||||
|
@ -261,4 +265,8 @@ public class SystemParameterService {
|
||||||
});
|
});
|
||||||
return originalValue;
|
return originalValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveBaseUrl(String baseUrl) {
|
||||||
|
baseSystemParameterMapper.saveBaseUrl(baseUrl);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ import io.metersphere.sdk.log.vo.OperationLogRequest;
|
||||||
import io.metersphere.sdk.log.vo.OperationLogResponse;
|
import io.metersphere.sdk.log.vo.OperationLogResponse;
|
||||||
import io.metersphere.sdk.util.PageUtils;
|
import io.metersphere.sdk.util.PageUtils;
|
||||||
import io.metersphere.sdk.util.Pager;
|
import io.metersphere.sdk.util.Pager;
|
||||||
import io.metersphere.system.dto.OrganizationProjectOptionsDto;
|
import io.metersphere.system.dto.OrganizationProjectOptionsDTO;
|
||||||
import io.metersphere.system.dto.response.OrganizationProjectOptionsResponse;
|
import io.metersphere.system.dto.response.OrganizationProjectOptionsResponse;
|
||||||
import io.metersphere.system.service.OrganizationService;
|
import io.metersphere.system.service.OrganizationService;
|
||||||
import io.metersphere.system.service.SystemProjectService;
|
import io.metersphere.system.service.SystemProjectService;
|
||||||
|
@ -46,9 +46,9 @@ public class OperationLogController {
|
||||||
public OrganizationProjectOptionsResponse getOptions() {
|
public OrganizationProjectOptionsResponse getOptions() {
|
||||||
|
|
||||||
//获取全部组织
|
//获取全部组织
|
||||||
List<OrganizationProjectOptionsDto> organizationList = organizationService.getOrganizationOptions();
|
List<OrganizationProjectOptionsDTO> organizationList = organizationService.getOrganizationOptions();
|
||||||
//获取全部项目
|
//获取全部项目
|
||||||
List<OrganizationProjectOptionsDto> projectList = systemProjectService.getProjectOptions();
|
List<OrganizationProjectOptionsDTO> projectList = systemProjectService.getProjectOptions();
|
||||||
|
|
||||||
OrganizationProjectOptionsResponse optionsResponse = new OrganizationProjectOptionsResponse();
|
OrganizationProjectOptionsResponse optionsResponse = new OrganizationProjectOptionsResponse();
|
||||||
optionsResponse.setOrganizationList(organizationList);
|
optionsResponse.setOrganizationList(organizationList);
|
||||||
|
|
|
@ -68,4 +68,10 @@ public class SystemParameterController {
|
||||||
systemParameterService.testEmailConnection(hashMap);
|
systemParameterService.testEmailConnection(hashMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/save/base-url")
|
||||||
|
public void saveBaseurl(@RequestParam("baseUrl") String baseUrl) {
|
||||||
|
systemParameterService.saveBaseUrl(baseUrl);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ package io.metersphere.system.dto;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class OrganizationProjectOptionsDto {
|
public class OrganizationProjectOptionsDTO {
|
||||||
String id;
|
String id;
|
||||||
String name;
|
String name;
|
||||||
}
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
package io.metersphere.system.dto.response;
|
package io.metersphere.system.dto.response;
|
||||||
|
|
||||||
import io.metersphere.system.dto.OrganizationProjectOptionsDto;
|
import io.metersphere.system.dto.OrganizationProjectOptionsDTO;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -8,6 +8,6 @@ import java.util.List;
|
||||||
@Data
|
@Data
|
||||||
public class OrganizationProjectOptionsResponse {
|
public class OrganizationProjectOptionsResponse {
|
||||||
|
|
||||||
List<OrganizationProjectOptionsDto> organizationList;
|
List<OrganizationProjectOptionsDTO> organizationList;
|
||||||
List<OrganizationProjectOptionsDto> projectList;
|
List<OrganizationProjectOptionsDTO> projectList;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@ package io.metersphere.system.mapper;
|
||||||
import io.metersphere.system.domain.User;
|
import io.metersphere.system.domain.User;
|
||||||
import io.metersphere.system.dto.OrgUserExtend;
|
import io.metersphere.system.dto.OrgUserExtend;
|
||||||
import io.metersphere.system.dto.OrganizationDTO;
|
import io.metersphere.system.dto.OrganizationDTO;
|
||||||
import io.metersphere.system.dto.OrganizationProjectOptionsDto;
|
import io.metersphere.system.dto.OrganizationProjectOptionsDTO;
|
||||||
import io.metersphere.system.dto.UserExtend;
|
import io.metersphere.system.dto.UserExtend;
|
||||||
import io.metersphere.system.request.OrganizationDeleteRequest;
|
import io.metersphere.system.request.OrganizationDeleteRequest;
|
||||||
import io.metersphere.system.request.OrganizationRequest;
|
import io.metersphere.system.request.OrganizationRequest;
|
||||||
|
@ -74,5 +74,5 @@ public interface ExtOrganizationMapper {
|
||||||
* 获取组织列表(下拉框)
|
* 获取组织列表(下拉框)
|
||||||
* @return 组织列表数据
|
* @return 组织列表数据
|
||||||
*/
|
*/
|
||||||
List<OrganizationProjectOptionsDto> selectOrganizationOptions();
|
List<OrganizationProjectOptionsDTO> selectOrganizationOptions();
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
where urr.role_id = 'org_admin'and urr.source_id = #{orgId}
|
where urr.role_id = 'org_admin'and urr.source_id = #{orgId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectOrganizationOptions" resultType="io.metersphere.system.dto.OrganizationProjectOptionsDto">
|
<select id="selectOrganizationOptions" resultType="io.metersphere.system.dto.OrganizationProjectOptionsDTO">
|
||||||
select id, name from organization order by create_time desc
|
select id, name from organization order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ package io.metersphere.system.mapper;
|
||||||
|
|
||||||
import io.metersphere.sdk.dto.ProjectDTO;
|
import io.metersphere.sdk.dto.ProjectDTO;
|
||||||
import io.metersphere.system.domain.User;
|
import io.metersphere.system.domain.User;
|
||||||
import io.metersphere.system.dto.OrganizationProjectOptionsDto;
|
import io.metersphere.system.dto.OrganizationProjectOptionsDTO;
|
||||||
import io.metersphere.system.dto.UserExtend;
|
import io.metersphere.system.dto.UserExtend;
|
||||||
import io.metersphere.system.request.ProjectMemberRequest;
|
import io.metersphere.system.request.ProjectMemberRequest;
|
||||||
import io.metersphere.system.request.ProjectRequest;
|
import io.metersphere.system.request.ProjectRequest;
|
||||||
|
@ -18,5 +18,5 @@ public interface ExtSystemProjectMapper {
|
||||||
|
|
||||||
List<User> getProjectAdminList(String projectId);
|
List<User> getProjectAdminList(String projectId);
|
||||||
|
|
||||||
List<OrganizationProjectOptionsDto> selectProjectOptions();
|
List<OrganizationProjectOptionsDTO> selectProjectOptions();
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectProjectOptions" resultType="io.metersphere.system.dto.OrganizationProjectOptionsDto">
|
<select id="selectProjectOptions" resultType="io.metersphere.system.dto.OrganizationProjectOptionsDTO">
|
||||||
select id, name from project order by create_time desc
|
select id, name from project order by create_time desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ import io.metersphere.sdk.util.Translator;
|
||||||
import io.metersphere.system.domain.*;
|
import io.metersphere.system.domain.*;
|
||||||
import io.metersphere.system.dto.OrgUserExtend;
|
import io.metersphere.system.dto.OrgUserExtend;
|
||||||
import io.metersphere.system.dto.OrganizationDTO;
|
import io.metersphere.system.dto.OrganizationDTO;
|
||||||
import io.metersphere.system.dto.OrganizationProjectOptionsDto;
|
import io.metersphere.system.dto.OrganizationProjectOptionsDTO;
|
||||||
import io.metersphere.system.dto.UserExtend;
|
import io.metersphere.system.dto.UserExtend;
|
||||||
import io.metersphere.system.mapper.*;
|
import io.metersphere.system.mapper.*;
|
||||||
import io.metersphere.system.request.*;
|
import io.metersphere.system.request.*;
|
||||||
|
@ -207,7 +207,7 @@ public class OrganizationService {
|
||||||
return organizationDTOS;
|
return organizationDTOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<OrganizationProjectOptionsDto> getOrganizationOptions() {
|
public List<OrganizationProjectOptionsDTO> getOrganizationOptions() {
|
||||||
return extOrganizationMapper.selectOrganizationOptions();
|
return extOrganizationMapper.selectOrganizationOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ import io.metersphere.sdk.util.Translator;
|
||||||
import io.metersphere.system.domain.User;
|
import io.metersphere.system.domain.User;
|
||||||
import io.metersphere.system.domain.UserRoleRelation;
|
import io.metersphere.system.domain.UserRoleRelation;
|
||||||
import io.metersphere.system.domain.UserRoleRelationExample;
|
import io.metersphere.system.domain.UserRoleRelationExample;
|
||||||
import io.metersphere.system.dto.OrganizationProjectOptionsDto;
|
import io.metersphere.system.dto.OrganizationProjectOptionsDTO;
|
||||||
import io.metersphere.system.dto.UserExtend;
|
import io.metersphere.system.dto.UserExtend;
|
||||||
import io.metersphere.system.mapper.ExtSystemProjectMapper;
|
import io.metersphere.system.mapper.ExtSystemProjectMapper;
|
||||||
import io.metersphere.system.mapper.UserMapper;
|
import io.metersphere.system.mapper.UserMapper;
|
||||||
|
@ -302,7 +302,7 @@ public class SystemProjectService {
|
||||||
userRoleRelationMapper.deleteByExample(userGroupExample);
|
userRoleRelationMapper.deleteByExample(userGroupExample);
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<OrganizationProjectOptionsDto> getProjectOptions() {
|
public List<OrganizationProjectOptionsDTO> getProjectOptions() {
|
||||||
return extSystemProjectMapper.selectProjectOptions();
|
return extSystemProjectMapper.selectProjectOptions();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -41,11 +41,21 @@ public class SystemParameterControllerTests extends BaseTest {
|
||||||
|
|
||||||
public static final String EMAIL_INFO_TEST_CONNECT_URL = "/system/parameter/test/email";
|
public static final String EMAIL_INFO_TEST_CONNECT_URL = "/system/parameter/test/email";
|
||||||
|
|
||||||
|
public static final String SAVE_BASE_URL = "/system/parameter/save/base-url";
|
||||||
|
public static final String BASE_URL = "http://www.baidu.com";
|
||||||
|
|
||||||
private static final ResultMatcher ERROR_REQUEST_MATCHER = status().is5xxServerError();
|
private static final ResultMatcher ERROR_REQUEST_MATCHER = status().is5xxServerError();
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@Order(1)
|
@Order(1)
|
||||||
|
public void testSaveBaseUrl() throws Exception {
|
||||||
|
this.requestGet(SAVE_BASE_URL + "?baseUrl=" + BASE_URL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(2)
|
||||||
public void testSaveBaseInfo() throws Exception {
|
public void testSaveBaseInfo() throws Exception {
|
||||||
|
|
||||||
List<SystemParameter> systemParameters = new ArrayList<>() {{
|
List<SystemParameter> systemParameters = new ArrayList<>() {{
|
||||||
|
|
Loading…
Reference in New Issue