|
|
@@ -2,8 +2,10 @@ package com.ruoyi.platform.service.impl; |
|
|
|
|
|
|
|
|
import com.ruoyi.common.security.utils.SecurityUtils; |
|
|
import com.ruoyi.common.security.utils.SecurityUtils; |
|
|
import com.ruoyi.platform.domain.ExperimentIns; |
|
|
import com.ruoyi.platform.domain.ExperimentIns; |
|
|
|
|
|
import com.ruoyi.platform.domain.ModelDependency1; |
|
|
import com.ruoyi.platform.mapper.ExperimentDao; |
|
|
import com.ruoyi.platform.mapper.ExperimentDao; |
|
|
import com.ruoyi.platform.mapper.ExperimentInsDao; |
|
|
import com.ruoyi.platform.mapper.ExperimentInsDao; |
|
|
|
|
|
import com.ruoyi.platform.mapper.ModelDependency1Dao; |
|
|
import com.ruoyi.platform.service.ExperimentInsService; |
|
|
import com.ruoyi.platform.service.ExperimentInsService; |
|
|
import com.ruoyi.platform.service.WorkflowService; |
|
|
import com.ruoyi.platform.service.WorkflowService; |
|
|
import com.ruoyi.platform.utils.*; |
|
|
import com.ruoyi.platform.utils.*; |
|
|
@@ -64,6 +66,9 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { |
|
|
@Resource |
|
|
@Resource |
|
|
private NewDatasetServiceImpl newDatasetService; |
|
|
private NewDatasetServiceImpl newDatasetService; |
|
|
|
|
|
|
|
|
|
|
|
@Resource |
|
|
|
|
|
private ModelDependency1Dao modelDependency1Dao; |
|
|
|
|
|
|
|
|
private final MinioUtil minioUtil; |
|
|
private final MinioUtil minioUtil; |
|
|
|
|
|
|
|
|
public ExperimentInsServiceImpl(MinioUtil minioUtil) { |
|
|
public ExperimentInsServiceImpl(MinioUtil minioUtil) { |
|
|
@@ -408,7 +413,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { |
|
|
this.experimentInsDao.update(ins); |
|
|
this.experimentInsDao.update(ins); |
|
|
|
|
|
|
|
|
//删除数据集模型导出版本 |
|
|
//删除数据集模型导出版本 |
|
|
deleteExportVersion(runResMap); |
|
|
|
|
|
|
|
|
deleteExportVersion(experimentIns); |
|
|
|
|
|
|
|
|
return true; |
|
|
return true; |
|
|
} else { |
|
|
} else { |
|
|
@@ -420,55 +425,28 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void deleteExportVersion(Map<String, Object> runResMap) throws Exception { |
|
|
|
|
|
|
|
|
void deleteExportVersion(ExperimentIns experimentIns) throws Exception { |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
LoginUser loginUser = SecurityUtils.getLoginUser(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
String ci4sUsername = loginUser.getUsername(); |
|
|
|
|
|
|
|
|
Map<String, Object> data = (Map<String, Object>) runResMap.get("data"); |
|
|
|
|
|
Map<String, Object> spec = (Map<String, Object>) data.get("spec"); |
|
|
|
|
|
if (spec != null) { |
|
|
|
|
|
List<Map<String, Object>> templates = (ArrayList<Map<String, Object>>) spec.get("templates"); |
|
|
|
|
|
for (Map<String, Object> template : templates) { |
|
|
|
|
|
String name = (String) template.get("name"); |
|
|
|
|
|
if (StringUtils.isNotEmpty(name) && name.contains("model-export")) { |
|
|
|
|
|
Map<String, Object> container = (Map<String, Object>) template.get("container"); |
|
|
|
|
|
List<String> args = (ArrayList<String>) container.get("args"); |
|
|
|
|
|
|
|
|
|
|
|
Map<String, Object> model = new HashMap<>(); |
|
|
|
|
|
String version = ""; |
|
|
|
|
|
for (String arg : args) { |
|
|
|
|
|
if (arg.startsWith("--model_id")) { |
|
|
|
|
|
String modelStr = arg.substring("--model_id=".length()); |
|
|
|
|
|
model = JsonUtils.jsonToMap(modelStr); |
|
|
|
|
|
} |
|
|
|
|
|
if (arg.startsWith("--version")) { |
|
|
|
|
|
version = arg.substring("--version=".length()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
String relativePath = ci4sUsername + "/model/" + model.get("id") + "/" + model.get("identifier") + "/" + version + "/model"; |
|
|
|
|
|
; |
|
|
|
|
|
modelsService.deleteVersion(Integer.valueOf((String) model.get("id")), (String) model.get("identifier"), (String) model.get("owner"), version, relativePath); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(name) && name.contains("dataset-export")) { |
|
|
|
|
|
Map<String, Object> container = (Map<String, Object>) template.get("container"); |
|
|
|
|
|
List<String> args = (ArrayList<String>) container.get("args"); |
|
|
|
|
|
|
|
|
String nodesResult = experimentIns.getNodesResult(); |
|
|
|
|
|
|
|
|
Map<String, Object> dataset = new HashMap<>(); |
|
|
|
|
|
String version = ""; |
|
|
|
|
|
|
|
|
if (StringUtils.isNotEmpty(nodesResult)) { |
|
|
|
|
|
Map<String, Object> nodesResultMap = JsonUtils.jsonToMap(nodesResult); |
|
|
|
|
|
Map<String, Object> paramOutput = (Map<String, Object>) nodesResultMap.get("param_output"); |
|
|
|
|
|
|
|
|
for (String arg : args) { |
|
|
|
|
|
if (arg.startsWith("--dataset_id")) { |
|
|
|
|
|
String datasetStr = arg.substring("--dataset_id=".length()); |
|
|
|
|
|
dataset = JsonUtils.jsonToMap(datasetStr); |
|
|
|
|
|
} |
|
|
|
|
|
if (arg.startsWith("--version")) { |
|
|
|
|
|
version = arg.substring("--version=".length()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
String relativePath = ci4sUsername + "/datasets/" + dataset.get("id") + "/" + dataset.get("identifier") + "/" + version + "/dataset"; |
|
|
|
|
|
newDatasetService.deleteDatasetVersionNew((String) dataset.get("identifier"), (String) dataset.get("owner"), version, relativePath); |
|
|
|
|
|
|
|
|
for (String key : paramOutput.keySet()) { |
|
|
|
|
|
//删除导出模型版本 |
|
|
|
|
|
if (key.contains("model-export")) { |
|
|
|
|
|
String query = "\"insId\":" + experimentIns.getId(); |
|
|
|
|
|
ModelDependency1 modelDependency1 = modelDependency1Dao.queryByInsId(query); |
|
|
|
|
|
String relativePath = ci4sUsername + "/model/" + modelDependency1.getRepoId() + "/" + modelDependency1.getIdentifier() + "/" + modelDependency1.getVersion() + "/model"; |
|
|
|
|
|
modelsService.deleteVersion(modelDependency1.getRepoId(), modelDependency1.getIdentifier(), modelDependency1.getOwner(), modelDependency1.getVersion(), relativePath); |
|
|
|
|
|
break; |
|
|
} |
|
|
} |
|
|
|
|
|
//删除导出数据集版本 todo |
|
|
|
|
|
// String relativePath = ci4sUsername + "/datasets/" + dataset.get("id") + "/" + dataset.get("identifier") + "/" + version + "/dataset"; |
|
|
|
|
|
// newDatasetService.deleteDatasetVersionNew((String) dataset.get("identifier"), (String) dataset.get("owner"), version, relativePath); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|