仿真参数库

This commit is contained in:
2025-10-16 18:05:11 +08:00
parent 1555e3b471
commit 102bf931dd
16 changed files with 674 additions and 0 deletions

View File

@@ -0,0 +1,79 @@
package com.sdm.data.controller;
import com.sdm.common.common.SdmResponse;
import com.sdm.data.model.req.SimulationParameterLibraryCategoryObjectReq;
import com.sdm.data.service.ISimulationParameterLibraryService;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 仿真参数库
* </p>
*
* @author author
* @since 2025-10-16
*/
@RestController
@RequestMapping("/simulationParameterLibrary")
@Tag(name = "仿真参数库管理", description = "仿真参数库相关操作接口")
public class SimulationParameterLibraryController {
@Autowired
private ISimulationParameterLibraryService simulationParameterLibraryService;
/**
* 添加仿真参数库
*
* @param parameterLibraryName 仿真参数库名
* @return 添加结果
*/
@GetMapping("/addLibrary")
@Operation(summary = "添加仿真参数库", description = "添加新的仿真参数库")
public SdmResponse addLibrary(@Parameter(description = "仿真参数库名") @RequestParam(value = "parameterLibraryName") String parameterLibraryName) {
return simulationParameterLibraryService.addLibrary(parameterLibraryName);
}
/**
* 添加仿真参数库分类
*/
@GetMapping("/addLibraryCategory")
@Operation(summary = "添加仿真参数库分类", description = "添加新的仿真参数库分类")
public SdmResponse addLibraryCategory(@Parameter(description = "仿真参数库ID") @RequestParam(value = "parameterLibraryId") Integer parameterLibraryId,@Parameter(description = "仿真参数库分类名") @RequestParam(value = "parameterLibraryCategoryName") String parameterLibraryCategoryName) {
return simulationParameterLibraryService.addLibraryCategory(parameterLibraryId,parameterLibraryCategoryName);
}
/**
* 添加仿真参数库分类的参数对象
*/
@PostMapping(value = "/addLibraryCategoryObject", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
@Operation(summary = "添加仿真参数库分类的参数对象", description = "添加新的仿真参数库分类的参数对象")
public SdmResponse addLibraryCategoryObject(SimulationParameterLibraryCategoryObjectReq simulationParameterLibraryCategoryObjectReq) {
return simulationParameterLibraryService.addLibraryCategoryObject(simulationParameterLibraryCategoryObjectReq);
}
/**
* 获取仿真参数展示树
*/
@GetMapping("/getSimulationParameterTree")
@Operation(summary = "获取仿真参数展示树", description = "获取仿真参数展示树")
public SdmResponse getSimulationParameterTree(@Parameter(description = "1模型库/2模型库分类/3参数对象") @RequestParam(value = "type",required = false) Integer type,@Parameter(description = "传对应模型库id/模型库分类id/参数对象id不传查所有的模型库") @RequestParam(value = "id",required = false) Integer id) {
return simulationParameterLibraryService.getSimulationParameterTree(type,id);
}
/**
* 获取仿真参数库分类参数对象 和JSON数据
*/
@GetMapping("/getSimulationParameterLibraryCategoryObject")
@Operation(summary = "获取仿真参数库分类参数对象和JSON数据", description = "获取仿真参数库分类参数对象")
public SdmResponse getSimulationParameterLibraryCategoryObject(@Parameter(description = "参数对象id") @RequestParam(value = "ObjectId") Integer ObjectId) {
return simulationParameterLibraryService.getSimulationParameterLibraryCategoryObject(ObjectId);
}
}

View File

@@ -0,0 +1,16 @@
package com.sdm.data.dao;
import com.sdm.data.model.entity.SimulationParameterLibraryCategory;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 仿真参数库分类表 Mapper 接口
* </p>
*
* @author author
* @since 2025-10-16
*/
public interface SimulationParameterLibraryCategoryMapper extends BaseMapper<SimulationParameterLibraryCategory> {
}

View File

@@ -0,0 +1,16 @@
package com.sdm.data.dao;
import com.sdm.data.model.entity.SimulationParameterLibraryCategoryObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 仿真参数库-参数对象表 Mapper 接口
* </p>
*
* @author author
* @since 2025-10-16
*/
public interface SimulationParameterLibraryCategoryObjectMapper extends BaseMapper<SimulationParameterLibraryCategoryObject> {
}

View File

@@ -0,0 +1,16 @@
package com.sdm.data.dao;
import com.sdm.data.model.entity.SimulationParameterLibrary;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 仿真参数库表 Mapper 接口
* </p>
*
* @author author
* @since 2025-10-16
*/
public interface SimulationParameterLibraryMapper extends BaseMapper<SimulationParameterLibrary> {
}

View File

@@ -0,0 +1,49 @@
package com.sdm.data.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 仿真参数库表
* </p>
*
* @author author
* @since 2025-10-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("simulation_parameter_library")
@ApiModel(value="SimulationParameterLibrary对象", description="仿真参数库表")
public class SimulationParameterLibrary implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增主键ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "参数库名称")
@TableField("parameter_library_name")
private String parameterLibraryName;
@ApiModelProperty(value = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
@ApiModelProperty(value = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,53 @@
package com.sdm.data.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 仿真参数库分类表
* </p>
*
* @author author
* @since 2025-10-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("simulation_parameter_library_category")
@ApiModel(value="SimulationParameterLibraryCategory对象", description="仿真参数库分类表")
public class SimulationParameterLibraryCategory implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增主键ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "参数库id")
@TableField("parameter_library_id")
private Integer parameterLibraryId;
@ApiModelProperty(value = "参数库分类名称")
@TableField("parameter_library_category_name")
private String parameterLibraryCategoryName;
@ApiModelProperty(value = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
@ApiModelProperty(value = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,65 @@
package com.sdm.data.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 仿真参数库-参数对象表
* </p>
*
* @author author
* @since 2025-10-16
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("simulation_parameter_library_category_object")
@ApiModel(value="SimulationParameterLibraryCategoryObject对象", description="仿真参数库-参数对象表")
public class SimulationParameterLibraryCategoryObject implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "自增主键ID")
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@ApiModelProperty(value = "参数库id")
@TableField("parameter_library_id")
private Integer parameterLibraryId;
@ApiModelProperty(value = "参数分类id")
@TableField("parameter_library_category_id")
private Integer parameterLibraryCategoryId;
@ApiModelProperty(value = "参数对象名")
@TableField("parameter_library_category_object_name")
private String parameterLibraryCategoryObjectName;
@ApiModelProperty(value = "文件ID关联file_metadata_info文件表id")
@TableField("file_id")
private Integer fileId;
@ApiModelProperty(value = "文件名")
@TableField("file_name")
private String fileName;
@ApiModelProperty(value = "创建时间")
@TableField("create_time")
private LocalDateTime createTime;
@ApiModelProperty(value = "修改时间")
@TableField("update_time")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,16 @@
package com.sdm.data.service;
import com.sdm.data.model.entity.SimulationParameterLibraryCategoryObject;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 仿真参数库-参数对象表 服务类
* </p>
*
* @author author
* @since 2025-10-16
*/
public interface ISimulationParameterLibraryCategoryObjectService extends IService<SimulationParameterLibraryCategoryObject> {
}

View File

@@ -0,0 +1,16 @@
package com.sdm.data.service;
import com.sdm.data.model.entity.SimulationParameterLibraryCategory;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 仿真参数库分类表 服务类
* </p>
*
* @author author
* @since 2025-10-16
*/
public interface ISimulationParameterLibraryCategoryService extends IService<SimulationParameterLibraryCategory> {
}

View File

@@ -0,0 +1,37 @@
package com.sdm.data.service;
import com.sdm.common.common.SdmResponse;
import com.sdm.data.model.entity.SimulationParameterLibrary;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sdm.data.model.req.SimulationParameterLibraryCategoryObjectReq;
/**
* <p>
* 仿真参数库表 服务类
* </p>
*
* @author author
* @since 2025-10-16
*/
public interface ISimulationParameterLibraryService extends IService<SimulationParameterLibrary> {
// 新增仿真参数库
SdmResponse addLibrary(String parameterLibraryName);
// 新增仿真参数库分类
SdmResponse addLibraryCategory(Integer parameterLibraryId, String parameterLibraryCategoryName);
// 新增仿真参数库分类的参数对象
SdmResponse addLibraryCategoryObject(SimulationParameterLibraryCategoryObjectReq simulationParameterLibraryCategoryObjectReq);
/**
* 获取仿真参数展示树
* @param type 1:仿真参数库 2:仿真参数库分类 3:仿真参数库分类参数对象
* @param id
* @return
*/
SdmResponse getSimulationParameterTree(Integer type,Integer id);
// 获取仿真参数库分类参数对象
SdmResponse getSimulationParameterLibraryCategoryObject(Integer ObjectId);
}

View File

@@ -0,0 +1,20 @@
package com.sdm.data.service.impl;
import com.sdm.data.model.entity.SimulationParameterLibraryCategoryObject;
import com.sdm.data.dao.SimulationParameterLibraryCategoryObjectMapper;
import com.sdm.data.service.ISimulationParameterLibraryCategoryObjectService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 仿真参数库-参数对象表 服务实现类
* </p>
*
* @author author
* @since 2025-10-16
*/
@Service
public class SimulationParameterLibraryCategoryObjectServiceImpl extends ServiceImpl<SimulationParameterLibraryCategoryObjectMapper, SimulationParameterLibraryCategoryObject> implements ISimulationParameterLibraryCategoryObjectService {
}

View File

@@ -0,0 +1,20 @@
package com.sdm.data.service.impl;
import com.sdm.data.model.entity.SimulationParameterLibraryCategory;
import com.sdm.data.dao.SimulationParameterLibraryCategoryMapper;
import com.sdm.data.service.ISimulationParameterLibraryCategoryService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 仿真参数库分类表 服务实现类
* </p>
*
* @author author
* @since 2025-10-16
*/
@Service
public class SimulationParameterLibraryCategoryServiceImpl extends ServiceImpl<SimulationParameterLibraryCategoryMapper, SimulationParameterLibraryCategory> implements ISimulationParameterLibraryCategoryService {
}

View File

@@ -0,0 +1,256 @@
package com.sdm.data.service.impl;
import com.alibaba.fastjson2.JSONObject;
import com.alibaba.nacos.client.naming.utils.CollectionUtils;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.sdm.common.common.Constants;
import com.sdm.common.common.SdmResponse;
import com.sdm.data.model.entity.SimulationParameterLibrary;
import com.sdm.data.dao.SimulationParameterLibraryMapper;
import com.sdm.data.model.entity.SimulationParameterLibraryCategory;
import com.sdm.data.model.entity.SimulationParameterLibraryCategoryObject;
import com.sdm.data.model.req.SimulationParameterLibraryCategoryObjectReq;
import com.sdm.data.model.resp.SimulationParameterLibraryCategoryObjectResp;
import com.sdm.data.service.IDataFileService;
import com.sdm.data.service.ISimulationParameterLibraryCategoryObjectService;
import com.sdm.data.service.ISimulationParameterLibraryCategoryService;
import com.sdm.data.service.ISimulationParameterLibraryService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
/**
* <p>
* 仿真参数库表 服务实现类
* </p>
*
* @author author
* @since 2025-10-16
*/
@Service
public class SimulationParameterLibraryServiceImpl extends ServiceImpl<SimulationParameterLibraryMapper, SimulationParameterLibrary> implements ISimulationParameterLibraryService {
@Resource
@Qualifier("dataFileService")
private IDataFileService dataFileService;
@Autowired
ISimulationParameterLibraryCategoryService simulationParameterLibraryCategoryService;
@Autowired
ISimulationParameterLibraryCategoryObjectService simulationParameterLibraryCategoryObjectService;
@Override
@Transactional(rollbackFor = Exception.class)
public SdmResponse addLibrary(String parameterLibraryName) {
SimulationParameterLibrary simulationParameterLibrary = new SimulationParameterLibrary();
simulationParameterLibrary.setParameterLibraryName(parameterLibraryName);
this.save(simulationParameterLibrary);
return SdmResponse.success("仿真参数库添加成功");
}
@Override
@Transactional(rollbackFor = Exception.class)
public SdmResponse addLibraryCategory(Integer parameterLibraryId, String parameterLibraryCategoryName) {
SimulationParameterLibraryCategory simulationParameterLibraryCategory = new SimulationParameterLibraryCategory();
simulationParameterLibraryCategory.setParameterLibraryId(parameterLibraryId);
simulationParameterLibraryCategory.setParameterLibraryCategoryName(parameterLibraryCategoryName);
simulationParameterLibraryCategoryService.save(simulationParameterLibraryCategory);
return SdmResponse.success("仿真参数库分类添加成功");
}
@Override
@Transactional(rollbackFor = Exception.class)
public SdmResponse addLibraryCategoryObject(SimulationParameterLibraryCategoryObjectReq simulationParameterLibraryCategoryObjectReq) {
try {
SdmResponse<Integer> integerSdmResponse = dataFileService.uploadSimulationParamFile(simulationParameterLibraryCategoryObjectReq.getFile());
Integer fileId = integerSdmResponse.getData();
SimulationParameterLibraryCategoryObject simulationParameterLibraryCategoryObject = new SimulationParameterLibraryCategoryObject();
BeanUtils.copyProperties(simulationParameterLibraryCategoryObjectReq, simulationParameterLibraryCategoryObject);
simulationParameterLibraryCategoryObject.setFileId(fileId);
simulationParameterLibraryCategoryObjectService.save(simulationParameterLibraryCategoryObject);
} catch (Exception e) {
log.error("仿真参数库文件上传失败", e);
return SdmResponse.failed("仿真参数库文件上传失败");
}
return SdmResponse.success();
}
@Override
public SdmResponse getSimulationParameterTree(Integer type, Integer id) {
List<JSONObject> jsonObjects = new ArrayList<>();
if (id == null) {
// 获取所有仿真参数库
List<SimulationParameterLibrary> simulationParameterLibraries = this.list();
if (CollectionUtils.isEmpty(simulationParameterLibraries)) {
return SdmResponse.success(jsonObjects);
}
simulationParameterLibraries.forEach(simulationParameterLibrary -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", simulationParameterLibrary.getId());
jsonObject.put("type", Constants.SimulationParameterDataType.LIBRARY.getValue());
jsonObject.put("name", simulationParameterLibrary.getParameterLibraryName());
jsonObjects.add(jsonObject);
});
return SdmResponse.success(jsonObjects);
}
if (type == Constants.SimulationParameterDataType.LIBRARY.getValue()) {
// 获取指定仿真参数库分类
SimulationParameterLibrary simulationParameterLibrary = this.getById(id);
if (simulationParameterLibrary != null) {
Integer simulationParameterLibraryId = simulationParameterLibrary.getId();
List<SimulationParameterLibraryCategory> simulationParameterLibraryCategories = simulationParameterLibraryCategoryService.lambdaQuery()
.eq(SimulationParameterLibraryCategory::getParameterLibraryId, simulationParameterLibraryId).list();
if (CollectionUtils.isEmpty(simulationParameterLibraryCategories)) {
return SdmResponse.success(jsonObjects);
}
simulationParameterLibraryCategories.forEach(simulationParameterLibraryCategory -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", simulationParameterLibraryCategory.getId());
jsonObject.put("type", Constants.SimulationParameterDataType.CATEGORY.getValue());
jsonObject.put("name", simulationParameterLibraryCategory.getParameterLibraryCategoryName());
jsonObjects.add(jsonObject);
});
return SdmResponse.success(jsonObjects);
}
}
if (type == Constants.SimulationParameterDataType.CATEGORY.getValue()) {
// 获取指定仿真参数库分类下的参数对象
List<SimulationParameterLibraryCategoryObject> simulationParameterLibraryCategoryObjects = simulationParameterLibraryCategoryObjectService
.lambdaQuery().eq(SimulationParameterLibraryCategoryObject::getParameterLibraryCategoryId, id).list();
if (CollectionUtils.isEmpty(simulationParameterLibraryCategoryObjects)) {
return SdmResponse.success(jsonObjects);
}
simulationParameterLibraryCategoryObjects.forEach(simulationParameterLibraryCategoryObject -> {
JSONObject jsonObject = new JSONObject();
jsonObject.put("id", simulationParameterLibraryCategoryObject.getId());
jsonObject.put("type", Constants.SimulationParameterDataType.OBJECT.getValue());
jsonObject.put("name", simulationParameterLibraryCategoryObject.getParameterLibraryCategoryObjectName());
jsonObjects.add(jsonObject);
});
return SdmResponse.success(jsonObjects);
}
return SdmResponse.success(jsonObjects);
}
@Override
public SdmResponse getSimulationParameterLibraryCategoryObject(Integer ObjectId) {
SimulationParameterLibraryCategoryObject simulationParameterLibraryCategoryObject = simulationParameterLibraryCategoryObjectService.getById(ObjectId);
SimulationParameterLibraryCategory simulationParameterLibraryCategory = simulationParameterLibraryCategoryService.getById(simulationParameterLibraryCategoryObject.getParameterLibraryCategoryId());
SimulationParameterLibrary simulationParameterLibrary = this.getById(simulationParameterLibraryCategory.getParameterLibraryId());
SimulationParameterLibraryCategoryObjectResp simulationParameterLibraryCategoryObjectResp = new SimulationParameterLibraryCategoryObjectResp();
BeanUtils.copyProperties(simulationParameterLibraryCategoryObject, simulationParameterLibraryCategoryObjectResp);
simulationParameterLibraryCategoryObjectResp.setParameterLibraryId(simulationParameterLibrary.getId());
simulationParameterLibraryCategoryObjectResp.setParameterLibraryName(simulationParameterLibrary.getParameterLibraryName());
simulationParameterLibraryCategoryObjectResp.setParameterLibraryCategoryId(simulationParameterLibraryCategory.getId());
simulationParameterLibraryCategoryObjectResp.setParameterLibraryCategoryName(simulationParameterLibraryCategory.getParameterLibraryCategoryName());
InputStream minioInputStream = dataFileService.getMinioInputStream(simulationParameterLibraryCategoryObject.getFileId());
// 使用Jackson解析JSON
try {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(minioInputStream);
List<Map<String, Object>> parameterJsonValueFromJsonNode = parseJsonArray(jsonNode);
simulationParameterLibraryCategoryObjectResp.setParameterJsonValue(parameterJsonValueFromJsonNode);
} catch (IOException e) {
log.error("解析JSON文件时发生错误", e);
return SdmResponse.failed("解析JSON文件时发生错误");
}
return SdmResponse
.success(simulationParameterLibraryCategoryObjectResp);
}
/**
* 解析JSON数组返回包含多个Map的List
* 每个Map对应数组中的一个对象键为属性名值为自动识别类型后的属性值
*
* @param jsonNode 从MinIO获取的JsonNode
* @return 解析后的List<Map<String, Object>>
*/
public List<Map<String, Object>> parseJsonArray(JsonNode jsonNode) {
List<Map<String, Object>> resultList = new ArrayList<>();
// 检查是否为有效的JSON数组
if (jsonNode == null || !jsonNode.isArray()) {
return resultList;
}
// 遍历数组中的每个对象
for (JsonNode objectNode : jsonNode) {
if (objectNode.isObject()) {
// 解析单个对象为Map
Map<String, Object> objectMap = parseJsonObject(objectNode);
resultList.add(objectMap);
}
}
return resultList;
}
/**
* 解析单个JSON对象为Map自动识别值的类型
*/
private Map<String, Object> parseJsonObject(JsonNode objectNode) {
Map<String, Object> resultMap = new HashMap<>();
Iterator<Map.Entry<String, JsonNode>> fields = objectNode.fields();
while (fields.hasNext()) {
Map.Entry<String, JsonNode> entry = fields.next();
String key = entry.getKey();
JsonNode valueNode = entry.getValue();
// 根据节点类型获取对应Java类型的值
Object value = getValueByNodeType(valueNode);
resultMap.put(key, value);
}
return resultMap;
}
/**
* 根据JsonNode类型获取对应Java类型的值
*/
private Object getValueByNodeType(JsonNode node) {
if (node.isNull()) {
return null;
} else if (node.isBoolean()) {
return node.asBoolean();
} else if (node.isInt()) {
return node.asInt();
} else if (node.isLong()) {
return node.asLong();
} else if (node.isDouble() || node.isFloat()) {
return node.asDouble();
} else if (node.isTextual()) {
return node.asText();
} else if (node.isArray()) {
// 如果值是数组,递归解析
List<Object> arrayList = new ArrayList<>();
for (JsonNode element : node) {
arrayList.add(getValueByNodeType(element));
}
return arrayList;
} else if (node.isObject()) {
// 如果值是对象,递归解析
return parseJsonObject(node);
} else {
// 其他未明确类型,转为字符串
return node.toString();
}
}
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sdm.data.dao.SimulationParameterLibraryCategoryMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sdm.data.dao.SimulationParameterLibraryCategoryObjectMapper">
</mapper>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.sdm.data.dao.SimulationParameterLibraryMapper">
</mapper>