diff --git a/src/main/java/cn/celess/blog/controller/InstallController.java b/src/main/java/cn/celess/blog/controller/InstallController.java index 17e0e4a..6f2b90c 100644 --- a/src/main/java/cn/celess/blog/controller/InstallController.java +++ b/src/main/java/cn/celess/blog/controller/InstallController.java @@ -6,11 +6,10 @@ import cn.celess.blog.enmu.ResponseEnum; import cn.celess.blog.entity.Config; import cn.celess.blog.entity.InstallParam; import cn.celess.blog.entity.Response; -import cn.celess.blog.entity.User; import cn.celess.blog.exception.MyException; import cn.celess.blog.mapper.ConfigMapper; -import cn.celess.blog.mapper.UserMapper; import cn.celess.blog.service.InstallService; +import cn.celess.blog.util.RegexUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -50,10 +49,23 @@ public class InstallController { @PostMapping("/install") @ResponseBody public Response install(@Valid @RequestBody InstallParam installParam) { + if (!RegexUtil.emailMatch(installParam.getEmail())) { + throw new MyException(ResponseEnum.PARAMETERS_EMAIL_ERROR); + } + if (!RegexUtil.pwdMatch(installParam.getPassword())) { + throw new MyException(ResponseEnum.PARAMETERS_PWD_ERROR); + } return Response.success(installService.install(installParam)); } + @GetMapping("/default_config") + @ResponseBody + public Response defaultConfig() { + return null; + } + + @GetMapping("/install") public String install() { Config configuration = configMapper.getConfiguration(ConfigKeyEnum.BLOG_INSTALLED.getKey()); diff --git a/src/main/java/cn/celess/blog/entity/InstallParam.java b/src/main/java/cn/celess/blog/entity/InstallParam.java index 8de65ec..6b5ac5c 100644 --- a/src/main/java/cn/celess/blog/entity/InstallParam.java +++ b/src/main/java/cn/celess/blog/entity/InstallParam.java @@ -14,8 +14,11 @@ public class InstallParam { @NotBlank(message = "数据库类型不可为空") private String dbType; - @NotBlank(message = "数据库链接不可为空") - private String dbUrl; + @NotBlank(message = "数据库主机不可为空") + private String dbHost; + + @NotBlank(message = "数据库名称不可为空") + private String dbName; @NotBlank(message = "数据库用户名不可为空") private String dbUsername; diff --git a/src/main/java/cn/celess/blog/service/serviceimpl/InstallServiceImpl.java b/src/main/java/cn/celess/blog/service/serviceimpl/InstallServiceImpl.java index 88e2b61..f1f2199 100644 --- a/src/main/java/cn/celess/blog/service/serviceimpl/InstallServiceImpl.java +++ b/src/main/java/cn/celess/blog/service/serviceimpl/InstallServiceImpl.java @@ -79,12 +79,17 @@ public class InstallServiceImpl implements InstallService { Config config = new Config(ConfigKeyEnum.DB_TYPE); config.setValue(installParam.getDbType()); Properties properties = new Properties(); + StringBuilder urlSb = new StringBuilder(); if ("h2".equals(installParam.getDbType())) { properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), H2_DRIVER_CLASS_NAME); + urlSb.append("jdbc:h2:"); } else { properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), MYSQL_DRIVER_CLASS_NAME); + urlSb.append("jdbc:mysql:"); } - properties.setProperty(ConfigKeyEnum.DB_URL.getKey(), installParam.getDbUrl()); + // TODO :: + urlSb.append(installParam.getDbHost()).append('/').append(installParam.getDbName()); + properties.setProperty(ConfigKeyEnum.DB_URL.getKey(), urlSb.toString()); properties.setProperty(ConfigKeyEnum.DB_USERNAME.getKey(), installParam.getDbUsername()); properties.setProperty(ConfigKeyEnum.DB_PASSWORD.getKey(), installParam.getDbPassword()); diff --git a/src/main/resources/public/install.html b/src/main/resources/public/install.html index 4666d48..9a4d579 100644 --- a/src/main/resources/public/install.html +++ b/src/main/resources/public/install.html @@ -29,12 +29,19 @@ - - 数据库的地址不可为空 + + + 数据库的主机地址不可为空 + + + 数据库的地址名称不可为空 + 数据库用户名不可为空 + 数据库密码不可为空 +