From 9d462cc876cd2191db8216a894e167f01b9215e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A6=BE=E5=87=A0=E6=B5=B7?= Date: Sun, 22 Nov 2020 23:03:37 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8B=86=E5=88=86=E4=B8=BA=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=BA=93=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../blog/controller/InstallController.java | 16 ++++++++++-- .../cn/celess/blog/entity/InstallParam.java | 7 +++-- .../serviceimpl/InstallServiceImpl.java | 7 ++++- src/main/resources/public/install.html | 26 +++++++++++++------ 4 files changed, 43 insertions(+), 13 deletions(-) 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 @@ - - 数据库的地址不可为空 + + + 数据库的主机地址不可为空 + + + 数据库的地址名称不可为空 + 数据库用户名不可为空 + 数据库密码不可为空 +