Browse Source

修改模型查询树

dev-restore_mount
chenzhihang 1 year ago
parent
commit
e8cea9df83
6 changed files with 24 additions and 21 deletions
  1. +5
    -7
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java
  2. +3
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java
  3. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java
  4. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java
  5. +11
    -8
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java
  6. +3
    -3
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml

+ 5
- 7
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/model/NewModelFromGitController.java View File

@@ -67,17 +67,15 @@ public class NewModelFromGitController {
@ApiOperation("模型广场公开模型分页查询,根据model_type,model_tag筛选,true公开false私有") @ApiOperation("模型广场公开模型分页查询,根据model_type,model_tag筛选,true公开false私有")
public AjaxResult queryModels(@RequestParam(value = "page") int page, public AjaxResult queryModels(@RequestParam(value = "page") int page,
@RequestParam(value = "size") int size, @RequestParam(value = "size") int size,
@RequestParam(value = "is_public") Boolean isPublic,
@RequestParam(value = "is_public", required = false) Boolean isPublic,
@RequestParam(value = "model_type", required = false) String modelType, @RequestParam(value = "model_type", required = false) String modelType,
@RequestParam(value = "model_tag", required = false) String modelTag, @RequestParam(value = "model_tag", required = false) String modelTag,
@RequestParam(value = "git_link_username") String gitLinkUsername,
@RequestParam(value = "git_link_password") String gitLinkPassword) throws Exception {
@RequestParam(value = "name", required = false) String name) throws Exception {
PageRequest pageRequest = PageRequest.of(page, size); PageRequest pageRequest = PageRequest.of(page, size);
ModelsVo modelsVo = new ModelsVo(); ModelsVo modelsVo = new ModelsVo();
modelsVo.setModelType(modelType); modelsVo.setModelType(modelType);
modelsVo.setModelTag(modelTag); modelsVo.setModelTag(modelTag);
modelsVo.setGitLinkUsername(gitLinkUsername);
modelsVo.setGitLinkPassword(gitLinkPassword);
modelsVo.setName(name);
if (isPublic) { if (isPublic) {
return AjaxResult.success(this.modelsService.newPubilcQueryByPage(modelsVo, pageRequest)); return AjaxResult.success(this.modelsService.newPubilcQueryByPage(modelsVo, pageRequest));
} else { } else {
@@ -100,7 +98,7 @@ public class NewModelFromGitController {


@GetMapping("/getModelDependencyTree") @GetMapping("/getModelDependencyTree")
@ApiOperation(value = "获取模型依赖关系树") @ApiOperation(value = "获取模型依赖关系树")
public AjaxResult getModelDependencyTree(@RequestParam("modelName") String modelName, @RequestParam("version") String version) throws Exception {
return AjaxResult.success(this.modelsService.getModelDependencyTree(modelName, version));
public AjaxResult getModelDependencyTree(@RequestParam("repoId")Integer repoId, @RequestParam("modelName") String modelName, @RequestParam("version") String version) throws Exception {
return AjaxResult.success(this.modelsService.getModelDependencyTree(repoId, modelName, version));
} }
} }

+ 3
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/ModelDependency1.java View File

@@ -19,7 +19,9 @@ public class ModelDependency1 implements Serializable {


private Integer repoId; private Integer repoId;


private String repoName;
private String identifier;

private String owner;


private Integer state; private Integer state;
} }

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java View File

@@ -11,7 +11,7 @@ public interface ModelDependency1Dao {


List<ModelDependency1> queryByModelName(@Param("modelName") String modelName); List<ModelDependency1> queryByModelName(@Param("modelName") String modelName);


ModelDependency1 queryByModelNameAndVersion(@Param("modelName") String modelName, @Param("version") String version);
ModelDependency1 queryByModelNameAndVersion(@Param("repoId") Integer repoId, @Param("modelName") String modelName, @Param("version") String version);


List<ModelDependency1> queryByParentModel(@Param("parentModel") String parentModel); List<ModelDependency1> queryByParentModel(@Param("parentModel") String parentModel);
} }

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ModelsService.java View File

@@ -102,5 +102,5 @@ public interface ModelsService {


ModelMetaVo getModelMeta(String modelName, String version) throws Exception; ModelMetaVo getModelMeta(String modelName, String version) throws Exception;


ModelDependency1TreeVo getModelDependencyTree(String modelName, String version)throws Exception;
ModelDependency1TreeVo getModelDependencyTree(Integer repoId, String modelName, String version)throws Exception;
} }

+ 11
- 8
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ModelsServiceImpl.java View File

@@ -562,10 +562,11 @@ public class ModelsServiceImpl implements ModelsService {
} }


//保存模型依赖 //保存模型依赖
modelDependency.setRepoName(repositoryName);
modelDependency.setIdentifier(repositoryName);
modelDependency.setModelName(modelsVo.getName()); modelDependency.setModelName(modelsVo.getName());
modelDependency.setVersion(modelsVo.getVersion()); modelDependency.setVersion(modelsVo.getVersion());
modelDependency.setParentModel(modelsVo.getParentModel()); modelDependency.setParentModel(modelsVo.getParentModel());
modelDependency.setOwner(ci4sUsername);
modelDependency1Dao.insert(modelDependency); modelDependency1Dao.insert(modelDependency);
return "新增模型成功"; return "新增模型成功";
} catch (Exception e) { } catch (Exception e) {
@@ -723,12 +724,13 @@ public class ModelsServiceImpl implements ModelsService {
List<Map<String, Object>> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull(localPath + ci4sUsername + "/model/", modelName, version, "model", gitLinkUsername, gitLinkPassword); List<Map<String, Object>> fileDetailsAfterGitPull = DVCUtils.getFileDetailsAfterGitPull(localPath + ci4sUsername + "/model/", modelName, version, "model", gitLinkUsername, gitLinkPassword);


Map<String, Object> stringObjectMap = YamlUtils.loadYamlFile(localPath + ci4sUsername + "/model/" + modelName + "/" + version + "/metadata/metadata.yaml"); Map<String, Object> stringObjectMap = YamlUtils.loadYamlFile(localPath + ci4sUsername + "/model/" + modelName + "/" + version + "/metadata/metadata.yaml");
assert stringObjectMap != null;
return ConvertUtil.convertMapToObject(stringObjectMap, ModelMetaVo.class); return ConvertUtil.convertMapToObject(stringObjectMap, ModelMetaVo.class);
} }


@Override @Override
public ModelDependency1TreeVo getModelDependencyTree(String modelName, String version) throws Exception {
ModelDependency1 modelDependency1 = modelDependency1Dao.queryByModelNameAndVersion(modelName, version);
public ModelDependency1TreeVo getModelDependencyTree(Integer repoId, String modelName, String version) throws Exception {
ModelDependency1 modelDependency1 = modelDependency1Dao.queryByModelNameAndVersion(repoId, modelName, version);
ModelDependency1TreeVo modelDependency1TreeVo = new ModelDependency1TreeVo(); ModelDependency1TreeVo modelDependency1TreeVo = new ModelDependency1TreeVo();
BeanUtils.copyProperties(modelDependency1, modelDependency1TreeVo); BeanUtils.copyProperties(modelDependency1, modelDependency1TreeVo);


@@ -827,11 +829,12 @@ public class ModelsServiceImpl implements ModelsService {
void getParentModel(List<ModelDependency1> modelList, ModelDependency1 modelDependency1) { void getParentModel(List<ModelDependency1> modelList, ModelDependency1 modelDependency1) {
if (modelDependency1.getParentModel() != null) { if (modelDependency1.getParentModel() != null) {
String[] split = modelDependency1.getParentModel().split(":"); String[] split = modelDependency1.getParentModel().split(":");
String parentModelName = split[0];
String parentModelVersion = split[1];
ModelDependency1 parentModel = modelDependency1Dao.queryByModelNameAndVersion(parentModelName, parentModelVersion);
Integer parentRepoId = Integer.valueOf(split[0]);
String parentModelName = split[1];
String parentModelVersion = split[2];
ModelDependency1 parentModel = modelDependency1Dao.queryByModelNameAndVersion(parentRepoId, parentModelName, parentModelVersion);
modelList.add(parentModel); modelList.add(parentModel);
if (parentModel.getParentModel() != null) {
if (parentModel != null && parentModel.getParentModel() != null) {
getParentModel(modelList, parentModel); getParentModel(modelList, parentModel);
} }
} }
@@ -839,7 +842,7 @@ public class ModelsServiceImpl implements ModelsService {


void getChildModel(ModelDependency1TreeVo modelDependency1TreeVo) { void getChildModel(ModelDependency1TreeVo modelDependency1TreeVo) {
List<ModelDependency1TreeVo> childModelList = new ArrayList<>(); List<ModelDependency1TreeVo> childModelList = new ArrayList<>();
String model = modelDependency1TreeVo.getModelName() + ":" + modelDependency1TreeVo.getVersion();
String model = modelDependency1TreeVo.getRepoId() + ":" + modelDependency1TreeVo.getModelName() + ":" + modelDependency1TreeVo.getVersion();


List<ModelDependency1> children = modelDependency1Dao.queryByParentModel(model); List<ModelDependency1> children = modelDependency1Dao.queryByParentModel(model);
if (children != null && !children.isEmpty()) { if (children != null && !children.isEmpty()) {


+ 3
- 3
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml View File

@@ -4,8 +4,8 @@




<insert id="insert" keyProperty="id" useGeneratedKeys="true"> <insert id="insert" keyProperty="id" useGeneratedKeys="true">
insert into model_dependency1(parent_model, model_name, version, repo_id, repo_name)
values (#{parentModel}, #{modelName}, #{version}, #{repoId}, #{repoName})
insert into model_dependency1(parent_model, model_name, version, repo_id, identifier, owner)
values (#{parentModel}, #{modelName}, #{version}, #{repoId}, #{identifier}, #{owner})
</insert> </insert>


<select id="queryByModelName" resultType="com.ruoyi.platform.domain.ModelDependency1"> <select id="queryByModelName" resultType="com.ruoyi.platform.domain.ModelDependency1">
@@ -17,7 +17,7 @@
<select id="queryByModelNameAndVersion" resultType="com.ruoyi.platform.domain.ModelDependency1"> <select id="queryByModelNameAndVersion" resultType="com.ruoyi.platform.domain.ModelDependency1">
select * select *
from model_dependency1 from model_dependency1
where model_name = #{modelName} and version = #{version} and state = 1
where repo_id = #{repoId} and model_name = #{modelName} and version = #{version} and state = 1
</select> </select>


<select id="queryByParentModel" resultType="com.ruoyi.platform.domain.ModelDependency1"> <select id="queryByParentModel" resultType="com.ruoyi.platform.domain.ModelDependency1">


Loading…
Cancel
Save