feat: 新增逻辑
新增glb模型导入类型、项目打包新增数据库表
This commit is contained in:
parent
6cdc46fedc
commit
eb52424440
@ -15,6 +15,9 @@ import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.yaml.snakeyaml.DumperOptions;
|
||||
import org.yaml.snakeyaml.Yaml;
|
||||
import org.yaml.snakeyaml.nodes.Node;
|
||||
import org.yaml.snakeyaml.nodes.Tag;
|
||||
import org.yaml.snakeyaml.representer.Representer;
|
||||
|
||||
import java.io.*;
|
||||
import java.nio.file.Files;
|
||||
@ -146,8 +149,8 @@ public class ProjectExportController {
|
||||
if (spring.containsKey("datasource")) {
|
||||
Map<String, Object> datasource = (Map<String, Object>) spring.get("datasource");
|
||||
datasource.put("url", "jdbc:mysql://localhost:3306/newdb");
|
||||
datasource.put("username", "root");
|
||||
datasource.put("password", "123456");
|
||||
datasource.put("username", "roor");
|
||||
datasource.put("password", "sadfa123456");
|
||||
}
|
||||
}
|
||||
|
||||
@ -163,13 +166,18 @@ public class ProjectExportController {
|
||||
// 写回 YAML 文件
|
||||
DumperOptions options = new DumperOptions();
|
||||
options.setDefaultFlowStyle(DumperOptions.FlowStyle.BLOCK);
|
||||
// 美化输出格式
|
||||
options.setPrettyFlow(true);
|
||||
// 缩进两个空格
|
||||
options.setIndent(2);
|
||||
|
||||
// 将String类型转换为PLAIN样式
|
||||
// Representer representer = new Representer(options) {
|
||||
// @Override
|
||||
// protected Node representScalar(Tag tag, String value, DumperOptions.ScalarStyle style) {
|
||||
// // 使用 PLAIN 样式(无引号)
|
||||
// return super.representScalar(tag, value, DumperOptions.ScalarStyle.PLAIN);
|
||||
// }
|
||||
// };
|
||||
// Yaml newYaml = new Yaml(representer,options);
|
||||
Yaml newYaml = new Yaml(options);
|
||||
|
||||
try (Writer writer = new FileWriter(configPath)) {
|
||||
newYaml.dump(root, writer);
|
||||
}
|
||||
|
@ -46,16 +46,19 @@ public class DatabaseService {
|
||||
|
||||
// 1. 获取所有要导出的表名
|
||||
List<String> tables = Arrays.asList("app_application", "app_dictionary", "app_menu", "app_module",
|
||||
"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_datasource", "core_de_engine", "core_driver", "data_visualization_info",
|
||||
"visualization_background", "visualization_background_image", "visualization_link_jump",
|
||||
"visualization_link_jump_info", "visualization_link_jump_target_view_info", "visualization_linkage",
|
||||
"visualization_linkage_field", "visualization_outer_params", "visualization_outer_params_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_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",
|
||||
"visualization_background_image", "visualization_link_jump", "visualization_link_jump_info",
|
||||
"visualization_link_jump_target_view_info", "visualization_linkage", "visualization_linkage_field",
|
||||
"visualization_outer_params", "visualization_outer_params_info",
|
||||
"visualization_outer_params_target_view_info", "visualization_subject");
|
||||
|
||||
for (String table : tables) {
|
||||
|
||||
// 2. 获取建表语句
|
||||
String createSql = getCreateTableSql(table);
|
||||
if ("app_application".equals(table)) {
|
||||
@ -103,7 +106,7 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
} else if ("core_chart_view".equals(table)) {
|
||||
} else if ("core_chart_view".equals(table) || "snapshot_core_chart_view".equals(table)) {
|
||||
|
||||
List<DataVisualizationInfo> dataVisualizationInfos =
|
||||
dataVisualizationInfoMapper.selectList(new LambdaQueryWrapper<DataVisualizationInfo>().eq(DataVisualizationInfo::getAppId, id).select(DataVisualizationInfo::getId));
|
||||
@ -120,7 +123,7 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
} else if ("visualization_link_jump".equals(table)) {
|
||||
} else if ("visualization_link_jump".equals(table) || "snapshot_visualization_link_jump".equals(table)) {
|
||||
List<DataVisualizationInfo> dataVisualizationInfos =
|
||||
dataVisualizationInfoMapper.selectList(new LambdaQueryWrapper<DataVisualizationInfo>().eq(DataVisualizationInfo::getAppId, id).select(DataVisualizationInfo::getId));
|
||||
|
||||
@ -138,7 +141,7 @@ public class DatabaseService {
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
|
||||
} else if ("visualization_link_jump_info".equals(table)) {
|
||||
} else if ("visualization_link_jump_info".equals(table) || "snapshot_visualization_link_jump_info".equals(table)) {
|
||||
List<Long> ids = visualizationLinkJumpMapper.selectLinkJumpIds(id);
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
if (!ids.isEmpty()) {
|
||||
@ -151,7 +154,8 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
} else if ("visualization_link_jump_target_view_info".equals(table)) {
|
||||
} else if ("visualization_link_jump_target_view_info".equals(table) ||
|
||||
"snapshot_visualization_link_jump_target_view_info".equals(table)) {
|
||||
List<Long> dvInfoIds = visualizationLinkJumpInfoMapper.selectInfoIds(id);
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
if (!dvInfoIds.isEmpty()) {
|
||||
@ -164,7 +168,7 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
}else if ("visualization_linkage".equals(table)) {
|
||||
} else if ("visualization_linkage".equals(table)) {
|
||||
List<Long> viewIds = coreChartViewMapper.selectChatViewIds(id);
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
if (!viewIds.isEmpty()) {
|
||||
@ -177,7 +181,7 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
}else if ("visualization_linkage_field".equals(table)) {
|
||||
} else if ("visualization_linkage_field".equals(table)) {
|
||||
List<Long> linkageIds = visualizationLinkageMapper.selectLinkageIds(id);
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
if (!linkageIds.isEmpty()) {
|
||||
@ -190,7 +194,7 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
}else if ("visualization_outer_params".equals(table)) {
|
||||
} else if ("visualization_outer_params".equals(table) || "snapshot_visualization_outer_params".equals(table)) {
|
||||
List<DataVisualizationInfo> dataVisualizationInfos =
|
||||
dataVisualizationInfoMapper.selectList(new LambdaQueryWrapper<DataVisualizationInfo>().eq(DataVisualizationInfo::getAppId, id).select(DataVisualizationInfo::getId));
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
@ -206,7 +210,7 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
}else if ("visualization_outer_params_info".equals(table)) {
|
||||
} else if ("visualization_outer_params_info".equals(table) || "snapshot_visualization_outer_params_info".equals(table)) {
|
||||
List<Long> outerParamIds = visualizationOuterParamsMapper.selectOuterParamIds(id);
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
if (!outerParamIds.isEmpty()) {
|
||||
@ -219,7 +223,8 @@ public class DatabaseService {
|
||||
// 3. 获取数据插入语句
|
||||
List<String> insertSqls = getInsertSqls(table, conditions);
|
||||
result.add(new TableData(table, createSql, insertSqls));
|
||||
}else if ("visualization_outer_params_target_view_info".equals(table)) {
|
||||
} else if ("visualization_outer_params_target_view_info".equals(table) ||
|
||||
"snapshot_visualization_outer_params_target_view_info".equals(table)) {
|
||||
List<Long> paramsInfoIds = visualizationOuterParamsInfoMapper.selectParamsInfoIds(id);
|
||||
List<Condition> conditions = new ArrayList<>();
|
||||
if (!paramsInfoIds.isEmpty()) {
|
||||
|
@ -225,7 +225,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
||||
String parentId = currentMenu.getParentid();
|
||||
|
||||
QueryWrapper<Menu> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("parentid", parentId);
|
||||
wrapper.eq("parentid", parentId).eq("app_id",currentMenu.getAppId());
|
||||
wrapper.orderByAsc("orderno");
|
||||
|
||||
List<Menu> siblings = menuMapper.selectList(wrapper);
|
||||
@ -267,7 +267,7 @@ public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements IM
|
||||
|
||||
// 获取新父级下的最大序号
|
||||
QueryWrapper<Menu> wrapper = new QueryWrapper<>();
|
||||
wrapper.eq("parentid", targetParentId);
|
||||
wrapper.eq("parentid", targetParentId).eq("app_id",menu.getAppId());
|
||||
wrapper.select("orderno","code");
|
||||
wrapper.orderByDesc("orderno");
|
||||
List<Menu> list = menuMapper.selectList(wrapper);
|
||||
|
@ -15,7 +15,12 @@ public enum FileType {
|
||||
/**
|
||||
* GIF
|
||||
*/
|
||||
GIF("47494638", "gif");
|
||||
GIF("47494638", "gif"),
|
||||
|
||||
/**
|
||||
* GLB (Binary GLTF)
|
||||
*/
|
||||
GLB("676C5446", "glb");
|
||||
|
||||
private String value = "";
|
||||
private String ext = "";
|
||||
@ -37,4 +42,4 @@ public enum FileType {
|
||||
return value;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,8 +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://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
|
||||
username: root
|
||||
password: mysql_F8ysiK@2024
|
||||
password: 123456 #mysql_F8ysiK@2024
|
||||
messages:
|
||||
basename: i18n/lic,i18n/core,i18n/permissions,i18n/xpack,i18n/sync
|
||||
flyway:
|
||||
@ -12,7 +13,11 @@ spring:
|
||||
locations: classpath:db/migration
|
||||
baseline-on-migrate: true
|
||||
out-of-order: true
|
||||
|
||||
servlet:
|
||||
multipart:
|
||||
enabled: true
|
||||
max-file-size: 50MB # 单个文件最大
|
||||
max-request-size: 100MB # 每次请求总文件最大
|
||||
mybatis-plus:
|
||||
mapper-locations: classpath:mybatis/*.xml
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user