| @@ -9,8 +9,12 @@ public interface ModelDependency1Dao { | |||
| int insert(ModelDependency1 modelDependency1); | |||
| int updateState(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("version") String version, @Param("state") Integer state); | |||
| List<ModelDependency1> queryModelDependency(@Param("modelName") String modelName, @Param("repoId") Integer repoId, @Param("owner") String owner); | |||
| ModelDependency1 getBuildingModel(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("version") String version); | |||
| ModelDependency1 queryByRepoAndVersion(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("version") String version); | |||
| List<ModelDependency1> queryByParentModel(@Param("parentModel") String parentModel); | |||
| @@ -3,6 +3,7 @@ package com.ruoyi.platform.service.impl; | |||
| import com.alibaba.fastjson2.JSON; | |||
| import com.ruoyi.common.security.utils.SecurityUtils; | |||
| import com.ruoyi.platform.annotations.CheckDuplicate; | |||
| import com.ruoyi.platform.constant.Constant; | |||
| import com.ruoyi.platform.domain.*; | |||
| import com.ruoyi.platform.domain.dependencydomain.ProjectDepency; | |||
| import com.ruoyi.platform.domain.dependencydomain.TrainTaskDepency; | |||
| @@ -599,6 +600,7 @@ public class ExperimentServiceImpl implements ExperimentService { | |||
| modelMetaVo.setName((String) targetModel.get("model_name")); | |||
| modelMetaVo.setVersion((String) targetModel.get("model_version")); | |||
| modelMetaVo.setOwner(gitLinkUsername); | |||
| modelDependency.setModelName((String) targetModel.get("model_name")); | |||
| List<VersionVo> versionVos = new ArrayList<>(); | |||
| for (Map<String, Object> outputFile : outputList) { | |||
| @@ -615,17 +617,20 @@ public class ExperimentServiceImpl implements ExperimentService { | |||
| } | |||
| modelMetaVo.setModelVersionVos(versionVos); | |||
| } | |||
| modelsService.newCreateVersion(modelMetaVo); | |||
| String meta = JSON.toJSONString(modelMetaVo); | |||
| modelDependency.setMeta(meta); | |||
| modelDependency.setOwner(gitLinkUsername); | |||
| modelDependency.setState(Constant.State_building); | |||
| modelDependency1Dao.insert(modelDependency); | |||
| } | |||
| } else { | |||
| String meta = JSON.toJSONString(modelMetaVo); | |||
| modelDependency.setMeta(meta); | |||
| modelDependency.setOwner(gitLinkUsername); | |||
| modelDependency.setState(Constant.State_building); | |||
| modelDependency1Dao.insert(modelDependency); | |||
| } | |||
| } | |||
| } | |||
| /** | |||
| @@ -684,7 +684,6 @@ public class ModelsServiceImpl implements ModelsService { | |||
| if (oldModelDependencys.stream().anyMatch(oldModelDependency -> oldModelDependency.getVersion().equals(modelsVo.getVersion()))) { | |||
| throw new RuntimeException("模型版本已存在,请勿重复创建"); | |||
| } | |||
| //新建版本 | |||
| String branchName = modelsVo.getVersion(); | |||
| String owner = (String) userInfo.get("login"); | |||
| @@ -753,15 +752,21 @@ public class ModelsServiceImpl implements ModelsService { | |||
| Map<String, Object> params = modelMetaVo.getParams(); | |||
| YamlUtils.generateYamlFile(params, rootPath, "params"); | |||
| //保存模型依赖 | |||
| modelDependency.setRepoId(modelsVo.getId()); | |||
| modelDependency.setIdentifier(repositoryName); | |||
| modelDependency.setModelName(modelsVo.getName()); | |||
| modelDependency.setVersion(modelsVo.getVersion()); | |||
| modelDependency.setParentModel(modelsVo.getParentModel()); | |||
| modelDependency.setOwner(gitLinkUsername); | |||
| modelDependency.setMeta(meta); | |||
| modelDependency1Dao.insert(modelDependency); | |||
| ModelDependency1 buildingModel = modelDependency1Dao.getBuildingModel(modelsVo.getId(), modelsVo.getIdentifier(), modelsVo.getVersion()); | |||
| if (buildingModel != null) { | |||
| //更新模型依赖 | |||
| modelDependency1Dao.updateState(modelsVo.getId(), modelsVo.getIdentifier(), modelsVo.getVersion(), Constant.State_valid); | |||
| } else { | |||
| //保存模型依赖 | |||
| modelDependency.setRepoId(modelsVo.getId()); | |||
| modelDependency.setIdentifier(repositoryName); | |||
| modelDependency.setModelName(modelsVo.getName()); | |||
| modelDependency.setVersion(modelsVo.getVersion()); | |||
| modelDependency.setParentModel(modelsVo.getParentModel()); | |||
| modelDependency.setOwner(gitLinkUsername); | |||
| modelDependency.setMeta(meta); | |||
| modelDependency1Dao.insert(modelDependency); | |||
| } | |||
| // 配置远程S3地址 | |||
| String s3Path = "management-platform-files/" + ci4sUsername + "/model/" + modelsVo.getId() + "/" + repositoryName + "/" + branchName; | |||
| @@ -40,6 +40,15 @@ | |||
| and state = 1 | |||
| </select> | |||
| <select id="getBuildingModel" resultType="com.ruoyi.platform.domain.ModelDependency1"> | |||
| select * | |||
| from model_dependency1 | |||
| where repo_id = #{repoId} | |||
| and identifier = #{identifier} | |||
| and version = #{version} | |||
| and state = 2 | |||
| </select> | |||
| <update id="deleteModel"> | |||
| update model_dependency1 | |||
| set state = 0 | |||
| @@ -54,4 +63,13 @@ | |||
| set parent_model = null | |||
| where JSON_CONTAINS(parent_model, #{parentModel}) | |||
| </update> | |||
| <update id="updateState"> | |||
| update model_dependency1 | |||
| set state = 1 | |||
| where repo_id = #{repoId} | |||
| and identifier = #{identifier} | |||
| and version = #{version} | |||
| and state = 2 | |||
| </update> | |||
| </mapper> | |||