From 19aeea2ee37579081d93ad8e01c1e2f44af89b90 Mon Sep 17 00:00:00 2001
From: root <13910913995@163.com>
Date: Tue, 20 May 2025 23:04:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=86=E6=95=B0=E6=8D=AE?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8A=9F=E8=83=BD=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
core/core-backend/.env | 3 +
core/core-backend/pom.xml | 14 +
.../system/controller/RoleController.java | 2 +-
.../system/service/IUserService.java | 2 +-
.../system/service/impl/UserServiceImpl.java | 2 +-
.../dataset/manage/DatasetDataManage.java | 340 +++++++++++++++++-
.../dataset/server/DatasetDataServer.java | 49 +++
7 files changed, 408 insertions(+), 4 deletions(-)
create mode 100644 core/core-backend/.env
diff --git a/core/core-backend/.env b/core/core-backend/.env
new file mode 100644
index 0000000..bacc852
--- /dev/null
+++ b/core/core-backend/.env
@@ -0,0 +1,3 @@
+{
+ "JAVA_HOME": "C:\\Users\\13910\\.jdks\\corretto-21.0.5"
+}
\ No newline at end of file
diff --git a/core/core-backend/pom.xml b/core/core-backend/pom.xml
index b03f6cf..e1ce6ac 100644
--- a/core/core-backend/pom.xml
+++ b/core/core-backend/pom.xml
@@ -93,6 +93,11 @@
org.apache.commons
commons-lang3
+
+ cn.hutool
+ hutool-all
+ 5.8.38
+
io.gisbi
api-permissions
@@ -184,6 +189,15 @@
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.11.0
+
+ 21
+ 21
+
+
diff --git a/core/core-backend/src/main/java/io/gisbi/application/system/controller/RoleController.java b/core/core-backend/src/main/java/io/gisbi/application/system/controller/RoleController.java
index 7dd504a..2dd6497 100644
--- a/core/core-backend/src/main/java/io/gisbi/application/system/controller/RoleController.java
+++ b/core/core-backend/src/main/java/io/gisbi/application/system/controller/RoleController.java
@@ -201,7 +201,7 @@ public class RoleController {
boolean isOk = true;
String[] temp = userids.split(",");
for (String userid : temp) {
- isOk = isOk && userService.addUserRoles(roleid, userid);
+ isOk = isOk && userService.addUserRole(roleid, userid);
}
if (isOk) {
return ResponseResult.success();
diff --git a/core/core-backend/src/main/java/io/gisbi/application/system/service/IUserService.java b/core/core-backend/src/main/java/io/gisbi/application/system/service/IUserService.java
index b3e86e4..f18c867 100644
--- a/core/core-backend/src/main/java/io/gisbi/application/system/service/IUserService.java
+++ b/core/core-backend/src/main/java/io/gisbi/application/system/service/IUserService.java
@@ -86,5 +86,5 @@ public interface IUserService extends IService {
* userids 用户id组
* 返回值说明: 是否新增成功
***********************************/
- boolean addUserRoles(String roleid, String userid);
+ boolean addUserRole(String roleid, String userid);
}
diff --git a/core/core-backend/src/main/java/io/gisbi/application/system/service/impl/UserServiceImpl.java b/core/core-backend/src/main/java/io/gisbi/application/system/service/impl/UserServiceImpl.java
index 76a7356..6e2af5f 100644
--- a/core/core-backend/src/main/java/io/gisbi/application/system/service/impl/UserServiceImpl.java
+++ b/core/core-backend/src/main/java/io/gisbi/application/system/service/impl/UserServiceImpl.java
@@ -313,7 +313,7 @@ public class UserServiceImpl extends ServiceImpl implements IU
* 返回值说明: 是否新增成功
***********************************/
@Override
- public boolean addUserRoles(String roleid, String userid) {
+ public boolean addUserRole(String roleid, String userid) {
boolean isOk = true;
if (StringUtils.isEmpty(roleid) || StringUtils.isEmpty(userid)) {
return false;
diff --git a/core/core-backend/src/main/java/io/gisbi/dataset/manage/DatasetDataManage.java b/core/core-backend/src/main/java/io/gisbi/dataset/manage/DatasetDataManage.java
index fc6bed6..3b3891b 100644
--- a/core/core-backend/src/main/java/io/gisbi/dataset/manage/DatasetDataManage.java
+++ b/core/core-backend/src/main/java/io/gisbi/dataset/manage/DatasetDataManage.java
@@ -1,5 +1,7 @@
package io.gisbi.dataset.manage;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.gisbi.api.chart.dto.DeSortField;
import io.gisbi.api.dataset.dto.*;
import io.gisbi.api.dataset.union.DatasetGroupInfoDTO;
@@ -7,6 +9,10 @@ import io.gisbi.api.dataset.union.DatasetTableInfoDTO;
import io.gisbi.chart.utils.ChartDataBuild;
import io.gisbi.commons.utils.SqlparserUtils;
import io.gisbi.dataset.constant.DatasetTableType;
+import io.gisbi.dataset.dao.auto.entity.CoreDatasetTable;
+import io.gisbi.dataset.dao.auto.entity.CoreDatasetTableField;
+import io.gisbi.dataset.dao.auto.mapper.CoreDatasetTableFieldMapper;
+import io.gisbi.dataset.dao.auto.mapper.CoreDatasetTableMapper;
import io.gisbi.dataset.utils.DatasetUtils;
import io.gisbi.dataset.utils.FieldUtils;
import io.gisbi.dataset.utils.TableUtils;
@@ -71,7 +77,10 @@ public class DatasetDataManage {
private DatasetTableSqlLogManage datasetTableSqlLogManage;
@Autowired(required = false)
private PluginManageApi pluginManage;
-
+ @Resource
+ private CoreDatasetTableFieldMapper coreDatasetTableFieldMapper;
+ @Resource
+ private CoreDatasetTableMapper coreDatasetTableMapper;
@Resource
private DataSourceManage dataSourceManage;
@@ -1139,4 +1148,333 @@ public class DatasetDataManage {
return nodes;
}
+//-----------------------下面代码为扩展代码,实现了数据表的增删改查功能--zhengsl at 2025-05-20----------------------------------------------------------------------------------------//
+ public List getTablesByAppId(Long id) throws Exception {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("app_id", id);
+ wrapper.eq("type", "db");
+ List tables = coreDatasetTableMapper.selectList(wrapper);
+ return tables;
+ }
+
+ public List getFieldsByTableId(Long id) throws Exception {
+ QueryWrapper wrapper = new QueryWrapper<>();
+ wrapper.eq("dataset_table_id", id);
+ wrapper.eq("checked", true);
+ wrapper.isNull("chart_id");
+ List fields = coreDatasetTableFieldMapper.selectList(wrapper);
+ return fields;
+ }
+
+ public boolean addTableData(Long datasourceId, String tableData) throws Exception {
+ // 根据数据源 id 查询数据源信息,调用通用数据源执行器
+ CoreDatasource coreDatasource = coreDatasourceMapper.selectById(datasourceId);
+ if (coreDatasource == null) {
+ DEException.throwException("数据源不存在");
+ }
+
+ // 解析 tableData JSON 字符串 "{ \"tableName\": \"user\", \"data\": [ { \"fieldName\": \"id\", \"fieldType\": \"varchar\", \"IsPrimaryKey\": true, \"fieldValue\": \"0001\" }, { \"fieldName\": \"name\", \"fieldType\": \"varchar\", \"fieldValue\": \"张三\" } ] }";
+ Map dataMap = JsonUtil.parseObject(tableData, Map.class);
+ String tableName = (String) dataMap.get("tableName");
+ List