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",
"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<Condition> conditions = new ArrayList<>();
Condition condition = new Condition();
condition.setField("app_id");

View File

@ -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);

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" +
"\tWHERE dvi.app_id=#{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
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<Long> chartIdList) {
}
public String getMapServer(String id) {
return coreChartViewMapper.getMapServer(id);
}
@Transactional
public void deleteBySceneId(Long sceneId, List<Long> chartIds) {
QueryWrapper<CoreChartView> 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<ChartViewFieldDTO> dimensionList = 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());
List<ChartViewFieldDTO> dimensionList =
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.put("dimensionList", dimensionList);

View File

@ -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

View File

@ -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:

View File

@ -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<VisualizationViewTableDTO> detailList(@PathVariable("dvId") Long dvId);