From ae97005a7c5ed4e3d41132e6cbe56ec32520d0c2 Mon Sep 17 00:00:00 2001 From: NingHuan <2139614357@qq.com> Date: Fri, 4 Jul 2025 10:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E3=80=81=E7=89=88=E6=9C=AC=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E3=80=81=E6=A8=A1=E5=9E=8B=E4=BF=AE=E6=94=B9=E5=92=8C=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=E6=9B=B4=E6=96=B0=E7=9A=84=E9=83=A8=E5=88=86=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ModelController.java | 26 ++++++++ .../mapper/EvaluationMapper.java | 4 +- .../mapper/ModelMapper.java | 7 +++ .../pojo/ModelEvaluation.java | 2 +- .../pojo/ModelTrainInfoVO.java | 18 ++++++ .../pojo/ModelVersionDTO.java | 1 + .../service/Impl/ModelServiceImpl.java | 59 ++++++++++++++++++- .../service/ModelService.java | 6 ++ .../resources/mapper/EvaluationMapper.xml | 2 +- src/main/resources/mapper/ModelMapper.xml | 15 ++++- 10 files changed, 133 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelTrainInfoVO.java diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java index c51155f..33a92c5 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/controller/ModelController.java @@ -102,5 +102,31 @@ public class ModelController { return OptResult.success(datasetList); } + @Operation(summary = "获取模型训练信息") + @GetMapping("/getModelTrainInfo") + public OptResult getModelTrainInfo(Long id){ + log.info("获取模型训练信息"); + ModelTrainInfoVO modelTrainInfo = modelService.getModelTrainInfo(id); + return OptResult.success(modelTrainInfo); + } + + @Operation(summary = "模型修改成训练中") + @PutMapping("/updateModelTrain") + public OptResult updateModelTrain(Long id){ + log.info("模型修改成训练中"); + modelService.updateModelTrain(id); + return OptResult.success(); + } + + @Operation(summary = "模型更新小版本") + @PutMapping("/updateModelVersionMinor") + public OptResult updateModelVersionMinor(@RequestBody ModelVersionDTO dto){ + log.info("模型更新小版本"); + modelService.updateModelVersionMinor(dto); + return OptResult.success(); + } + + + } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/EvaluationMapper.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/EvaluationMapper.java index 35c6778..39ac3d9 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/EvaluationMapper.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/EvaluationMapper.java @@ -5,14 +5,14 @@ import com.bipt.intelligentapplicationorchestrationservice.pojo.ModelLogVO; public interface EvaluationMapper { /* * 查询模型评估日志详情 - * @param id 模型评估日志id + * @param id 模型版本id * @return 模型评估日志详情 */ ModelLogVO selectLogDetail(Long id); /* * 更新模型评估日志状态(评估通过则上线) - * @param id 模型评估日志id + * @param id 模型版本id * @param status 模型评估日志状态 */ void update(Long id, Integer status); diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java index c8d5e03..02b7597 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/mapper/ModelMapper.java @@ -76,4 +76,11 @@ public interface ModelMapper { */ @Select("select dataset_id,dataset_name from dataset") List listDataset(); + + /** + * 获取模型训练信息 + * @param id 模型版本表id + * 返回模型训练信息 + */ + ModelTrainInfoVO getModelTrainInfo(Long id); } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelEvaluation.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelEvaluation.java index 1429342..7786705 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelEvaluation.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelEvaluation.java @@ -17,7 +17,7 @@ import java.time.LocalDateTime; @AllArgsConstructor public class ModelEvaluation implements Serializable { private Long id; // 评估记录id - private Long modelId; // 关联模型id + private Long modelVersionId; // 关联模型id,后续修改成了模型版本id private LocalDateTime evaluationTime; // 评估时间 private String evaluationResult; // 评估结果 private String operator; // 评估操作人员 diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelTrainInfoVO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelTrainInfoVO.java new file mode 100644 index 0000000..2c26181 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelTrainInfoVO.java @@ -0,0 +1,18 @@ +package com.bipt.intelligentapplicationorchestrationservice.pojo; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class ModelTrainInfoVO { + private Long id; + private Integer datasetId; // 数据集id + private String modelConfig; // 模型配置信息 + private String dsPath;// 版本信息表id + private String dataPreHandleFile; // 数据预处理文件存储路径 +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelVersionDTO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelVersionDTO.java index 55618ab..2e63732 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelVersionDTO.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/pojo/ModelVersionDTO.java @@ -12,6 +12,7 @@ import java.time.LocalDateTime; @AllArgsConstructor public class ModelVersionDTO { private Long id; // 模型版本id + private Long modelId; // 模型id private String version; // 模型版本 private Integer datasetId; // 数据集id private String modelConfig; // 模型配置信息 diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/ModelServiceImpl.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/ModelServiceImpl.java index 141e131..9d97055 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/ModelServiceImpl.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/Impl/ModelServiceImpl.java @@ -72,6 +72,10 @@ public class ModelServiceImpl implements ModelService { return modelVOList; } + /** + * 查询模型详情 + * @param id + */ @Override public ModelVersion detail(Long id) { log.info("查询模型详情"); @@ -79,13 +83,23 @@ public class ModelServiceImpl implements ModelService { return modelVersion; } + /** + * 更新模型 + * @param dto + */ @Override public void updateModel(ModelVersionDTO dto) { - // 更新模型还需要更新操作人和时间 + // TODO: 更新模型还需要更新操作人和时间 log.info("更新模型"); + dto.setCreateTime(LocalDateTime.now()); + dto.setUpdateTime(LocalDateTime.now()); modelMapper.update(dto); } + /** + * 删除模型版本 + * @param id + */ @Override public void deleteModelVersion(Long id) { log.info("删除模型版本"); @@ -149,6 +163,9 @@ public class ModelServiceImpl implements ModelService { log.info("模型生命周期更新成功,新状态为: {}", targetLifeCycle); } + /** + * 获取模型生命周期列表 + */ @Override public List> listLifeCycle() { return Arrays.stream(ModelLifecycle.values()) @@ -159,6 +176,9 @@ public class ModelServiceImpl implements ModelService { .collect(Collectors.toList()); } + /** + * 获取模型数据集列表 + */ @Override public List listDataset() { List datasetEntityList = modelMapper.listDataset(); @@ -166,4 +186,41 @@ public class ModelServiceImpl implements ModelService { } + /** + * 获取模型训练信息 + * @param id + */ + @Override + public ModelTrainInfoVO getModelTrainInfo(Long id) { + ModelTrainInfoVO modelTrainInfoVO = modelMapper.getModelTrainInfo(id); + return modelTrainInfoVO; + } + + /** + * 模型训练(把模型修改成训练中) + * @param id + */ + @Override + public void updateModelTrain(Long id) { + // 更新当前模型的生命周期为训练中 + modelMapper.updateLifeCycleById(id, ModelLifecycle.TRAINING.getDbValue()); + } + + /** + * 模型小版本更新 + * @param dto + */ + @Override + public void updateModelVersionMinor(ModelVersionDTO dto) { + // 更新模型小版本(其实是新增一个小版本) + ModelVersion modelVersion = new ModelVersion(); + BeanUtils.copyProperties(dto, modelVersion, "id", "modelId"); + modelVersion.setModelId(dto.getModelId()); // 把模型id设置成该模型版本关联的模型id + modelVersion.setCreateTime(LocalDateTime.now()); + modelVersion.setUpdateTime(LocalDateTime.now()); + modelVersion.setOperateUser("zs"); + // TODO: 后续可能还需要更新操作人 + modelMapper.insertModelVersion(modelVersion); + } + } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/ModelService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/ModelService.java index dc468f0..f3c4b32 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/ModelService.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/service/ModelService.java @@ -23,4 +23,10 @@ public interface ModelService { List> listLifeCycle(); List listDataset(); + + ModelTrainInfoVO getModelTrainInfo(Long id); + + void updateModelTrain(Long id); + + void updateModelVersionMinor(ModelVersionDTO dto); } diff --git a/src/main/resources/mapper/EvaluationMapper.xml b/src/main/resources/mapper/EvaluationMapper.xml index 9053b83..e7cfa23 100644 --- a/src/main/resources/mapper/EvaluationMapper.xml +++ b/src/main/resources/mapper/EvaluationMapper.xml @@ -9,7 +9,7 @@ from model_log m1, model_info m2, model_version m3 - where m1.model_id=m2.id and m3.model_id=m2.id and m1.model_id = #{id} + where m1.model_version_id=m3.id and m3.model_id=m2.id and m1.model_version_id = #{id} diff --git a/src/main/resources/mapper/ModelMapper.xml b/src/main/resources/mapper/ModelMapper.xml index 10d5c6d..5a5553f 100644 --- a/src/main/resources/mapper/ModelMapper.xml +++ b/src/main/resources/mapper/ModelMapper.xml @@ -31,8 +31,8 @@ + select m1.dataset_id, + m1.id, + m1.model_config, + d2.ds_path, + m1.data_pre_handle_file + from model_version m1,dataset d2 + where m1.dataset_id=d2.dataset_id and m1.id=#{id} + \ No newline at end of file