From 75120ba1e2b539d2f5ab7eca03973c9aa5a8c640 Mon Sep 17 00:00:00 2001 From: weitang Date: Fri, 25 Jul 2025 11:32:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E5=8A=9F=E8=83=BD=20?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=A1=B9=E9=A1=B9=E7=9B=AE=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../appcode/service/DatabaseService.java | 5 +++-- .../gisbi/chart/charts/impl/pie/PieHandler.java | 1 + .../dao/auto/mapper/CoreChartViewMapper.java | 10 ++++++++++ .../io/gisbi/chart/manage/ChartViewManege.java | 15 +++++++++++---- .../server/DataVisualizationServer.java | 7 +++++++ .../src/main/resources/application-standalone.yml | 4 ++-- .../api/visualization/DataVisualizationApi.java | 11 +++++------ 7 files changed, 39 insertions(+), 14 deletions(-) diff --git a/core/core-backend/src/main/java/io/gisbi/application/appcode/service/DatabaseService.java b/core/core-backend/src/main/java/io/gisbi/application/appcode/service/DatabaseService.java index 8ee88a4..4cf7e67 100644 --- a/core/core-backend/src/main/java/io/gisbi/application/appcode/service/DatabaseService.java +++ b/core/core-backend/src/main/java/io/gisbi/application/appcode/service/DatabaseService.java @@ -49,7 +49,8 @@ public class DatabaseService { "app_optlog", "app_organization", "app_role", "app_role_menu", "app_role_users", "app_user", "area", "core_chart_view", "core_dataset_group", "core_dataset_table", "core_dataset_table_field", "core_datasource", "core_de_engine", "core_driver", "core_sys_setting", "data_visualization_info", - "snapshot_core_chart_view", "snapshot_visualization_link_jump", "snapshot_visualization_link_jump_info", + "snapshot_core_chart_view","snapshot_data_visualization_info", "snapshot_visualization_link_jump", + "snapshot_visualization_link_jump_info", "snapshot_visualization_link_jump_target_view_info", "snapshot_visualization_linkage", "snapshot_visualization_linkage_field", "snapshot_visualization_outer_params_info", "snapshot_visualization_outer_params_target_view_info", "visualization_background", @@ -80,7 +81,7 @@ public class DatabaseService { "app_organization".equals(table) || "app_role".equals(table) || "app_role_menu".equals(table) || "app_role_users".equals(table) || "app_user".equals(table) || "core_dataset_group".equals(table) || "core_dataset_table".equals(table) || "core_datasource".equals(table) || "data_visualization_info" - .equals(table)) { + .equals(table)|| "snapshot_data_visualization_info".equals(table)) { List conditions = new ArrayList<>(); Condition condition = new Condition(); condition.setField("app_id"); diff --git a/core/core-backend/src/main/java/io/gisbi/chart/charts/impl/pie/PieHandler.java b/core/core-backend/src/main/java/io/gisbi/chart/charts/impl/pie/PieHandler.java index d4c50c6..52c83fc 100644 --- a/core/core-backend/src/main/java/io/gisbi/chart/charts/impl/pie/PieHandler.java +++ b/core/core-backend/src/main/java/io/gisbi/chart/charts/impl/pie/PieHandler.java @@ -15,6 +15,7 @@ public class PieHandler extends YoyChartHandler { @Override public void init() { chartHandlerManager.registerChartHandler(this.getRender(), "pie", this); + chartHandlerManager.registerChartHandler(this.getRender(), "pie-proportion", this); chartHandlerManager.registerChartHandler(this.getRender(), "pie-rose", this); chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut", this); chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut-rose", this); diff --git a/core/core-backend/src/main/java/io/gisbi/chart/dao/auto/mapper/CoreChartViewMapper.java b/core/core-backend/src/main/java/io/gisbi/chart/dao/auto/mapper/CoreChartViewMapper.java index 65515c8..adb4d0f 100644 --- a/core/core-backend/src/main/java/io/gisbi/chart/dao/auto/mapper/CoreChartViewMapper.java +++ b/core/core-backend/src/main/java/io/gisbi/chart/dao/auto/mapper/CoreChartViewMapper.java @@ -26,4 +26,14 @@ public interface CoreChartViewMapper extends BaseMapper { "\tINNER JOIN data_visualization_info dvi ON ccv.scene_id = dvi.id\n" + "\tWHERE dvi.app_id=#{appId}") List selectChatViewIds(@Param("appId")String appId); + + @Select("SELECT\n" + + "\tJSON_EXTRACT( dvi.component_data, '$[0].mapServer' ) data_str \n" + + "FROM\n" + + "\tdata_visualization_info dvi\n" + + "\tINNER JOIN core_chart_view ccv ON dvi.id = ccv.scene_id \n" + + "WHERE\n" + + "\tccv.id = #{id}") + String getMapServer(@Param("id")String id); + } diff --git a/core/core-backend/src/main/java/io/gisbi/chart/manage/ChartViewManege.java b/core/core-backend/src/main/java/io/gisbi/chart/manage/ChartViewManege.java index e459b51..47c767e 100644 --- a/core/core-backend/src/main/java/io/gisbi/chart/manage/ChartViewManege.java +++ b/core/core-backend/src/main/java/io/gisbi/chart/manage/ChartViewManege.java @@ -56,6 +56,7 @@ import java.util.stream.Collectors; */ @Component public class ChartViewManege { + @Resource private CoreChartViewMapper coreChartViewMapper; @Resource @@ -65,7 +66,6 @@ public class ChartViewManege { @Resource private CoreDatasetTableFieldMapper coreDatasetTableFieldMapper; - @Resource private DataVisualizationInfoMapper visualizationInfoMapper; @@ -112,6 +112,10 @@ public class ChartViewManege { public void disuse(List chartIdList) { } + public String getMapServer(String id) { + return coreChartViewMapper.getMapServer(id); + } + @Transactional public void deleteBySceneId(Long sceneId, List chartIds) { QueryWrapper wrapper = new QueryWrapper<>(); @@ -264,7 +268,8 @@ public class ChartViewManege { BeanUtils.copyBean(dto, e); return dto; }).collect(Collectors.toList()); - String originField = Utils.calcFieldRegex(ele, tableObj, f, true, null, Utils.mergeParam(Utils.getParams(f), null), pluginManage); + String originField = Utils.calcFieldRegex(ele, tableObj, f, true, null, + Utils.mergeParam(Utils.getParams(f), null), pluginManage); for (String func : FunctionConstant.AGG_FUNC) { if (Utils.matchFunction(func, originField)) { ele.setSummary(""); @@ -275,8 +280,10 @@ public class ChartViewManege { } } - List dimensionList = list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "d")).collect(Collectors.toList()); - List quotaList = list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "q")).collect(Collectors.toList()); + List dimensionList = + list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "d")).collect(Collectors.toList()); + List quotaList = + list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "q")).collect(Collectors.toList()); Map> map = new LinkedHashMap<>(); map.put("dimensionList", dimensionList); diff --git a/core/core-backend/src/main/java/io/gisbi/visualization/server/DataVisualizationServer.java b/core/core-backend/src/main/java/io/gisbi/visualization/server/DataVisualizationServer.java index abd5f93..7eecb26 100644 --- a/core/core-backend/src/main/java/io/gisbi/visualization/server/DataVisualizationServer.java +++ b/core/core-backend/src/main/java/io/gisbi/visualization/server/DataVisualizationServer.java @@ -1,5 +1,7 @@ package io.gisbi.visualization.server; +import cn.hutool.json.JSONObject; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.fasterxml.jackson.core.type.TypeReference; @@ -537,6 +539,11 @@ public class DataVisualizationServer implements DataVisualizationApi { return "Success"; } + @Override + public String getMapServer(String id){ + return chartViewManege.getMapServer(id); + } + @DeLog(id = "#p0.id", ot = LogOT.MODIFY, stExp = "#p0.type") @Override @Transactional diff --git a/core/core-backend/src/main/resources/application-standalone.yml b/core/core-backend/src/main/resources/application-standalone.yml index 491ee21..f60202e 100644 --- a/core/core-backend/src/main/resources/application-standalone.yml +++ b/core/core-backend/src/main/resources/application-standalone.yml @@ -1,9 +1,9 @@ spring: datasource: # url: jdbc:mysql://121.37.111.42:3306/dataease?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true - url: jdbc:mysql://192.168.1.58:3306/dataease?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true + url: jdbc:mysql://192.168.1.70:3306/dataease?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true username: root - password: 123456 #mysql_F8ysiK@2024 + password: 123456 #123456 #mysql_F8ysiK@2024 messages: basename: i18n/lic,i18n/core,i18n/permissions,i18n/xpack,i18n/sync flyway: diff --git a/sdk/api/api-base/src/main/java/io/gisbi/api/visualization/DataVisualizationApi.java b/sdk/api/api-base/src/main/java/io/gisbi/api/visualization/DataVisualizationApi.java index bb73fb2..301fcfe 100644 --- a/sdk/api/api-base/src/main/java/io/gisbi/api/visualization/DataVisualizationApi.java +++ b/sdk/api/api-base/src/main/java/io/gisbi/api/visualization/DataVisualizationApi.java @@ -16,6 +16,7 @@ import io.gisbi.model.BusiNodeRequest; import io.gisbi.model.BusiNodeVO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; +import org.json.simple.JSONObject; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -28,6 +29,7 @@ import static io.gisbi.constant.AuthResourceEnum.PANEL; @ApiSupport(order = 999) @DeApiPath(value = "/dataVisualization", rt = PANEL) public interface DataVisualizationApi { + /** * 查询数据可视化大屏 * @@ -38,12 +40,10 @@ public interface DataVisualizationApi { @Operation(summary = "查询可视化资源") DataVisualizationVO findById(@RequestBody DataVisualizationBaseRequest request); - @GetMapping("/findCopyResource/{dvId}/{busiFlag}") @Operation(summary = "查询临时复制资源") DataVisualizationVO findCopyResource(@PathVariable("dvId") Long dvId, @PathVariable("busiFlag") String busiFlag); - @PostMapping("/saveCanvas") @DePermit(value = {"#p0.pid + ':manage'"}, busiFlag = "#p0.type") @Operation(summary = "画布保存") @@ -58,12 +58,14 @@ public interface DataVisualizationApi { @Operation(summary = "画布变动校验") String checkCanvasChange(@RequestBody DataVisualizationBaseRequest request); - @PostMapping("/updateCanvas") @DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type") @Operation(summary = "画布更新") DataVisualizationVO updateCanvas(@RequestBody DataVisualizationBaseRequest request); + @GetMapping("/getMapServer/{id}") + @Operation(summary = "获取地图") + String getMapServer(@PathVariable("id") String id); @PostMapping("/updatePublishStatus") @DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type") @@ -116,12 +118,10 @@ public interface DataVisualizationApi { @Operation(summary = "查询可视化资源类型") String findDvType(@PathVariable("dvId") Long dvId); - @GetMapping("/updateCheckVersion/{dvId}") @Operation(summary = "更新校验版本") String updateCheckVersion(@PathVariable("dvId") Long dvId); - /** * 从模板解压可视化资源 模板来源包括 模板市场、内部模板管理 * @@ -140,7 +140,6 @@ public interface DataVisualizationApi { @Operation(summary = "解析可视化资源模板文件信息") DataVisualizationVO decompressionLocalFile(@RequestPart(value = "file") MultipartFile file); - @GetMapping("/viewDetailList/{dvId}") @Operation(summary = "仪表板视图明细数据") List detailList(@PathVariable("dvId") Long dvId);