feat: 拆分为数据库地址
This commit is contained in:
@@ -6,11 +6,10 @@ import cn.celess.blog.enmu.ResponseEnum;
|
|||||||
import cn.celess.blog.entity.Config;
|
import cn.celess.blog.entity.Config;
|
||||||
import cn.celess.blog.entity.InstallParam;
|
import cn.celess.blog.entity.InstallParam;
|
||||||
import cn.celess.blog.entity.Response;
|
import cn.celess.blog.entity.Response;
|
||||||
import cn.celess.blog.entity.User;
|
|
||||||
import cn.celess.blog.exception.MyException;
|
import cn.celess.blog.exception.MyException;
|
||||||
import cn.celess.blog.mapper.ConfigMapper;
|
import cn.celess.blog.mapper.ConfigMapper;
|
||||||
import cn.celess.blog.mapper.UserMapper;
|
|
||||||
import cn.celess.blog.service.InstallService;
|
import cn.celess.blog.service.InstallService;
|
||||||
|
import cn.celess.blog.util.RegexUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
@@ -50,10 +49,23 @@ public class InstallController {
|
|||||||
@PostMapping("/install")
|
@PostMapping("/install")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public Response<Object> install(@Valid @RequestBody InstallParam installParam) {
|
public Response<Object> 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));
|
return Response.success(installService.install(installParam));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@GetMapping("/default_config")
|
||||||
|
@ResponseBody
|
||||||
|
public Response<String> defaultConfig() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@GetMapping("/install")
|
@GetMapping("/install")
|
||||||
public String install() {
|
public String install() {
|
||||||
Config configuration = configMapper.getConfiguration(ConfigKeyEnum.BLOG_INSTALLED.getKey());
|
Config configuration = configMapper.getConfiguration(ConfigKeyEnum.BLOG_INSTALLED.getKey());
|
||||||
|
|||||||
@@ -14,8 +14,11 @@ public class InstallParam {
|
|||||||
@NotBlank(message = "数据库类型不可为空")
|
@NotBlank(message = "数据库类型不可为空")
|
||||||
private String dbType;
|
private String dbType;
|
||||||
|
|
||||||
@NotBlank(message = "数据库链接不可为空")
|
@NotBlank(message = "数据库主机不可为空")
|
||||||
private String dbUrl;
|
private String dbHost;
|
||||||
|
|
||||||
|
@NotBlank(message = "数据库名称不可为空")
|
||||||
|
private String dbName;
|
||||||
|
|
||||||
@NotBlank(message = "数据库用户名不可为空")
|
@NotBlank(message = "数据库用户名不可为空")
|
||||||
private String dbUsername;
|
private String dbUsername;
|
||||||
|
|||||||
@@ -79,12 +79,17 @@ public class InstallServiceImpl implements InstallService {
|
|||||||
Config config = new Config(ConfigKeyEnum.DB_TYPE);
|
Config config = new Config(ConfigKeyEnum.DB_TYPE);
|
||||||
config.setValue(installParam.getDbType());
|
config.setValue(installParam.getDbType());
|
||||||
Properties properties = new Properties();
|
Properties properties = new Properties();
|
||||||
|
StringBuilder urlSb = new StringBuilder();
|
||||||
if ("h2".equals(installParam.getDbType())) {
|
if ("h2".equals(installParam.getDbType())) {
|
||||||
properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), H2_DRIVER_CLASS_NAME);
|
properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), H2_DRIVER_CLASS_NAME);
|
||||||
|
urlSb.append("jdbc:h2:");
|
||||||
} else {
|
} else {
|
||||||
properties.setProperty(ConfigKeyEnum.DB_DRIVER_CLASS_NAME.getKey(), MYSQL_DRIVER_CLASS_NAME);
|
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_USERNAME.getKey(), installParam.getDbUsername());
|
||||||
properties.setProperty(ConfigKeyEnum.DB_PASSWORD.getKey(), installParam.getDbPassword());
|
properties.setProperty(ConfigKeyEnum.DB_PASSWORD.getKey(), installParam.getDbPassword());
|
||||||
|
|
||||||
|
|||||||
@@ -29,12 +29,19 @@
|
|||||||
<option value="h2">H2数据库</option>
|
<option value="h2">H2数据库</option>
|
||||||
<option value="mysql">Mysql数据库</option>
|
<option value="mysql">Mysql数据库</option>
|
||||||
</select>
|
</select>
|
||||||
<input id="db-url" type="text" placeholder="请输入数据库的地址">
|
|
||||||
<span class="err-msg" id="err-tip-db-url">数据库的地址不可为空</span>
|
<input id="db-host" type="text" placeholder="请输入数据库的主机地址">
|
||||||
|
<span class="err-msg" id="err-tip-db-host">数据库的主机地址不可为空</span>
|
||||||
|
|
||||||
|
<input id="db-name" type="text" placeholder="请输入数据库的名称">
|
||||||
|
<span class="err-msg" id="err-tip-db-name">数据库的地址名称不可为空</span>
|
||||||
|
|
||||||
<input id="db-username" type="text" placeholder="请输入数据库用户名">
|
<input id="db-username" type="text" placeholder="请输入数据库用户名">
|
||||||
<span class="err-msg" id="err-tip-db-username">数据库用户名不可为空</span>
|
<span class="err-msg" id="err-tip-db-username">数据库用户名不可为空</span>
|
||||||
|
|
||||||
<input id="db-password" type="password" placeholder="请输入数据库密码">
|
<input id="db-password" type="password" placeholder="请输入数据库密码">
|
||||||
<span class="err-msg" id="err-tip-db-password">数据库密码不可为空</span>
|
<span class="err-msg" id="err-tip-db-password">数据库密码不可为空</span>
|
||||||
|
|
||||||
<button onclick="nextPage()" id="next-step">下一步</button>
|
<button onclick="nextPage()" id="next-step">下一步</button>
|
||||||
</div>
|
</div>
|
||||||
<div id="second-page" class="hidden">
|
<div id="second-page" class="hidden">
|
||||||
@@ -105,19 +112,22 @@
|
|||||||
requestData = {
|
requestData = {
|
||||||
dbPassword: $('#db-password').val(),
|
dbPassword: $('#db-password').val(),
|
||||||
dbType: $('#db-type').val(),
|
dbType: $('#db-type').val(),
|
||||||
dbUrl: $('#db-url').val(),
|
dbHost: $('#db-host').val(),
|
||||||
|
dbName: $('#db-name').val(),
|
||||||
dbUsername: $('#db-username').val(),
|
dbUsername: $('#db-username').val(),
|
||||||
email: '',
|
email: '',
|
||||||
password: '',
|
password: '',
|
||||||
}
|
}
|
||||||
$('#err-tip-db-type').removeClass("show-err-tip");
|
$('#err-tip-db-type').removeClass("show-err-tip");
|
||||||
$('#err-tip-db-url').removeClass("show-err-tip");
|
$('#err-tip-db-host').removeClass("show-err-tip");
|
||||||
|
$('#err-tip-db-name').removeClass("show-err-tip");
|
||||||
$('#err-tip-db-username').removeClass("show-err-tip");
|
$('#err-tip-db-username').removeClass("show-err-tip");
|
||||||
$('#err-tip-db-password').removeClass("show-err-tip");
|
$('#err-tip-db-password').removeClass("show-err-tip");
|
||||||
!requestData.dbPassword && checkInput($('#db-password'), $('#err-tip-db-password'))
|
|
||||||
!requestData.dbUsername && checkInput($('#db-username'), $('#err-tip-db-username'))
|
|
||||||
!requestData.dbUrl && checkInput($('#db-url'), $('#err-tip-db-url'))
|
|
||||||
!requestData.dbType && checkInput($('#db-type'), $('#err-tip-db-type'))
|
!requestData.dbType && checkInput($('#db-type'), $('#err-tip-db-type'))
|
||||||
|
!requestData.dbHost && checkInput($('#db-host'), $('#err-tip-db-host'))
|
||||||
|
!requestData.dbName && checkInput($('#db-name'), $('#err-tip-db-name'))
|
||||||
|
!requestData.dbUsername && checkInput($('#db-username'), $('#err-tip-db-username'))
|
||||||
|
!requestData.dbPassword && checkInput($('#db-password'), $('#err-tip-db-password'))
|
||||||
if (!requestData.dbType || !requestData.dbUrl || !requestData.dbUsername || !requestData.dbPassword) return
|
if (!requestData.dbType || !requestData.dbUrl || !requestData.dbUsername || !requestData.dbPassword) return
|
||||||
$('#first-page').addClass('hidden');
|
$('#first-page').addClass('hidden');
|
||||||
$('#first-page').removeClass('show');
|
$('#first-page').removeClass('show');
|
||||||
|
|||||||
Reference in New Issue
Block a user