|
|
|
@@ -32,6 +32,7 @@ import java.util.Date; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
import java.util.zip.ZipEntry; |
|
|
|
import java.util.zip.ZipOutputStream; |
|
|
|
|
|
|
|
@@ -212,7 +213,7 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
|
@Override |
|
|
|
public Map uploadModels(MultipartFile[] files, Integer id, String version) throws Exception { |
|
|
|
|
|
|
|
Map<String, Object> results = new HashMap<String, Object>(); |
|
|
|
Map<Integer, Object> results = new HashMap<Integer, Object>(); |
|
|
|
|
|
|
|
// 验证模型是否存在 |
|
|
|
Models models = this.modelsDao.queryById(id); |
|
|
|
@@ -243,15 +244,15 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
|
modelsVersion.setUrl(objectName); |
|
|
|
modelsVersion.setFileName(fileName); |
|
|
|
modelsVersion.setFileSize(String.valueOf(sizeInKB)); |
|
|
|
modelsVersionService.insert(modelsVersion); |
|
|
|
//返回插入结果 |
|
|
|
ModelsVersion insertedModelsVersion = modelsVersionService.insert(modelsVersion); |
|
|
|
Map<String, String> fileResult = new HashMap<>(); |
|
|
|
fileResult.put("fileName", file.getOriginalFilename()); |
|
|
|
fileResult.put("url", objectName); // objectName根据实际情况定义 |
|
|
|
results.put(insertedModelsVersion.getId(), fileResult); |
|
|
|
} catch (Exception e) { |
|
|
|
throw new Exception("上传到模型失败: " + e.getMessage(), e); |
|
|
|
} |
|
|
|
Map<String, String> fileResult = new HashMap<>(); |
|
|
|
fileResult.put("fileName", file.getOriginalFilename()); |
|
|
|
fileResult.put("url", objectName); // objectName根据实际情况定义 |
|
|
|
results.put(file.getOriginalFilename(), fileResult); |
|
|
|
|
|
|
|
} |
|
|
|
return results; |
|
|
|
} |
|
|
|
@@ -348,6 +349,18 @@ public class ModelsServiceImpl implements ModelsService { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Map<String, List<ModelsVersion>> getModelVersions(Integer modelId) throws Exception { |
|
|
|
// 获取所有相同模型ID的记录 |
|
|
|
List<ModelsVersion> versions = modelsVersionDao.queryByModelsId(modelId); |
|
|
|
|
|
|
|
if (versions.isEmpty()) { |
|
|
|
throw new Exception("未找到相关模型版本记录"); |
|
|
|
} |
|
|
|
// 将结果按照版本分类 |
|
|
|
return versions.stream().collect(Collectors.groupingBy(ModelsVersion::getVersion)); |
|
|
|
} |
|
|
|
|
|
|
|
private String extractFileName(String urlStr) { |
|
|
|
return urlStr.substring(urlStr.lastIndexOf('/') + 1); |
|
|
|
} |
|
|
|
|