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