From 77e6ff872d2e34f069d5ecc36ad5eab57715adad Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Tue, 3 Jun 2025 14:22:49 +0800
Subject: [PATCH 1/6] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20neatlogic=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=93=E5=BA=93=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1432467032998096]neatlogic数据仓库支持配置第三方数据库获取数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1432467032998096
---
.../api/datawarehouse/DeleteDataBaseApi.java | 60 +++++++++++++++
.../api/datawarehouse/GetDataBaseApi.java | 68 ++++++++++++++++
.../api/datawarehouse/SavaDataBaseApi.java | 76 ++++++++++++++++++
.../api/datawarehouse/SaveDataSourceApi.java | 4 +-
.../api/datawarehouse/SearchDataBaseApi.java | 77 +++++++++++++++++++
5 files changed, 284 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java
create mode 100644 src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java
create mode 100644 src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java
create mode 100644 src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java
new file mode 100644
index 00000000..af11c0f5
--- /dev/null
+++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2025 深圳极向量科技有限公司 All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package neatlogic.module.tenant.api.datawarehouse;
+
+import com.alibaba.fastjson.JSONObject;
+import neatlogic.framework.auth.core.AuthAction;
+import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
+import neatlogic.framework.common.constvalue.ApiParamType;
+import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.restful.annotation.*;
+import neatlogic.framework.restful.constvalue.OperationTypeEnum;
+import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+@AuthAction(action = DATA_WAREHOUSE_MODIFY.class)
+@OperationType(type = OperationTypeEnum.OPERATE)
+public class DeleteDataBaseApi extends PrivateApiComponentBase {
+
+ @Resource
+ private DataBaseMapper dataBaseMapper;
+
+ @Override
+ public String getName() {
+ return "nmtad.deletedatabaseapi.getname";
+ }
+
+ @Input({
+ @Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "common.id")
+ })
+ @Output({})
+ @Description(desc = "nmtad.deletedatabaseapi.getname")
+ @Override
+ public Object myDoService(JSONObject paramObj) throws Exception {
+ Long id = paramObj.getLong("id");
+ return dataBaseMapper.deleteDataBaseById(id);
+ }
+
+ @Override
+ public String getToken() {
+ return "database/delete";
+ }
+}
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java
new file mode 100644
index 00000000..0ac1671d
--- /dev/null
+++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2025 深圳极向量科技有限公司 All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package neatlogic.module.tenant.api.datawarehouse;
+
+import com.alibaba.fastjson.JSONObject;
+import neatlogic.framework.auth.core.AuthAction;
+import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
+import neatlogic.framework.common.constvalue.ApiParamType;
+import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dto.DatabaseVo;
+import neatlogic.framework.datawarehouse.exceptions.DatabaseNotFoundException;
+import neatlogic.framework.restful.annotation.*;
+import neatlogic.framework.restful.constvalue.OperationTypeEnum;
+import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+@Service
+@AuthAction(action = DATA_WAREHOUSE_MODIFY.class)
+@OperationType(type = OperationTypeEnum.OPERATE)
+public class GetDataBaseApi extends PrivateApiComponentBase {
+
+ @Resource
+ private DataBaseMapper dataBaseMapper;
+
+ @Override
+ public String getName() {
+ return "nmtad.getdatabaseapi.getname";
+ }
+
+ @Input({
+ @Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "common.id")
+ })
+ @Output({
+ @Param(explode = DatabaseVo.class, desc = "common.tbodylist")
+ })
+ @Description(desc = "nmtad.getdatabaseapi.getname")
+ @Override
+ public Object myDoService(JSONObject paramObj) throws Exception {
+ Long id = paramObj.getLong("id");
+ DatabaseVo databaseVo = dataBaseMapper.getDataBaseById(id);
+ if (databaseVo == null) {
+ throw new DatabaseNotFoundException(id);
+ }
+ return databaseVo;
+ }
+
+ @Override
+ public String getToken() {
+ return "database/get";
+ }
+}
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java
new file mode 100644
index 00000000..757e8828
--- /dev/null
+++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2025 深圳极向量科技有限公司 All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package neatlogic.module.tenant.api.datawarehouse;
+
+import com.alibaba.fastjson.JSONObject;
+import neatlogic.framework.auth.core.AuthAction;
+import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
+import neatlogic.framework.common.constvalue.ApiParamType;
+import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dto.DatabaseVo;
+import neatlogic.framework.restful.annotation.*;
+import neatlogic.framework.restful.constvalue.OperationTypeEnum;
+import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import neatlogic.framework.util.SnowflakeUtil;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+
+@Service
+@AuthAction(action = DATA_WAREHOUSE_MODIFY.class)
+@OperationType(type = OperationTypeEnum.OPERATE)
+@Transactional
+public class SavaDataBaseApi extends PrivateApiComponentBase {
+
+ @Resource
+ private DataBaseMapper dataBaseMapper;
+
+ @Override
+ public String getName() {
+ return "nmtad.savadatabaseapi.getname";
+ }
+
+ @Input({
+ @Param(name = "id", type = ApiParamType.LONG, desc = "common.id"),
+ @Param(name = "name", type = ApiParamType.STRING, isRequired = true, desc = "common.name"),
+ @Param(name = "type", type = ApiParamType.STRING, isRequired = true, desc = "common.type"),
+ @Param(name = "config", type = ApiParamType.JSONOBJECT, isRequired = true, desc = "common.config"),
+ })
+ @Output({
+ @Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "common.id")
+ })
+ @Description(desc = "nmtad.savadatabaseapi.getname")
+ @Override
+ public Object myDoService(JSONObject paramObj) throws Exception {
+ DatabaseVo dataBaseVo = paramObj.toJavaObject(DatabaseVo.class);
+ Long id = paramObj.getLong("id");
+ if (id == null) {
+ dataBaseVo.setId(SnowflakeUtil.uniqueLong());
+ }
+ dataBaseMapper.insertDataBase(dataBaseVo);
+ JSONObject resultObj = new JSONObject();
+ resultObj.put("id", dataBaseVo.getId());
+ return resultObj;
+ }
+
+ @Override
+ public String getToken() {
+ return "database/save";
+ }
+}
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java
index c982c946..07a4a234 100644
--- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java
@@ -75,7 +75,9 @@ public class SaveDataSourceApi extends PrivateApiComponentBase {
@Param(name = "expireCount", type = ApiParamType.INTEGER, desc = "有效期时间"),
@Param(name = "expireUnit", type = ApiParamType.ENUM, rule = "minute,hour,day", desc = "有效期单位"),
@Param(name = "expireUnit", type = ApiParamType.ENUM, rule = "minute,hour,day", desc = "有效期单位"),
- @Param(name = "dbType", type = ApiParamType.STRING, isRequired = true, desc = "数据库类型")})
+ @Param(name = "dbType", type = ApiParamType.STRING, isRequired = true, desc = "数据库类型"),
+ @Param(name = "databaseId", type = ApiParamType.LONG, desc = "数据源id")
+ })
@Description(desc = "保存数据仓库数据源接口")
@Override
public Object myDoService(JSONObject jsonObj) throws Exception {
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java
new file mode 100644
index 00000000..40941331
--- /dev/null
+++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2025 深圳极向量科技有限公司 All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package neatlogic.module.tenant.api.datawarehouse;
+
+import com.alibaba.fastjson.JSONObject;
+import neatlogic.framework.auth.core.AuthAction;
+import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
+import neatlogic.framework.common.constvalue.ApiParamType;
+import neatlogic.framework.common.dto.BasePageVo;
+import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dto.DatabaseVo;
+import neatlogic.framework.restful.annotation.*;
+import neatlogic.framework.restful.constvalue.OperationTypeEnum;
+import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import neatlogic.framework.util.TableResultUtil;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+@AuthAction(action = DATA_WAREHOUSE_MODIFY.class)
+@OperationType(type = OperationTypeEnum.OPERATE)
+public class SearchDataBaseApi extends PrivateApiComponentBase {
+
+ @Resource
+ private DataBaseMapper dataBaseMapper;
+
+ @Override
+ public String getName() {
+ return "nmtad.searchdatabaseapi.getname";
+ }
+
+ @Input({
+ @Param(name = "keyword", type = ApiParamType.STRING, desc = "common.keyword"),
+ @Param(name = "type", type = ApiParamType.STRING, desc = "common.type"),
+ @Param(name = "currentPage", type = ApiParamType.INTEGER, desc = "common.currentpage"),
+ @Param(name = "pageSize", type = ApiParamType.INTEGER, desc = "common.pagesize"),
+ })
+ @Output({
+ @Param(name = "tbodyList", explode = DatabaseVo[].class, desc = "common.tbodylist"),
+ @Param(explode = BasePageVo.class)
+ })
+ @Description(desc = "nmtad.searchdatabaseapi.getname")
+ @Override
+ public Object myDoService(JSONObject paramObj) throws Exception {
+ DatabaseVo searchVo = paramObj.toJavaObject(DatabaseVo.class);
+ List tbodyList = new ArrayList<>();
+ int rowNum = dataBaseMapper.getDataBaseCount(searchVo);
+ if (rowNum > 0) {
+ searchVo.setRowNum(rowNum);
+ tbodyList = dataBaseMapper.getDataBaseList(searchVo);
+ }
+ return TableResultUtil.getResult(tbodyList, searchVo);
+ }
+
+ @Override
+ public String getToken() {
+ return "database/search";
+ }
+}
--
Gitee
From c97c3f8c23330cc273f3b2d3008717d5bdad0781 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Tue, 3 Jun 2025 16:08:20 +0800
Subject: [PATCH 2/6] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20neatlogic=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=93=E5=BA=93=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1432467032998096]neatlogic数据仓库支持配置第三方数据库获取数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1432467032998096
---
.../module/tenant/api/datawarehouse/SaveDataSourceApi.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java
index 07a4a234..24a3bf08 100644
--- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/datawarehouse/SaveDataSourceApi.java
@@ -76,7 +76,7 @@ public class SaveDataSourceApi extends PrivateApiComponentBase {
@Param(name = "expireUnit", type = ApiParamType.ENUM, rule = "minute,hour,day", desc = "有效期单位"),
@Param(name = "expireUnit", type = ApiParamType.ENUM, rule = "minute,hour,day", desc = "有效期单位"),
@Param(name = "dbType", type = ApiParamType.STRING, isRequired = true, desc = "数据库类型"),
- @Param(name = "databaseId", type = ApiParamType.LONG, desc = "数据源id")
+ @Param(name = "databaseId", type = ApiParamType.LONG, desc = "数据库Id")
})
@Description(desc = "保存数据仓库数据源接口")
@Override
--
Gitee
From 7811c0c82f04fafc8eba29552c07b8e5a048bdb4 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Tue, 3 Jun 2025 16:10:39 +0800
Subject: [PATCH 3/6] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20neatlogic=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=93=E5=BA=93=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1432467032998096]neatlogic数据仓库支持配置第三方数据库获取数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1432467032998096
---
.../api/{datawarehouse => database}/DeleteDataBaseApi.java | 2 +-
.../tenant/api/{datawarehouse => database}/GetDataBaseApi.java | 2 +-
.../tenant/api/{datawarehouse => database}/SavaDataBaseApi.java | 2 +-
.../api/{datawarehouse => database}/SearchDataBaseApi.java | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
rename src/main/java/neatlogic/module/tenant/api/{datawarehouse => database}/DeleteDataBaseApi.java (97%)
rename src/main/java/neatlogic/module/tenant/api/{datawarehouse => database}/GetDataBaseApi.java (97%)
rename src/main/java/neatlogic/module/tenant/api/{datawarehouse => database}/SavaDataBaseApi.java (98%)
rename src/main/java/neatlogic/module/tenant/api/{datawarehouse => database}/SearchDataBaseApi.java (98%)
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java
similarity index 97%
rename from src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java
rename to src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java
index af11c0f5..9bf3fa2d 100644
--- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/DeleteDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package neatlogic.module.tenant.api.datawarehouse;
+package neatlogic.module.tenant.api.database;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
similarity index 97%
rename from src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java
rename to src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
index 0ac1671d..7afeed0a 100644
--- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/GetDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package neatlogic.module.tenant.api.datawarehouse;
+package neatlogic.module.tenant.api.database;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
similarity index 98%
rename from src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java
rename to src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
index 757e8828..d6a346ec 100644
--- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SavaDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package neatlogic.module.tenant.api.datawarehouse;
+package neatlogic.module.tenant.api.database;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
diff --git a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java
similarity index 98%
rename from src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java
rename to src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java
index 40941331..2962079b 100644
--- a/src/main/java/neatlogic/module/tenant/api/datawarehouse/SearchDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java
@@ -15,7 +15,7 @@
* along with this program. If not, see .
*/
-package neatlogic.module.tenant.api.datawarehouse;
+package neatlogic.module.tenant.api.database;
import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
--
Gitee
From 251191fa4990948bad3191b7f53312734c16b533 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Tue, 3 Jun 2025 16:36:04 +0800
Subject: [PATCH 4/6] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20neatlogic=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=93=E5=BA=93=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1432467032998096]neatlogic数据仓库支持配置第三方数据库获取数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1432467032998096
---
.../api/database/DeleteDataBaseApi.java | 6 +-
.../tenant/api/database/GetDataBaseApi.java | 6 +-
.../tenant/api/database/SavaDataBaseApi.java | 6 +-
.../api/database/SearchDataBaseApi.java | 8 +-
.../tenant/api/database/TestDataBaseApi.java | 73 +++++++++++++++++++
5 files changed, 86 insertions(+), 13 deletions(-)
create mode 100644 src/main/java/neatlogic/module/tenant/api/database/TestDataBaseApi.java
diff --git a/src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java
index 9bf3fa2d..d65e666e 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/DeleteDataBaseApi.java
@@ -21,7 +21,7 @@ import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
import neatlogic.framework.common.constvalue.ApiParamType;
-import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dao.mapper.DatabaseMapper;
import neatlogic.framework.restful.annotation.*;
import neatlogic.framework.restful.constvalue.OperationTypeEnum;
import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
@@ -35,7 +35,7 @@ import javax.annotation.Resource;
public class DeleteDataBaseApi extends PrivateApiComponentBase {
@Resource
- private DataBaseMapper dataBaseMapper;
+ private DatabaseMapper databaseMapper;
@Override
public String getName() {
@@ -50,7 +50,7 @@ public class DeleteDataBaseApi extends PrivateApiComponentBase {
@Override
public Object myDoService(JSONObject paramObj) throws Exception {
Long id = paramObj.getLong("id");
- return dataBaseMapper.deleteDataBaseById(id);
+ return databaseMapper.deleteDataBaseById(id);
}
@Override
diff --git a/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
index 7afeed0a..bac8dcf2 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
@@ -21,7 +21,7 @@ import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
import neatlogic.framework.common.constvalue.ApiParamType;
-import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dao.mapper.DatabaseMapper;
import neatlogic.framework.datawarehouse.dto.DatabaseVo;
import neatlogic.framework.datawarehouse.exceptions.DatabaseNotFoundException;
import neatlogic.framework.restful.annotation.*;
@@ -37,7 +37,7 @@ import javax.annotation.Resource;
public class GetDataBaseApi extends PrivateApiComponentBase {
@Resource
- private DataBaseMapper dataBaseMapper;
+ private DatabaseMapper databaseMapper;
@Override
public String getName() {
@@ -54,7 +54,7 @@ public class GetDataBaseApi extends PrivateApiComponentBase {
@Override
public Object myDoService(JSONObject paramObj) throws Exception {
Long id = paramObj.getLong("id");
- DatabaseVo databaseVo = dataBaseMapper.getDataBaseById(id);
+ DatabaseVo databaseVo = databaseMapper.getDataBaseById(id);
if (databaseVo == null) {
throw new DatabaseNotFoundException(id);
}
diff --git a/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
index d6a346ec..1cff065b 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
@@ -21,7 +21,7 @@ import com.alibaba.fastjson.JSONObject;
import neatlogic.framework.auth.core.AuthAction;
import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
import neatlogic.framework.common.constvalue.ApiParamType;
-import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dao.mapper.DatabaseMapper;
import neatlogic.framework.datawarehouse.dto.DatabaseVo;
import neatlogic.framework.restful.annotation.*;
import neatlogic.framework.restful.constvalue.OperationTypeEnum;
@@ -39,7 +39,7 @@ import javax.annotation.Resource;
public class SavaDataBaseApi extends PrivateApiComponentBase {
@Resource
- private DataBaseMapper dataBaseMapper;
+ private DatabaseMapper databaseMapper;
@Override
public String getName() {
@@ -63,7 +63,7 @@ public class SavaDataBaseApi extends PrivateApiComponentBase {
if (id == null) {
dataBaseVo.setId(SnowflakeUtil.uniqueLong());
}
- dataBaseMapper.insertDataBase(dataBaseVo);
+ databaseMapper.insertDataBase(dataBaseVo);
JSONObject resultObj = new JSONObject();
resultObj.put("id", dataBaseVo.getId());
return resultObj;
diff --git a/src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java
index 2962079b..958c97c4 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/SearchDataBaseApi.java
@@ -22,7 +22,7 @@ import neatlogic.framework.auth.core.AuthAction;
import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
import neatlogic.framework.common.constvalue.ApiParamType;
import neatlogic.framework.common.dto.BasePageVo;
-import neatlogic.framework.datawarehouse.dao.mapper.DataBaseMapper;
+import neatlogic.framework.datawarehouse.dao.mapper.DatabaseMapper;
import neatlogic.framework.datawarehouse.dto.DatabaseVo;
import neatlogic.framework.restful.annotation.*;
import neatlogic.framework.restful.constvalue.OperationTypeEnum;
@@ -40,7 +40,7 @@ import java.util.List;
public class SearchDataBaseApi extends PrivateApiComponentBase {
@Resource
- private DataBaseMapper dataBaseMapper;
+ private DatabaseMapper databaseMapper;
@Override
public String getName() {
@@ -62,10 +62,10 @@ public class SearchDataBaseApi extends PrivateApiComponentBase {
public Object myDoService(JSONObject paramObj) throws Exception {
DatabaseVo searchVo = paramObj.toJavaObject(DatabaseVo.class);
List tbodyList = new ArrayList<>();
- int rowNum = dataBaseMapper.getDataBaseCount(searchVo);
+ int rowNum = databaseMapper.getDataBaseCount(searchVo);
if (rowNum > 0) {
searchVo.setRowNum(rowNum);
- tbodyList = dataBaseMapper.getDataBaseList(searchVo);
+ tbodyList = databaseMapper.getDataBaseList(searchVo);
}
return TableResultUtil.getResult(tbodyList, searchVo);
}
diff --git a/src/main/java/neatlogic/module/tenant/api/database/TestDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/TestDataBaseApi.java
new file mode 100644
index 00000000..e254d47a
--- /dev/null
+++ b/src/main/java/neatlogic/module/tenant/api/database/TestDataBaseApi.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2025 深圳极向量科技有限公司 All Rights Reserved.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+package neatlogic.module.tenant.api.database;
+
+import com.alibaba.fastjson.JSONObject;
+import neatlogic.framework.auth.core.AuthAction;
+import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
+import neatlogic.framework.common.constvalue.ApiParamType;
+import neatlogic.framework.datawarehouse.dto.DatabaseVo;
+import neatlogic.framework.datawarehouse.service.DatabaseService;
+import neatlogic.framework.restful.annotation.*;
+import neatlogic.framework.restful.constvalue.OperationTypeEnum;
+import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.net.URLClassLoader;
+import java.sql.Connection;
+
+@Service
+@AuthAction(action = DATA_WAREHOUSE_MODIFY.class)
+@OperationType(type = OperationTypeEnum.OPERATE)
+public class TestDataBaseApi extends PrivateApiComponentBase {
+
+ @Resource
+ private DatabaseService databaseService;
+
+ @Override
+ public String getName() {
+ return "nmtad.testdatabaseapi.getname";
+ }
+
+ @Input({
+ @Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "common.id")
+ })
+ @Output({
+ @Param(explode = DatabaseVo.class, desc = "common.tbodylist")
+ })
+ @Description(desc = "nmtad.testdatabaseapi.getname")
+ @Override
+ public Object myDoService(JSONObject paramObj) throws Exception {
+ Long id = paramObj.getLong("id");
+ Connection conn = databaseService.getConnectionByDatabaseId(id);
+ if (conn != null) {
+ ClassLoader classLoader = conn.getClass().getClassLoader();
+ conn.close();
+ if (classLoader instanceof URLClassLoader) {
+ ((URLClassLoader) classLoader).close();
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getToken() {
+ return "database/test";
+ }
+}
--
Gitee
From 232cb877091fc8a735a671cd443f254bfab835ed Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Tue, 3 Jun 2025 18:28:58 +0800
Subject: [PATCH 5/6] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20neatlogic=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=93=E5=BA=93=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1432467032998096]neatlogic数据仓库支持配置第三方数据库获取数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1432467032998096
---
.../tenant/api/database/SavaDataBaseApi.java | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
index 1cff065b..a09f2ae6 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
@@ -23,8 +23,11 @@ import neatlogic.framework.auth.label.DATA_WAREHOUSE_MODIFY;
import neatlogic.framework.common.constvalue.ApiParamType;
import neatlogic.framework.datawarehouse.dao.mapper.DatabaseMapper;
import neatlogic.framework.datawarehouse.dto.DatabaseVo;
+import neatlogic.framework.datawarehouse.exceptions.DatabaseNameRepeatException;
+import neatlogic.framework.dto.FieldValidResultVo;
import neatlogic.framework.restful.annotation.*;
import neatlogic.framework.restful.constvalue.OperationTypeEnum;
+import neatlogic.framework.restful.core.IValid;
import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
import neatlogic.framework.util.SnowflakeUtil;
import org.springframework.stereotype.Service;
@@ -73,4 +76,15 @@ public class SavaDataBaseApi extends PrivateApiComponentBase {
public String getToken() {
return "database/save";
}
+
+ public IValid name() {
+ return paramObj -> {
+ DatabaseVo dataBaseVo = paramObj.toJavaObject(DatabaseVo.class);
+ int count = databaseMapper.checkDatabaseNameIsRepeat(dataBaseVo);
+ if (count > 0) {
+ return new FieldValidResultVo(new DatabaseNameRepeatException(dataBaseVo.getName()));
+ }
+ return new FieldValidResultVo();
+ };
+ }
}
--
Gitee
From fed0b82727320227ec820d96c21dd217e57a1e98 Mon Sep 17 00:00:00 2001
From: "1437892690@qq.com" <1437892690@qq.com>
Date: Wed, 4 Jun 2025 11:31:42 +0800
Subject: [PATCH 6/6] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20neatlogic=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=BB=93=E5=BA=93=E6=94=AF=E6=8C=81=E9=85=8D=E7=BD=AE?=
=?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=96=B9=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8E=B7?=
=?UTF-8?q?=E5=8F=96=E6=95=B0=E6=8D=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
关联 #[1432467032998096]neatlogic数据仓库支持配置第三方数据库获取数据 http://192.168.0.96:8090/demo/rdm.html#/story-detail/939050947543040/939050947543042/1432467032998096
---
.../tenant/api/database/GetDataBaseApi.java | 15 +++++++++++++++
.../tenant/api/database/SavaDataBaseApi.java | 1 +
2 files changed, 16 insertions(+)
diff --git a/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
index bac8dcf2..ee44bd47 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/GetDataBaseApi.java
@@ -24,12 +24,17 @@ import neatlogic.framework.common.constvalue.ApiParamType;
import neatlogic.framework.datawarehouse.dao.mapper.DatabaseMapper;
import neatlogic.framework.datawarehouse.dto.DatabaseVo;
import neatlogic.framework.datawarehouse.exceptions.DatabaseNotFoundException;
+import neatlogic.framework.file.dao.mapper.FileMapper;
+import neatlogic.framework.file.dto.FileVo;
import neatlogic.framework.restful.annotation.*;
import neatlogic.framework.restful.constvalue.OperationTypeEnum;
import neatlogic.framework.restful.core.privateapi.PrivateApiComponentBase;
+import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
@Service
@AuthAction(action = DATA_WAREHOUSE_MODIFY.class)
@@ -39,6 +44,9 @@ public class GetDataBaseApi extends PrivateApiComponentBase {
@Resource
private DatabaseMapper databaseMapper;
+ @Resource
+ private FileMapper fileMapper;
+
@Override
public String getName() {
return "nmtad.getdatabaseapi.getname";
@@ -58,6 +66,13 @@ public class GetDataBaseApi extends PrivateApiComponentBase {
if (databaseVo == null) {
throw new DatabaseNotFoundException(id);
}
+ List fileIdList = databaseVo.getFileIdList();
+ if (CollectionUtils.isNotEmpty(fileIdList)) {
+ List fileList = fileMapper.getFileListByIdList(fileIdList);
+ databaseVo.setFileList(fileList);
+ } else {
+ databaseVo.setFileList(new ArrayList<>());
+ }
return databaseVo;
}
diff --git a/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
index a09f2ae6..df9775e1 100644
--- a/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
+++ b/src/main/java/neatlogic/module/tenant/api/database/SavaDataBaseApi.java
@@ -54,6 +54,7 @@ public class SavaDataBaseApi extends PrivateApiComponentBase {
@Param(name = "name", type = ApiParamType.STRING, isRequired = true, desc = "common.name"),
@Param(name = "type", type = ApiParamType.STRING, isRequired = true, desc = "common.type"),
@Param(name = "config", type = ApiParamType.JSONOBJECT, isRequired = true, desc = "common.config"),
+ @Param(name = "fileIdList", type = ApiParamType.JSONARRAY, isRequired = true, desc = "common.fileidlist"),
})
@Output({
@Param(name = "id", type = ApiParamType.LONG, isRequired = true, desc = "common.id")
--
Gitee