mirror of https://gitee.com/stylefeng/roses
动态数据源,代码结构优化
parent
831525b71f
commit
297823d1db
|
@ -17,6 +17,13 @@
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
|
<!--校验模块的api-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>cn.stylefeng.roses</groupId>
|
||||||
|
<artifactId>validator-api</artifactId>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package cn.stylefeng.roses.kernel.dsctn.api.exception;
|
package cn.stylefeng.roses.kernel.dsctn.api.exception;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.api.constants.DatasourceContainerConstants;
|
import cn.stylefeng.roses.kernel.dsctn.api.constants.DatasourceContainerConstants;
|
||||||
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum;
|
import cn.stylefeng.roses.kernel.rule.abstracts.AbstractExceptionEnum;
|
||||||
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
|
@ -12,12 +13,12 @@ import cn.stylefeng.roses.kernel.rule.exception.base.ServiceException;
|
||||||
*/
|
*/
|
||||||
public class DatasourceContainerException extends ServiceException {
|
public class DatasourceContainerException extends ServiceException {
|
||||||
|
|
||||||
|
public DatasourceContainerException(AbstractExceptionEnum exception, Object... params) {
|
||||||
|
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params));
|
||||||
|
}
|
||||||
|
|
||||||
public DatasourceContainerException(AbstractExceptionEnum exception) {
|
public DatasourceContainerException(AbstractExceptionEnum exception) {
|
||||||
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception);
|
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
public DatasourceContainerException(AbstractExceptionEnum exception, String userTip) {
|
|
||||||
super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception.getErrorCode(), userTip);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
package cn.stylefeng.roses.kernel.dsctn.modular.pojo;
|
package cn.stylefeng.roses.kernel.dsctn.api.pojo.request;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
import cn.stylefeng.roses.kernel.rule.pojo.request.BaseRequest;
|
||||||
import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue;
|
import cn.stylefeng.roses.kernel.validator.validators.unique.TableUniqueValue;
|
||||||
|
@ -16,7 +16,7 @@ import javax.validation.constraints.NotNull;
|
||||||
*/
|
*/
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
@Data
|
@Data
|
||||||
public class DatabaseInfoParam extends BaseRequest {
|
public class DatabaseInfoRequest extends BaseRequest {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
@ -32,14 +32,6 @@
|
||||||
<version>1.0.0</version>
|
<version>1.0.0</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!--参数校验模块-->
|
|
||||||
<!--用在控制器,参数校验-->
|
|
||||||
<dependency>
|
|
||||||
<groupId>cn.stylefeng.roses</groupId>
|
|
||||||
<artifactId>validator-api</artifactId>
|
|
||||||
<version>1.0.0</version>
|
|
||||||
</dependency>
|
|
||||||
|
|
||||||
<!--数据库sdk-->
|
<!--数据库sdk-->
|
||||||
<!--数据库dao框架-->
|
<!--数据库dao框架-->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -2,7 +2,7 @@ package cn.stylefeng.roses.kernel.dsctn.modular.controller;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
|
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.pojo.DatabaseInfoParam;
|
import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService;
|
import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService;
|
||||||
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
import cn.stylefeng.roses.kernel.resource.api.annotation.ApiResource;
|
||||||
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource;
|
||||||
|
@ -37,8 +37,8 @@ public class DatabaseInfoController {
|
||||||
* @date 2020/11/1 22:16
|
* @date 2020/11/1 22:16
|
||||||
*/
|
*/
|
||||||
@PostResource(name = "新增数据源", path = "/databaseInfo/add")
|
@PostResource(name = "新增数据源", path = "/databaseInfo/add")
|
||||||
public ResponseData add(@RequestBody @Validated(BaseRequest.add.class) DatabaseInfoParam databaseInfoParam) {
|
public ResponseData add(@RequestBody @Validated(BaseRequest.add.class) DatabaseInfoRequest databaseInfoRequest) {
|
||||||
databaseInfoService.add(databaseInfoParam);
|
databaseInfoService.add(databaseInfoRequest);
|
||||||
return new SuccessResponseData();
|
return new SuccessResponseData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,8 +49,8 @@ public class DatabaseInfoController {
|
||||||
* @date 2020/11/1 22:16
|
* @date 2020/11/1 22:16
|
||||||
*/
|
*/
|
||||||
@PostResource(name = "编辑数据源", path = "/databaseInfo/edit")
|
@PostResource(name = "编辑数据源", path = "/databaseInfo/edit")
|
||||||
public ResponseData edit(@RequestBody @Validated(DatabaseInfoParam.edit.class) DatabaseInfoParam databaseInfoParam) {
|
public ResponseData edit(@RequestBody @Validated(DatabaseInfoRequest.edit.class) DatabaseInfoRequest databaseInfoRequest) {
|
||||||
databaseInfoService.edit(databaseInfoParam);
|
databaseInfoService.edit(databaseInfoRequest);
|
||||||
return new SuccessResponseData();
|
return new SuccessResponseData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,8 +61,8 @@ public class DatabaseInfoController {
|
||||||
* @date 2020/11/1 22:18
|
* @date 2020/11/1 22:18
|
||||||
*/
|
*/
|
||||||
@PostResource(name = "删除数据源", path = "/databaseInfo/delete")
|
@PostResource(name = "删除数据源", path = "/databaseInfo/delete")
|
||||||
public ResponseData delete(@RequestBody @Validated(DatabaseInfoParam.delete.class) DatabaseInfoParam databaseInfoParam) {
|
public ResponseData del(@RequestBody @Validated(DatabaseInfoRequest.delete.class) DatabaseInfoRequest databaseInfoRequest) {
|
||||||
databaseInfoService.delete(databaseInfoParam);
|
databaseInfoService.del(databaseInfoRequest);
|
||||||
return new SuccessResponseData();
|
return new SuccessResponseData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,8 +73,8 @@ public class DatabaseInfoController {
|
||||||
* @date 2020/11/1 22:18
|
* @date 2020/11/1 22:18
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "查询数据源列表(带分页)", path = "/databaseInfo/page")
|
@GetResource(name = "查询数据源列表(带分页)", path = "/databaseInfo/page")
|
||||||
public ResponseData page(DatabaseInfoParam databaseInfoParam) {
|
public ResponseData findPage(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
PageResult<DatabaseInfo> pageResult = databaseInfoService.page(databaseInfoParam);
|
PageResult<DatabaseInfo> pageResult = databaseInfoService.findPage(databaseInfoRequest);
|
||||||
return new SuccessResponseData(pageResult);
|
return new SuccessResponseData(pageResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,8 +85,8 @@ public class DatabaseInfoController {
|
||||||
* @date 2021/1/23 20:29
|
* @date 2021/1/23 20:29
|
||||||
*/
|
*/
|
||||||
@GetResource(name = "查询数据源详情", path = "/databaseInfo/detail")
|
@GetResource(name = "查询数据源详情", path = "/databaseInfo/detail")
|
||||||
public ResponseData detail(@Validated(BaseRequest.detail.class) DatabaseInfoParam databaseInfoParam) {
|
public ResponseData detail(@Validated(BaseRequest.detail.class) DatabaseInfoRequest databaseInfoRequest) {
|
||||||
DatabaseInfo databaseInfo = databaseInfoService.detail(databaseInfoParam);
|
DatabaseInfo databaseInfo = databaseInfoService.detail(databaseInfoRequest);
|
||||||
return new SuccessResponseData(databaseInfo);
|
return new SuccessResponseData(databaseInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,11 @@ package cn.stylefeng.roses.kernel.dsctn.modular.service;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
import cn.stylefeng.roses.kernel.db.api.pojo.page.PageResult;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
|
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.pojo.DatabaseInfoParam;
|
import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 数据库信息表 服务类
|
* 数据库信息表 服务类
|
||||||
*
|
*
|
||||||
|
@ -16,47 +18,58 @@ public interface DatabaseInfoService extends IService<DatabaseInfo> {
|
||||||
/**
|
/**
|
||||||
* 新增数据库信息
|
* 新增数据库信息
|
||||||
*
|
*
|
||||||
* @param databaseInfoParam 新增参数
|
* @param databaseInfoRequest 新增参数
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2020/11/1 21:47
|
* @date 2020/11/1 21:47
|
||||||
*/
|
*/
|
||||||
void add(DatabaseInfoParam databaseInfoParam);
|
void add(DatabaseInfoRequest databaseInfoRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编辑数据库信息
|
* 编辑数据库信息
|
||||||
*
|
*
|
||||||
* @param databaseInfoParam 编辑参数
|
* @param databaseInfoRequest 编辑参数
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2020/11/1 21:47
|
* @date 2020/11/1 21:47
|
||||||
*/
|
*/
|
||||||
void edit(DatabaseInfoParam databaseInfoParam);
|
void edit(DatabaseInfoRequest databaseInfoRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除,删除会导致某些用该数据源的service操作失败
|
* 删除,删除会导致某些用该数据源的service操作失败
|
||||||
*
|
*
|
||||||
* @param databaseInfoParam 删除参数
|
* @param databaseInfoRequest 删除参数
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2020/11/1 21:47
|
* @date 2020/11/1 21:47
|
||||||
*/
|
*/
|
||||||
void delete(DatabaseInfoParam databaseInfoParam);
|
void del(DatabaseInfoRequest databaseInfoRequest);
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询数据库信息
|
|
||||||
*
|
|
||||||
* @param databaseInfoParam 查询参数
|
|
||||||
* @return 查询分页结果
|
|
||||||
* @author fengshuonan
|
|
||||||
* @date 2020/11/1 21:47
|
|
||||||
*/
|
|
||||||
PageResult<DatabaseInfo> page(DatabaseInfoParam databaseInfoParam);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询数据库信息详情
|
* 查询数据库信息详情
|
||||||
*
|
*
|
||||||
* @param databaseInfoParam 查询参数
|
* @param databaseInfoRequest 查询参数
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2021/1/23 20:30
|
* @date 2021/1/23 20:30
|
||||||
*/
|
*/
|
||||||
DatabaseInfo detail(DatabaseInfoParam databaseInfoParam);
|
DatabaseInfo detail(DatabaseInfoRequest databaseInfoRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询数据库信息
|
||||||
|
*
|
||||||
|
* @param databaseInfoRequest 查询参数
|
||||||
|
* @return 查询分页结果
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2020/11/1 21:47
|
||||||
|
*/
|
||||||
|
PageResult<DatabaseInfo> findPage(DatabaseInfoRequest databaseInfoRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @param databaseInfoRequest 参数
|
||||||
|
* @author liuhanqing
|
||||||
|
* @date 2021/2/2 21:21
|
||||||
|
*/
|
||||||
|
List<DatabaseInfo> findList(DatabaseInfoRequest databaseInfoRequest);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ import cn.stylefeng.roses.kernel.dsctn.context.DataSourceContext;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
|
import cn.stylefeng.roses.kernel.dsctn.modular.entity.DatabaseInfo;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.factory.DruidPropertiesFactory;
|
import cn.stylefeng.roses.kernel.dsctn.modular.factory.DruidPropertiesFactory;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.mapper.DatabaseInfoMapper;
|
import cn.stylefeng.roses.kernel.dsctn.modular.mapper.DatabaseInfoMapper;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.pojo.DatabaseInfoParam;
|
import cn.stylefeng.roses.kernel.dsctn.api.pojo.request.DatabaseInfoRequest;
|
||||||
import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService;
|
import cn.stylefeng.roses.kernel.dsctn.modular.service.DatabaseInfoService;
|
||||||
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum;
|
||||||
import com.alibaba.druid.pool.DruidDataSource;
|
import com.alibaba.druid.pool.DruidDataSource;
|
||||||
|
@ -45,13 +45,13 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void add(DatabaseInfoParam databaseInfoParam) {
|
public void add(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
|
|
||||||
// 判断数据库连接是否可用
|
// 判断数据库连接是否可用
|
||||||
validateConnection(databaseInfoParam);
|
validateConnection(databaseInfoRequest);
|
||||||
|
|
||||||
// 数据库中插入记录
|
// 数据库中插入记录
|
||||||
DatabaseInfo entity = parseEntity(databaseInfoParam);
|
DatabaseInfo entity = parseEntity(databaseInfoRequest);
|
||||||
this.save(entity);
|
this.save(entity);
|
||||||
|
|
||||||
// 往数据源容器文中添加数据源
|
// 往数据源容器文中添加数据源
|
||||||
|
@ -60,25 +60,23 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void edit(DatabaseInfoParam databaseInfoParam) {
|
public void edit(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
|
|
||||||
DatabaseInfo oldEntity = this.getById(databaseInfoParam.getDbId());
|
DatabaseInfo oldEntity = this.getById(databaseInfoRequest.getDbId());
|
||||||
if (oldEntity == null) {
|
if (oldEntity == null) {
|
||||||
String userTip = StrUtil.format(EDIT_DATASOURCE_ERROR.getUserTip(), databaseInfoParam.getDbId());
|
throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, databaseInfoRequest.getDbId());
|
||||||
throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, userTip);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 不能修改数据源的名称
|
// 不能修改数据源的名称
|
||||||
if (!databaseInfoParam.getDbName().equals(oldEntity.getDbName())) {
|
if (!databaseInfoRequest.getDbName().equals(oldEntity.getDbName())) {
|
||||||
String userTip = StrUtil.format(EDIT_DATASOURCE_NAME_ERROR.getUserTip(), oldEntity.getDbName());
|
throw new DatasourceContainerException(EDIT_DATASOURCE_NAME_ERROR, oldEntity.getDbName());
|
||||||
throw new DatasourceContainerException(EDIT_DATASOURCE_NAME_ERROR, userTip);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断数据库连接是否可用
|
// 判断数据库连接是否可用
|
||||||
validateConnection(databaseInfoParam);
|
validateConnection(databaseInfoRequest);
|
||||||
|
|
||||||
// 更新库中的记录
|
// 更新库中的记录
|
||||||
BeanUtil.copyProperties(databaseInfoParam, oldEntity);
|
BeanUtil.copyProperties(databaseInfoRequest, oldEntity);
|
||||||
this.updateById(oldEntity);
|
this.updateById(oldEntity);
|
||||||
|
|
||||||
// 往数据源容器文中添加数据源
|
// 往数据源容器文中添加数据源
|
||||||
|
@ -87,11 +85,11 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void delete(DatabaseInfoParam databaseInfoParam) {
|
public void del(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
|
|
||||||
DatabaseInfo databaseInfo = this.getById(databaseInfoParam.getDbId());
|
DatabaseInfo databaseInfo = this.getById(databaseInfoRequest.getDbId());
|
||||||
if (databaseInfo == null) {
|
if (databaseInfo == null) {
|
||||||
String userTip = StrUtil.format(DELETE_DATASOURCE_NOT_EXISTED_ERROR.getUserTip(), databaseInfoParam.getDbId());
|
String userTip = StrUtil.format(DELETE_DATASOURCE_NOT_EXISTED_ERROR.getUserTip(), databaseInfoRequest.getDbId());
|
||||||
throw new DatasourceContainerException(DELETE_DATASOURCE_NOT_EXISTED_ERROR, userTip);
|
throw new DatasourceContainerException(DELETE_DATASOURCE_NOT_EXISTED_ERROR, userTip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,7 +106,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
// 删除库中的数据源记录
|
// 删除库中的数据源记录
|
||||||
LambdaUpdateWrapper<DatabaseInfo> updateWrapper = new LambdaUpdateWrapper<>();
|
LambdaUpdateWrapper<DatabaseInfo> updateWrapper = new LambdaUpdateWrapper<>();
|
||||||
updateWrapper.set(DatabaseInfo::getDelFlag, YesOrNotEnum.Y.getCode());
|
updateWrapper.set(DatabaseInfo::getDelFlag, YesOrNotEnum.Y.getCode());
|
||||||
updateWrapper.eq(DatabaseInfo::getDbId, databaseInfoParam.getDbId());
|
updateWrapper.eq(DatabaseInfo::getDbId, databaseInfoRequest.getDbId());
|
||||||
this.update(updateWrapper);
|
this.update(updateWrapper);
|
||||||
|
|
||||||
// 删除容器中的数据源记录
|
// 删除容器中的数据源记录
|
||||||
|
@ -116,16 +114,8 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<DatabaseInfo> page(DatabaseInfoParam databaseInfoParam) {
|
public PageResult<DatabaseInfo> findPage(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
LambdaQueryWrapper<DatabaseInfo> queryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<DatabaseInfo> queryWrapper = createWrapper(databaseInfoRequest);
|
||||||
|
|
||||||
// 根据名称模糊查询
|
|
||||||
if (ObjectUtil.isNotNull(databaseInfoParam) && ObjectUtil.isNotEmpty(databaseInfoParam.getDbName())) {
|
|
||||||
queryWrapper.like(DatabaseInfo::getDbName, databaseInfoParam.getDbName());
|
|
||||||
}
|
|
||||||
|
|
||||||
// 查询没被删除的
|
|
||||||
queryWrapper.eq(DatabaseInfo::getDelFlag, YesOrNotEnum.N);
|
|
||||||
|
|
||||||
// 查询分页结果
|
// 查询分页结果
|
||||||
Page<DatabaseInfo> result = this.page(PageFactory.defaultPage(), queryWrapper);
|
Page<DatabaseInfo> result = this.page(PageFactory.defaultPage(), queryWrapper);
|
||||||
|
@ -139,13 +129,20 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
return PageResultFactory.createPageResult(result);
|
return PageResultFactory.createPageResult(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public DatabaseInfo detail(DatabaseInfoParam databaseInfoParam) {
|
|
||||||
|
|
||||||
DatabaseInfo oldEntity = this.getById(databaseInfoParam.getDbId());
|
@Override
|
||||||
|
public List<DatabaseInfo> findList(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
|
LambdaQueryWrapper<DatabaseInfo> wrapper = createWrapper(databaseInfoRequest);
|
||||||
|
return this.list(wrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DatabaseInfo detail(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
|
|
||||||
|
DatabaseInfo oldEntity = this.getById(databaseInfoRequest.getDbId());
|
||||||
if (oldEntity == null) {
|
if (oldEntity == null) {
|
||||||
String userTip = StrUtil.format(EDIT_DATASOURCE_ERROR.getUserTip(), databaseInfoParam.getDbId());
|
throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, databaseInfoRequest.getDbId());
|
||||||
throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, userTip);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
oldEntity.setPassword("***");
|
oldEntity.setPassword("***");
|
||||||
|
@ -158,7 +155,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2020/11/1 21:50
|
* @date 2020/11/1 21:50
|
||||||
*/
|
*/
|
||||||
private void validateConnection(DatabaseInfoParam param) {
|
private void validateConnection(DatabaseInfoRequest param) {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
try {
|
try {
|
||||||
Class.forName(param.getJdbcDriver());
|
Class.forName(param.getJdbcDriver());
|
||||||
|
@ -183,7 +180,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
* @author fengshuonan
|
* @author fengshuonan
|
||||||
* @date 2020/11/1 21:50
|
* @date 2020/11/1 21:50
|
||||||
*/
|
*/
|
||||||
private DatabaseInfo parseEntity(DatabaseInfoParam param) {
|
private DatabaseInfo parseEntity(DatabaseInfoRequest param) {
|
||||||
DatabaseInfo entity = new DatabaseInfo();
|
DatabaseInfo entity = new DatabaseInfo();
|
||||||
BeanUtil.copyProperties(param, entity);
|
BeanUtil.copyProperties(param, entity);
|
||||||
return entity;
|
return entity;
|
||||||
|
@ -225,4 +222,27 @@ public class DatabaseInfoServiceImpl extends ServiceImpl<DatabaseInfoMapper, Dat
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建wrapper
|
||||||
|
*
|
||||||
|
* @author liuhanqing
|
||||||
|
* @date 2021/1/8 14:16
|
||||||
|
*/
|
||||||
|
private LambdaQueryWrapper<DatabaseInfo> createWrapper(DatabaseInfoRequest databaseInfoRequest) {
|
||||||
|
LambdaQueryWrapper<DatabaseInfo> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|
||||||
|
// 根据名称模糊查询
|
||||||
|
String dbName = databaseInfoRequest.getDbName();
|
||||||
|
|
||||||
|
// 拼接sql 条件
|
||||||
|
queryWrapper.like(ObjectUtil.isNotEmpty(dbName), DatabaseInfo::getDbName, dbName);
|
||||||
|
|
||||||
|
// 查询没被删除的
|
||||||
|
queryWrapper.eq(DatabaseInfo::getDelFlag, YesOrNotEnum.N);
|
||||||
|
|
||||||
|
|
||||||
|
return queryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue