feat(系统设置): 系统参数补充文件上传大小限制
This commit is contained in:
parent
2836631b29
commit
f44307ff31
|
@ -10,7 +10,8 @@ public interface ParamConstants {
|
||||||
BASE("base"),
|
BASE("base"),
|
||||||
LDAP("ldap"),
|
LDAP("ldap"),
|
||||||
REGISTRY("registry"),
|
REGISTRY("registry"),
|
||||||
CLEAN_CONFIG("cleanConfig.operation");
|
CLEAN_CONFIG("cleanConfig.operation"),
|
||||||
|
UPLOAD_CONFIG("upload");
|
||||||
|
|
||||||
private String value;
|
private String value;
|
||||||
|
|
||||||
|
@ -97,4 +98,18 @@ public interface ParamConstants {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum UploadConfig implements ParamConstants {
|
||||||
|
UPLOAD_FILE_SIZE("upload.file.size");
|
||||||
|
|
||||||
|
private String value;
|
||||||
|
|
||||||
|
private UploadConfig(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,6 +25,7 @@ user_id_already_exists=用户id已存在
|
||||||
password_modification_failed=旧密码输入错误,请重新输入
|
password_modification_failed=旧密码输入错误,请重新输入
|
||||||
cannot_delete_current_user=无法删除当前登录用户
|
cannot_delete_current_user=无法删除当前登录用户
|
||||||
connection_failed=连接失败
|
connection_failed=连接失败
|
||||||
|
upload_config_save_param_error=文件限制参数错误
|
||||||
connection_timeout=连接超时
|
connection_timeout=连接超时
|
||||||
user_already_exists=该用户已存在于当前成员列表中
|
user_already_exists=该用户已存在于当前成员列表中
|
||||||
cannot_remove_current=无法移除当前登录用户
|
cannot_remove_current=无法移除当前登录用户
|
||||||
|
|
|
@ -7,6 +7,7 @@ number=Number
|
||||||
row=row
|
row=row
|
||||||
error=error
|
error=error
|
||||||
connection_failed=Connection failed
|
connection_failed=Connection failed
|
||||||
|
upload_config_save_param_error=File limit parameter error
|
||||||
connection_timeout=Connection timeout
|
connection_timeout=Connection timeout
|
||||||
delete_fail=Delete fail
|
delete_fail=Delete fail
|
||||||
start_engine_fail=Start fail
|
start_engine_fail=Start fail
|
||||||
|
|
|
@ -25,6 +25,7 @@ user_id_already_exists=用户id已存在
|
||||||
password_modification_failed=旧密码输入错误,请重新输入
|
password_modification_failed=旧密码输入错误,请重新输入
|
||||||
cannot_delete_current_user=无法删除当前登录用户
|
cannot_delete_current_user=无法删除当前登录用户
|
||||||
connection_failed=连接失败
|
connection_failed=连接失败
|
||||||
|
upload_config_save_param_error=文件限制参数错误
|
||||||
connection_timeout=连接超时
|
connection_timeout=连接超时
|
||||||
user_already_exists=该用户已存在于当前成员列表中
|
user_already_exists=该用户已存在于当前成员列表中
|
||||||
cannot_remove_current=无法移除当前登录用户
|
cannot_remove_current=无法移除当前登录用户
|
||||||
|
|
|
@ -25,6 +25,7 @@ user_id_already_exists=用戶id已存在
|
||||||
password_modification_failed=舊密碼輸入錯誤,請重新輸入
|
password_modification_failed=舊密碼輸入錯誤,請重新輸入
|
||||||
cannot_delete_current_user=無法刪除當前登錄用戶
|
cannot_delete_current_user=無法刪除當前登錄用戶
|
||||||
connection_failed=連接失敗
|
connection_failed=連接失敗
|
||||||
|
upload_config_save_param_error=文件限制參數錯誤
|
||||||
connection_timeout=連接超時
|
connection_timeout=連接超時
|
||||||
user_already_exists=該用戶已存在於當前成員列表中
|
user_already_exists=該用戶已存在於當前成員列表中
|
||||||
cannot_remove_current=無法移除當前登錄用戶
|
cannot_remove_current=無法移除當前登錄用戶
|
||||||
|
|
|
@ -100,4 +100,12 @@ public class SystemParameterController {
|
||||||
public String getApiConcurrentConfig() {
|
public String getApiConcurrentConfig() {
|
||||||
return systemParameterService.getApiConcurrentConfig();
|
return systemParameterService.getApiConcurrentConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/edit/upload-config")
|
||||||
|
@Operation(summary = "系统设置-系统-系统参数-基本设置-文件限制-保存")
|
||||||
|
@RequiresPermissions(PermissionConstants.SYSTEM_PARAMETER_SETTING_BASE_READ_UPDATE)
|
||||||
|
@Log(type = OperationLogType.UPDATE, expression = "#msClass.updateLog(#systemParameter)", msClass = SystemParameterService.class)
|
||||||
|
public void editUploadConfigInfo(@Validated @RequestBody List<SystemParameter> systemParameter) {
|
||||||
|
systemParameterService.editUploadConfigInfo(systemParameter);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,13 @@
|
||||||
package io.metersphere.system.dto.sdk;
|
package io.metersphere.system.dto.sdk;
|
||||||
|
|
||||||
import lombok.Getter;
|
import lombok.Data;
|
||||||
import lombok.Setter;
|
|
||||||
|
|
||||||
@Getter
|
@Data
|
||||||
@Setter
|
|
||||||
public class BaseSystemConfigDTO {
|
public class BaseSystemConfigDTO {
|
||||||
private String url;
|
private String url;
|
||||||
private String concurrency;
|
private String concurrency;
|
||||||
private String prometheusHost;
|
private String prometheusHost;
|
||||||
private String runMode;
|
private String runMode;
|
||||||
private String docUrl;
|
private String docUrl;
|
||||||
|
private String fileMaxSize;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
package io.metersphere.system.dto.sdk;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class UploadInfoDTO {
|
||||||
|
|
||||||
|
private String fileSize;
|
||||||
|
}
|
|
@ -13,6 +13,7 @@ import io.metersphere.system.domain.SystemParameterExample;
|
||||||
import io.metersphere.system.dto.sdk.BaseCleanConfigDTO;
|
import io.metersphere.system.dto.sdk.BaseCleanConfigDTO;
|
||||||
import io.metersphere.system.dto.sdk.BaseSystemConfigDTO;
|
import io.metersphere.system.dto.sdk.BaseSystemConfigDTO;
|
||||||
import io.metersphere.system.dto.sdk.EMailInfoDto;
|
import io.metersphere.system.dto.sdk.EMailInfoDto;
|
||||||
|
import io.metersphere.system.dto.sdk.UploadInfoDTO;
|
||||||
import io.metersphere.system.log.constants.OperationLogModule;
|
import io.metersphere.system.log.constants.OperationLogModule;
|
||||||
import io.metersphere.system.log.constants.OperationLogType;
|
import io.metersphere.system.log.constants.OperationLogType;
|
||||||
import io.metersphere.system.log.dto.LogDTO;
|
import io.metersphere.system.log.dto.LogDTO;
|
||||||
|
@ -85,10 +86,13 @@ public class SystemParameterService {
|
||||||
|
|
||||||
public BaseSystemConfigDTO getBaseInfo() {
|
public BaseSystemConfigDTO getBaseInfo() {
|
||||||
List<SystemParameter> paramList = this.getParamList(ParamConstants.Classify.BASE.getValue());
|
List<SystemParameter> paramList = this.getParamList(ParamConstants.Classify.BASE.getValue());
|
||||||
return TransBaseToDto(paramList);
|
BaseSystemConfigDTO baseSystemConfig = transBaseToDto(paramList);
|
||||||
|
UploadInfoDTO uploadConfigInfo = getUploadConfigInfo();
|
||||||
|
baseSystemConfig.setFileMaxSize(uploadConfigInfo.getFileSize());
|
||||||
|
return baseSystemConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
private BaseSystemConfigDTO TransBaseToDto(List<SystemParameter> paramList) {
|
private BaseSystemConfigDTO transBaseToDto(List<SystemParameter> paramList) {
|
||||||
BaseSystemConfigDTO baseSystemConfigDTO = new BaseSystemConfigDTO();
|
BaseSystemConfigDTO baseSystemConfigDTO = new BaseSystemConfigDTO();
|
||||||
if (!CollectionUtils.isEmpty(paramList)) {
|
if (!CollectionUtils.isEmpty(paramList)) {
|
||||||
for (SystemParameter param : paramList) {
|
for (SystemParameter param : paramList) {
|
||||||
|
@ -161,6 +165,22 @@ public class SystemParameterService {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void editUploadConfigInfo(List<SystemParameter> parameters) {
|
||||||
|
SystemParameterExample example = new SystemParameterExample();
|
||||||
|
SystemParameter uploadConfig = parameters.getFirst();
|
||||||
|
if (StringUtils.equals(uploadConfig.getParamKey(), ParamConstants.UploadConfig.UPLOAD_FILE_SIZE.getValue())) {
|
||||||
|
example.createCriteria().andParamKeyEqualTo(uploadConfig.getParamKey());
|
||||||
|
if (systemParameterMapper.countByExample(example) > 0) {
|
||||||
|
systemParameterMapper.updateByPrimaryKey(uploadConfig);
|
||||||
|
} else {
|
||||||
|
systemParameterMapper.insert(uploadConfig);
|
||||||
|
}
|
||||||
|
example.clear();
|
||||||
|
} else {
|
||||||
|
throw new MSException(Translator.get("upload_config_save_param_error"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void testEmailConnection(HashMap<String, String> hashMap) {
|
public void testEmailConnection(HashMap<String, String> hashMap) {
|
||||||
JavaMailSenderImpl javaMailSender = null;
|
JavaMailSenderImpl javaMailSender = null;
|
||||||
try {
|
try {
|
||||||
|
@ -312,6 +332,11 @@ public class SystemParameterService {
|
||||||
return transCleanConfigToDto(paramList);
|
return transCleanConfigToDto(paramList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UploadInfoDTO getUploadConfigInfo() {
|
||||||
|
List<SystemParameter> paramList = this.getParamList(ParamConstants.Classify.UPLOAD_CONFIG.getValue());
|
||||||
|
return transUploadConfigToDto(paramList);
|
||||||
|
}
|
||||||
|
|
||||||
private BaseCleanConfigDTO transCleanConfigToDto(List<SystemParameter> paramList) {
|
private BaseCleanConfigDTO transCleanConfigToDto(List<SystemParameter> paramList) {
|
||||||
BaseCleanConfigDTO configDTO = new BaseCleanConfigDTO();
|
BaseCleanConfigDTO configDTO = new BaseCleanConfigDTO();
|
||||||
if (CollectionUtils.isNotEmpty(paramList)) {
|
if (CollectionUtils.isNotEmpty(paramList)) {
|
||||||
|
@ -326,6 +351,18 @@ public class SystemParameterService {
|
||||||
return configDTO;
|
return configDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private UploadInfoDTO transUploadConfigToDto(List<SystemParameter> paramList) {
|
||||||
|
UploadInfoDTO configDTO = new UploadInfoDTO();
|
||||||
|
if (CollectionUtils.isNotEmpty(paramList)) {
|
||||||
|
paramList.forEach(param -> {
|
||||||
|
if (StringUtils.equals(param.getParamKey(), ParamConstants.UploadConfig.UPLOAD_FILE_SIZE.getValue())) {
|
||||||
|
configDTO.setFileSize(param.getParamValue());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return configDTO;
|
||||||
|
}
|
||||||
|
|
||||||
public String getApiConcurrentConfig() {
|
public String getApiConcurrentConfig() {
|
||||||
List<SystemParameter> paramList = this.getParamList(ParamConstants.ApiConcurrentConfig.API_CONCURRENT_CONFIG.getValue());
|
List<SystemParameter> paramList = this.getParamList(ParamConstants.ApiConcurrentConfig.API_CONCURRENT_CONFIG.getValue());
|
||||||
if (CollectionUtils.isNotEmpty(paramList)) {
|
if (CollectionUtils.isNotEmpty(paramList)) {
|
||||||
|
|
|
@ -43,6 +43,7 @@ public class SystemParameterControllerTests extends BaseTest {
|
||||||
public static final String EMAIL_INFO_URL = "/system/parameter/get/email-info";
|
public static final String EMAIL_INFO_URL = "/system/parameter/get/email-info";
|
||||||
|
|
||||||
public static final String EMAIL_INFO_SAVE_URL = "/system/parameter/edit/email-info";
|
public static final String EMAIL_INFO_SAVE_URL = "/system/parameter/edit/email-info";
|
||||||
|
public static final String UPLOAD_CONFIG_SAVE_URL = "/system/parameter/edit/upload-config";
|
||||||
|
|
||||||
|
|
||||||
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";
|
||||||
|
@ -172,6 +173,40 @@ public class SystemParameterControllerTests extends BaseTest {
|
||||||
requestPostPermissionTest(PermissionConstants.SYSTEM_PARAMETER_SETTING_BASE_READ_UPDATE, BASE_INFO_SAVE_URL, systemParameters);
|
requestPostPermissionTest(PermissionConstants.SYSTEM_PARAMETER_SETTING_BASE_READ_UPDATE, BASE_INFO_SAVE_URL, systemParameters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(6)
|
||||||
|
public void testEditUploadConfigInfo() throws Exception {
|
||||||
|
List<SystemParameter> systemParameters = new ArrayList<>() {{
|
||||||
|
add(new SystemParameter() {{
|
||||||
|
setParamKey("upload.file.size");
|
||||||
|
setParamValue("10");
|
||||||
|
setType("text");
|
||||||
|
}});
|
||||||
|
}};
|
||||||
|
this.requestPost(UPLOAD_CONFIG_SAVE_URL, systemParameters);
|
||||||
|
requestPostPermissionTest(PermissionConstants.SYSTEM_PARAMETER_SETTING_BASE_READ_UPDATE, UPLOAD_CONFIG_SAVE_URL, systemParameters);
|
||||||
|
systemParameters = new ArrayList<>() {{
|
||||||
|
add(new SystemParameter() {{
|
||||||
|
setParamKey("upload.file.size");
|
||||||
|
setParamValue("20");
|
||||||
|
setType("text");
|
||||||
|
}});
|
||||||
|
}};
|
||||||
|
this.requestPost(UPLOAD_CONFIG_SAVE_URL, systemParameters);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
@Order(7)
|
||||||
|
public void testEditUploadConfigInfoError() throws Exception {
|
||||||
|
List<SystemParameter> systemParameters = new ArrayList<>() {{
|
||||||
|
add(new SystemParameter() {{
|
||||||
|
setParamKey("upload.file");
|
||||||
|
setParamValue("10");
|
||||||
|
setType("text");
|
||||||
|
}});
|
||||||
|
}};
|
||||||
|
this.requestPost(UPLOAD_CONFIG_SAVE_URL, systemParameters, status().is5xxServerError());
|
||||||
|
}
|
||||||
|
|
||||||
private MvcResult requestPost(String url, Object param) throws Exception {
|
private MvcResult requestPost(String url, Object param) throws Exception {
|
||||||
return mockMvc.perform(MockMvcRequestBuilders.post(url)
|
return mockMvc.perform(MockMvcRequestBuilders.post(url)
|
||||||
|
|
Loading…
Reference in New Issue