fix: 优化功能

优化项项目逻辑
This commit is contained in:
weitang 2025-07-25 11:32:35 +08:00
parent a86e73f14b
commit 75120ba1e2
7 changed files with 39 additions and 14 deletions

View File

@ -49,7 +49,8 @@ public class DatabaseService {
"app_optlog", "app_organization", "app_role", "app_role_menu", "app_role_users", "app_user", "area", "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_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", "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_link_jump_target_view_info", "snapshot_visualization_linkage",
"snapshot_visualization_linkage_field", "snapshot_visualization_outer_params_info", "snapshot_visualization_linkage_field", "snapshot_visualization_outer_params_info",
"snapshot_visualization_outer_params_target_view_info", "visualization_background", "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_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) || "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" "core_dataset_table".equals(table) || "core_datasource".equals(table) || "data_visualization_info"
.equals(table)) { .equals(table)|| "snapshot_data_visualization_info".equals(table)) {
List<Condition> conditions = new ArrayList<>(); List<Condition> conditions = new ArrayList<>();
Condition condition = new Condition(); Condition condition = new Condition();
condition.setField("app_id"); condition.setField("app_id");

View File

@ -15,6 +15,7 @@ public class PieHandler extends YoyChartHandler {
@Override @Override
public void init() { public void init() {
chartHandlerManager.registerChartHandler(this.getRender(), "pie", this); 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-rose", this);
chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut", this); chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut", this);
chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut-rose", this); chartHandlerManager.registerChartHandler(this.getRender(), "pie-donut-rose", this);

View File

@ -26,4 +26,14 @@ public interface CoreChartViewMapper extends BaseMapper<CoreChartView> {
"\tINNER JOIN data_visualization_info dvi ON ccv.scene_id = dvi.id\n" + "\tINNER JOIN data_visualization_info dvi ON ccv.scene_id = dvi.id\n" +
"\tWHERE dvi.app_id=#{appId}") "\tWHERE dvi.app_id=#{appId}")
List<Long> selectChatViewIds(@Param("appId")String appId); List<Long> 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);
} }

View File

@ -56,6 +56,7 @@ import java.util.stream.Collectors;
*/ */
@Component @Component
public class ChartViewManege { public class ChartViewManege {
@Resource @Resource
private CoreChartViewMapper coreChartViewMapper; private CoreChartViewMapper coreChartViewMapper;
@Resource @Resource
@ -65,7 +66,6 @@ public class ChartViewManege {
@Resource @Resource
private CoreDatasetTableFieldMapper coreDatasetTableFieldMapper; private CoreDatasetTableFieldMapper coreDatasetTableFieldMapper;
@Resource @Resource
private DataVisualizationInfoMapper visualizationInfoMapper; private DataVisualizationInfoMapper visualizationInfoMapper;
@ -112,6 +112,10 @@ public class ChartViewManege {
public void disuse(List<Long> chartIdList) { public void disuse(List<Long> chartIdList) {
} }
public String getMapServer(String id) {
return coreChartViewMapper.getMapServer(id);
}
@Transactional @Transactional
public void deleteBySceneId(Long sceneId, List<Long> chartIds) { public void deleteBySceneId(Long sceneId, List<Long> chartIds) {
QueryWrapper<CoreChartView> wrapper = new QueryWrapper<>(); QueryWrapper<CoreChartView> wrapper = new QueryWrapper<>();
@ -264,7 +268,8 @@ public class ChartViewManege {
BeanUtils.copyBean(dto, e); BeanUtils.copyBean(dto, e);
return dto; return dto;
}).collect(Collectors.toList()); }).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) { for (String func : FunctionConstant.AGG_FUNC) {
if (Utils.matchFunction(func, originField)) { if (Utils.matchFunction(func, originField)) {
ele.setSummary(""); ele.setSummary("");
@ -275,8 +280,10 @@ public class ChartViewManege {
} }
} }
List<ChartViewFieldDTO> dimensionList = list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "d")).collect(Collectors.toList()); List<ChartViewFieldDTO> dimensionList =
List<ChartViewFieldDTO> quotaList = list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "q")).collect(Collectors.toList()); list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "d")).collect(Collectors.toList());
List<ChartViewFieldDTO> quotaList =
list.stream().filter(ele -> StringUtils.equalsIgnoreCase(ele.getGroupType(), "q")).collect(Collectors.toList());
Map<String, List<ChartViewFieldDTO>> map = new LinkedHashMap<>(); Map<String, List<ChartViewFieldDTO>> map = new LinkedHashMap<>();
map.put("dimensionList", dimensionList); map.put("dimensionList", dimensionList);

View File

@ -1,5 +1,7 @@
package io.gisbi.visualization.server; 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.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
@ -537,6 +539,11 @@ public class DataVisualizationServer implements DataVisualizationApi {
return "Success"; return "Success";
} }
@Override
public String getMapServer(String id){
return chartViewManege.getMapServer(id);
}
@DeLog(id = "#p0.id", ot = LogOT.MODIFY, stExp = "#p0.type") @DeLog(id = "#p0.id", ot = LogOT.MODIFY, stExp = "#p0.type")
@Override @Override
@Transactional @Transactional

View File

@ -1,9 +1,9 @@
spring: spring:
datasource: 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://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 username: root
password: 123456 #mysql_F8ysiK@2024 password: 123456 #123456 #mysql_F8ysiK@2024
messages: messages:
basename: i18n/lic,i18n/core,i18n/permissions,i18n/xpack,i18n/sync basename: i18n/lic,i18n/core,i18n/permissions,i18n/xpack,i18n/sync
flyway: flyway:

View File

@ -16,6 +16,7 @@ import io.gisbi.model.BusiNodeRequest;
import io.gisbi.model.BusiNodeVO; import io.gisbi.model.BusiNodeVO;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.json.simple.JSONObject;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -28,6 +29,7 @@ import static io.gisbi.constant.AuthResourceEnum.PANEL;
@ApiSupport(order = 999) @ApiSupport(order = 999)
@DeApiPath(value = "/dataVisualization", rt = PANEL) @DeApiPath(value = "/dataVisualization", rt = PANEL)
public interface DataVisualizationApi { public interface DataVisualizationApi {
/** /**
* 查询数据可视化大屏 * 查询数据可视化大屏
* *
@ -38,12 +40,10 @@ public interface DataVisualizationApi {
@Operation(summary = "查询可视化资源") @Operation(summary = "查询可视化资源")
DataVisualizationVO findById(@RequestBody DataVisualizationBaseRequest request); DataVisualizationVO findById(@RequestBody DataVisualizationBaseRequest request);
@GetMapping("/findCopyResource/{dvId}/{busiFlag}") @GetMapping("/findCopyResource/{dvId}/{busiFlag}")
@Operation(summary = "查询临时复制资源") @Operation(summary = "查询临时复制资源")
DataVisualizationVO findCopyResource(@PathVariable("dvId") Long dvId, @PathVariable("busiFlag") String busiFlag); DataVisualizationVO findCopyResource(@PathVariable("dvId") Long dvId, @PathVariable("busiFlag") String busiFlag);
@PostMapping("/saveCanvas") @PostMapping("/saveCanvas")
@DePermit(value = {"#p0.pid + ':manage'"}, busiFlag = "#p0.type") @DePermit(value = {"#p0.pid + ':manage'"}, busiFlag = "#p0.type")
@Operation(summary = "画布保存") @Operation(summary = "画布保存")
@ -58,12 +58,14 @@ public interface DataVisualizationApi {
@Operation(summary = "画布变动校验") @Operation(summary = "画布变动校验")
String checkCanvasChange(@RequestBody DataVisualizationBaseRequest request); String checkCanvasChange(@RequestBody DataVisualizationBaseRequest request);
@PostMapping("/updateCanvas") @PostMapping("/updateCanvas")
@DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type") @DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type")
@Operation(summary = "画布更新") @Operation(summary = "画布更新")
DataVisualizationVO updateCanvas(@RequestBody DataVisualizationBaseRequest request); DataVisualizationVO updateCanvas(@RequestBody DataVisualizationBaseRequest request);
@GetMapping("/getMapServer/{id}")
@Operation(summary = "获取地图")
String getMapServer(@PathVariable("id") String id);
@PostMapping("/updatePublishStatus") @PostMapping("/updatePublishStatus")
@DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type") @DePermit(value = {"#p0.id + ':manage'"}, busiFlag = "#p0.type")
@ -116,12 +118,10 @@ public interface DataVisualizationApi {
@Operation(summary = "查询可视化资源类型") @Operation(summary = "查询可视化资源类型")
String findDvType(@PathVariable("dvId") Long dvId); String findDvType(@PathVariable("dvId") Long dvId);
@GetMapping("/updateCheckVersion/{dvId}") @GetMapping("/updateCheckVersion/{dvId}")
@Operation(summary = "更新校验版本") @Operation(summary = "更新校验版本")
String updateCheckVersion(@PathVariable("dvId") Long dvId); String updateCheckVersion(@PathVariable("dvId") Long dvId);
/** /**
* 从模板解压可视化资源 模板来源包括 模板市场内部模板管理 * 从模板解压可视化资源 模板来源包括 模板市场内部模板管理
* *
@ -140,7 +140,6 @@ public interface DataVisualizationApi {
@Operation(summary = "解析可视化资源模板文件信息") @Operation(summary = "解析可视化资源模板文件信息")
DataVisualizationVO decompressionLocalFile(@RequestPart(value = "file") MultipartFile file); DataVisualizationVO decompressionLocalFile(@RequestPart(value = "file") MultipartFile file);
@GetMapping("/viewDetailList/{dvId}") @GetMapping("/viewDetailList/{dvId}")
@Operation(summary = "仪表板视图明细数据") @Operation(summary = "仪表板视图明细数据")
List<VisualizationViewTableDTO> detailList(@PathVariable("dvId") Long dvId); List<VisualizationViewTableDTO> detailList(@PathVariable("dvId") Long dvId);