From 297823d1dbdd1963effed64a1f61b0ecd3651119 Mon Sep 17 00:00:00 2001 From: liuhanqing <447067298@qq.com> Date: Tue, 2 Feb 2021 22:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A8=E6=80=81=E6=95=B0=E6=8D=AE=E6=BA=90?= =?UTF-8?q?=EF=BC=8C=E4=BB=A3=E7=A0=81=E7=BB=93=E6=9E=84=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ds-container-api/pom.xml | 7 ++ .../DatasourceContainerException.java | 9 +- .../pojo/request/DatabaseInfoRequest.java} | 4 +- .../ds-container-business/pom.xml | 8 -- .../controller/DatabaseInfoController.java | 22 ++--- .../modular/service/DatabaseInfoService.java | 49 +++++++---- .../service/impl/DatabaseInfoServiceImpl.java | 88 ++++++++++++------- 7 files changed, 110 insertions(+), 77 deletions(-) rename kernel-d-ds-container/{ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/pojo/DatabaseInfoParam.java => ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java} (93%) diff --git a/kernel-d-ds-container/ds-container-api/pom.xml b/kernel-d-ds-container/ds-container-api/pom.xml index e57fb2623..87bbb30b2 100644 --- a/kernel-d-ds-container/ds-container-api/pom.xml +++ b/kernel-d-ds-container/ds-container-api/pom.xml @@ -17,6 +17,13 @@ + + + cn.stylefeng.roses + validator-api + 1.0.0 + + diff --git a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/exception/DatasourceContainerException.java b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/exception/DatasourceContainerException.java index bdcc92749..45ddf2509 100644 --- a/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/exception/DatasourceContainerException.java +++ b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/exception/DatasourceContainerException.java @@ -1,5 +1,6 @@ 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.rule.abstracts.AbstractExceptionEnum; 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 DatasourceContainerException(AbstractExceptionEnum exception, Object... params) { + super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception.getErrorCode(), StrUtil.format(exception.getUserTip(), params)); + } + public DatasourceContainerException(AbstractExceptionEnum exception) { super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception); } - public DatasourceContainerException(AbstractExceptionEnum exception, String userTip) { - super(DatasourceContainerConstants.DS_CTN_MODULE_NAME, exception.getErrorCode(), userTip); - } - } diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/pojo/DatabaseInfoParam.java b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java similarity index 93% rename from kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/pojo/DatabaseInfoParam.java rename to kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java index e554b288f..4e08fa096 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/pojo/DatabaseInfoParam.java +++ b/kernel-d-ds-container/ds-container-api/src/main/java/cn/stylefeng/roses/kernel/dsctn/api/pojo/request/DatabaseInfoRequest.java @@ -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.validator.validators.unique.TableUniqueValue; @@ -16,7 +16,7 @@ import javax.validation.constraints.NotNull; */ @EqualsAndHashCode(callSuper = true) @Data -public class DatabaseInfoParam extends BaseRequest { +public class DatabaseInfoRequest extends BaseRequest { private static final long serialVersionUID = 1L; diff --git a/kernel-d-ds-container/ds-container-business/pom.xml b/kernel-d-ds-container/ds-container-business/pom.xml index a716ab72a..d6b2a1677 100644 --- a/kernel-d-ds-container/ds-container-business/pom.xml +++ b/kernel-d-ds-container/ds-container-business/pom.xml @@ -32,14 +32,6 @@ 1.0.0 - - - - cn.stylefeng.roses - validator-api - 1.0.0 - - diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/controller/DatabaseInfoController.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/controller/DatabaseInfoController.java index a4d9a465a..efc547fb3 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/controller/DatabaseInfoController.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/controller/DatabaseInfoController.java @@ -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.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.resource.api.annotation.ApiResource; import cn.stylefeng.roses.kernel.resource.api.annotation.GetResource; @@ -37,8 +37,8 @@ public class DatabaseInfoController { * @date 2020/11/1 22:16 */ @PostResource(name = "新增数据源", path = "/databaseInfo/add") - public ResponseData add(@RequestBody @Validated(BaseRequest.add.class) DatabaseInfoParam databaseInfoParam) { - databaseInfoService.add(databaseInfoParam); + public ResponseData add(@RequestBody @Validated(BaseRequest.add.class) DatabaseInfoRequest databaseInfoRequest) { + databaseInfoService.add(databaseInfoRequest); return new SuccessResponseData(); } @@ -49,8 +49,8 @@ public class DatabaseInfoController { * @date 2020/11/1 22:16 */ @PostResource(name = "编辑数据源", path = "/databaseInfo/edit") - public ResponseData edit(@RequestBody @Validated(DatabaseInfoParam.edit.class) DatabaseInfoParam databaseInfoParam) { - databaseInfoService.edit(databaseInfoParam); + public ResponseData edit(@RequestBody @Validated(DatabaseInfoRequest.edit.class) DatabaseInfoRequest databaseInfoRequest) { + databaseInfoService.edit(databaseInfoRequest); return new SuccessResponseData(); } @@ -61,8 +61,8 @@ public class DatabaseInfoController { * @date 2020/11/1 22:18 */ @PostResource(name = "删除数据源", path = "/databaseInfo/delete") - public ResponseData delete(@RequestBody @Validated(DatabaseInfoParam.delete.class) DatabaseInfoParam databaseInfoParam) { - databaseInfoService.delete(databaseInfoParam); + public ResponseData del(@RequestBody @Validated(DatabaseInfoRequest.delete.class) DatabaseInfoRequest databaseInfoRequest) { + databaseInfoService.del(databaseInfoRequest); return new SuccessResponseData(); } @@ -73,8 +73,8 @@ public class DatabaseInfoController { * @date 2020/11/1 22:18 */ @GetResource(name = "查询数据源列表(带分页)", path = "/databaseInfo/page") - public ResponseData page(DatabaseInfoParam databaseInfoParam) { - PageResult pageResult = databaseInfoService.page(databaseInfoParam); + public ResponseData findPage(DatabaseInfoRequest databaseInfoRequest) { + PageResult pageResult = databaseInfoService.findPage(databaseInfoRequest); return new SuccessResponseData(pageResult); } @@ -85,8 +85,8 @@ public class DatabaseInfoController { * @date 2021/1/23 20:29 */ @GetResource(name = "查询数据源详情", path = "/databaseInfo/detail") - public ResponseData detail(@Validated(BaseRequest.detail.class) DatabaseInfoParam databaseInfoParam) { - DatabaseInfo databaseInfo = databaseInfoService.detail(databaseInfoParam); + public ResponseData detail(@Validated(BaseRequest.detail.class) DatabaseInfoRequest databaseInfoRequest) { + DatabaseInfo databaseInfo = databaseInfoService.detail(databaseInfoRequest); return new SuccessResponseData(databaseInfo); } diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java index 2a48e0ad7..c75c961b2 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/DatabaseInfoService.java @@ -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.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 java.util.List; + /** * 数据库信息表 服务类 * @@ -16,47 +18,58 @@ public interface DatabaseInfoService extends IService { /** * 新增数据库信息 * - * @param databaseInfoParam 新增参数 + * @param databaseInfoRequest 新增参数 * @author fengshuonan * @date 2020/11/1 21:47 */ - void add(DatabaseInfoParam databaseInfoParam); + void add(DatabaseInfoRequest databaseInfoRequest); /** * 编辑数据库信息 * - * @param databaseInfoParam 编辑参数 + * @param databaseInfoRequest 编辑参数 * @author fengshuonan * @date 2020/11/1 21:47 */ - void edit(DatabaseInfoParam databaseInfoParam); + void edit(DatabaseInfoRequest databaseInfoRequest); /** * 删除,删除会导致某些用该数据源的service操作失败 * - * @param databaseInfoParam 删除参数 + * @param databaseInfoRequest 删除参数 * @author fengshuonan * @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 page(DatabaseInfoParam databaseInfoParam); /** * 查询数据库信息详情 * - * @param databaseInfoParam 查询参数 + * @param databaseInfoRequest 查询参数 * @author fengshuonan * @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 findPage(DatabaseInfoRequest databaseInfoRequest); + + /** + * 列表查询 + * + * @param databaseInfoRequest 参数 + * @author liuhanqing + * @date 2021/2/2 21:21 + */ + List findList(DatabaseInfoRequest databaseInfoRequest); + } diff --git a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java index b570b9bd7..80e7ab2b7 100644 --- a/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java +++ b/kernel-d-ds-container/ds-container-business/src/main/java/cn/stylefeng/roses/kernel/dsctn/modular/service/impl/DatabaseInfoServiceImpl.java @@ -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.factory.DruidPropertiesFactory; 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.rule.enums.YesOrNotEnum; import com.alibaba.druid.pool.DruidDataSource; @@ -45,13 +45,13 @@ public class DatabaseInfoServiceImpl extends ServiceImpl updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(DatabaseInfo::getDelFlag, YesOrNotEnum.Y.getCode()); - updateWrapper.eq(DatabaseInfo::getDbId, databaseInfoParam.getDbId()); + updateWrapper.eq(DatabaseInfo::getDbId, databaseInfoRequest.getDbId()); this.update(updateWrapper); // 删除容器中的数据源记录 @@ -116,16 +114,8 @@ public class DatabaseInfoServiceImpl extends ServiceImpl page(DatabaseInfoParam databaseInfoParam) { - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - - // 根据名称模糊查询 - if (ObjectUtil.isNotNull(databaseInfoParam) && ObjectUtil.isNotEmpty(databaseInfoParam.getDbName())) { - queryWrapper.like(DatabaseInfo::getDbName, databaseInfoParam.getDbName()); - } - - // 查询没被删除的 - queryWrapper.eq(DatabaseInfo::getDelFlag, YesOrNotEnum.N); + public PageResult findPage(DatabaseInfoRequest databaseInfoRequest) { + LambdaQueryWrapper queryWrapper = createWrapper(databaseInfoRequest); // 查询分页结果 Page result = this.page(PageFactory.defaultPage(), queryWrapper); @@ -139,13 +129,20 @@ public class DatabaseInfoServiceImpl extends ServiceImpl findList(DatabaseInfoRequest databaseInfoRequest) { + LambdaQueryWrapper wrapper = createWrapper(databaseInfoRequest); + return this.list(wrapper); + } + + + @Override + public DatabaseInfo detail(DatabaseInfoRequest databaseInfoRequest) { + + DatabaseInfo oldEntity = this.getById(databaseInfoRequest.getDbId()); if (oldEntity == null) { - String userTip = StrUtil.format(EDIT_DATASOURCE_ERROR.getUserTip(), databaseInfoParam.getDbId()); - throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, userTip); + throw new DatasourceContainerException(EDIT_DATASOURCE_ERROR, databaseInfoRequest.getDbId()); } oldEntity.setPassword("***"); @@ -158,7 +155,7 @@ public class DatabaseInfoServiceImpl extends ServiceImpl createWrapper(DatabaseInfoRequest databaseInfoRequest) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + + // 根据名称模糊查询 + String dbName = databaseInfoRequest.getDbName(); + + // 拼接sql 条件 + queryWrapper.like(ObjectUtil.isNotEmpty(dbName), DatabaseInfo::getDbName, dbName); + + // 查询没被删除的 + queryWrapper.eq(DatabaseInfo::getDelFlag, YesOrNotEnum.N); + + + return queryWrapper; + } + }