资源相关
This commit is contained in:
@ -15,12 +15,10 @@ import java.util.*;
|
||||
|
||||
import cn.hutool.crypto.digest.DigestUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.yj.earth.business.domain.FileInfo;
|
||||
import com.yj.earth.business.service.FileInfoService;
|
||||
import com.yj.earth.common.util.ApiResponse;
|
||||
import com.yj.earth.common.util.JsonMapConverter;
|
||||
import com.yj.earth.common.util.JsonUtil;
|
||||
import com.yj.earth.vo.FileInfoVo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
@ -39,7 +37,6 @@ import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Tag(name = "文件数据管理")
|
||||
@RestController
|
||||
@ -259,7 +256,7 @@ public class FileInfoController {
|
||||
result.put("previewUrl", "/fileInfo/preview/" + fileInfo.getId());
|
||||
result.put("downloadUrl", "/fileInfo/download/" + fileInfo.getId());
|
||||
result.put("metadata", metadata);
|
||||
return JsonMapConverter.mapToJson(result);
|
||||
return JsonUtil.mapToJson(result);
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException("文件上传失败: " + e.getMessage(), e);
|
||||
}
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
package com.yj.earth.business.controller;
|
||||
|
||||
import com.yj.earth.business.service.ModelService;
|
||||
import com.yj.earth.business.service.ModelTypeService;
|
||||
import com.yj.earth.common.util.ApiResponse;
|
||||
import com.yj.earth.datasource.DatabaseManager;
|
||||
import com.yj.earth.design.Model;
|
||||
import com.yj.earth.design.ModelType;
|
||||
import com.yj.earth.dto.model.CreateModelFileDto;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.io.File;
|
||||
import java.sql.Connection;
|
||||
import java.sql.DriverManager;
|
||||
|
||||
@Tag(name = "模型相关")
|
||||
@RestController
|
||||
@RequestMapping("/model")
|
||||
public class ModelController {
|
||||
@Resource
|
||||
private ModelService modelService;
|
||||
@Resource
|
||||
private ModelTypeService modelTypeService;
|
||||
|
||||
@Operation(summary = "创建模型库")
|
||||
@PostMapping("/createModelFile")
|
||||
public ApiResponse createModelFile(@RequestBody CreateModelFileDto createModelFileDto) {
|
||||
try {
|
||||
// 获取参数并处理文件路径
|
||||
String folderPath = createModelFileDto.getFolderPath();
|
||||
String modelFileName = createModelFileDto.getModelFileName() + ".model";
|
||||
// 创建文件夹(如果不存在)
|
||||
File folder = new File(folderPath);
|
||||
if (!folder.exists()) {
|
||||
boolean folderCreated = folder.mkdirs();
|
||||
if (!folderCreated) {
|
||||
return ApiResponse.failure("无法创建文件夹: " + folderPath);
|
||||
}
|
||||
}
|
||||
// 构建完整文件路径
|
||||
String filePath = folderPath + File.separator + modelFileName;
|
||||
// 加载 SQLite 驱动并创建数据库文件
|
||||
Class.forName("org.sqlite.JDBC");
|
||||
// SQLite会自动创建不存在的数据库文件
|
||||
try (Connection connection = DriverManager.getConnection("jdbc:sqlite:" + filePath)) {
|
||||
if (connection != null) {
|
||||
// 初始化表结构
|
||||
DatabaseManager.createTablesForEntities(DatabaseManager.DatabaseType.SQLITE, ModelType.class, connection);
|
||||
DatabaseManager.createTablesForEntities(DatabaseManager.DatabaseType.SQLITE, Model.class, connection);
|
||||
return ApiResponse.success(null);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return ApiResponse.failure("创建模型库失败: " + e.getMessage());
|
||||
}
|
||||
return ApiResponse.failure("未知错误");
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,12 @@
|
||||
package com.yj.earth.business.controller;
|
||||
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Tag(name = "模型类型管理")
|
||||
@RestController
|
||||
@RequestMapping("/modelType")
|
||||
public class ModelTypeController {
|
||||
|
||||
}
|
||||
@ -21,6 +21,7 @@ import com.yj.earth.business.service.*;
|
||||
import com.yj.earth.common.service.SourceDataGenerator;
|
||||
import com.yj.earth.common.service.SourceParamsValidator;
|
||||
import com.yj.earth.common.util.ApiResponse;
|
||||
import com.yj.earth.common.util.JsonUtil;
|
||||
import com.yj.earth.common.util.MapUtil;
|
||||
import com.yj.earth.dto.source.*;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
@ -109,7 +110,7 @@ public class SourceController {
|
||||
source.setSourceName(sourceName);
|
||||
source.setParentId(addModelSourceDto.getParentId());
|
||||
source.setTreeIndex(addModelSourceDto.getTreeIndex());
|
||||
source.setParams(addModelSourceDto.getParams());
|
||||
source.setParams(JsonUtil.mapToJson(addModelSourceDto.getParams()));
|
||||
source.setDetail(detail);
|
||||
source.setSourceType(MapUtil.getString(MapUtil.jsonToMap(detail), "fileType"));
|
||||
source.setIsShow(SHOW);
|
||||
@ -155,7 +156,7 @@ public class SourceController {
|
||||
// 更新基本信息
|
||||
BeanUtils.copyProperties(updateSourceDto, source);
|
||||
// 处理参数更新
|
||||
if (updateSourceDto.getParams() != null && !updateSourceDto.getParams().isEmpty()) {
|
||||
if (updateSourceDto.getParams() != null) {
|
||||
// 获取类型
|
||||
String sourceType = source.getSourceType();
|
||||
// 验证参数
|
||||
@ -163,10 +164,8 @@ public class SourceController {
|
||||
sourceType,
|
||||
updateSourceDto.getParams()
|
||||
);
|
||||
// 获取原始数据的 Map 并合并新参数
|
||||
Map<String, Object> dataMap = MapUtil.jsonToMap(source.getParams());
|
||||
MapUtil.mergeMaps(dataMap, updateSourceDto.getParams());
|
||||
source.setParams(MapUtil.mapToString(dataMap));
|
||||
System.out.println("更新的数据:" + validatedParams);
|
||||
source.setParams(MapUtil.mapToString(updateSourceDto.getParams()));
|
||||
}
|
||||
// 保存更新
|
||||
sourceService.updateById(source);
|
||||
|
||||
Reference in New Issue
Block a user