diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java index e3fdebaa..93add6d3 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/RayServiceImpl.java @@ -1,5 +1,7 @@ package com.ruoyi.platform.service.impl; +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.platform.constant.Constant; import com.ruoyi.platform.domain.Ray; @@ -17,7 +19,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.io.IOException; +import java.lang.reflect.Type; import java.util.List; +import java.util.Map; @Service("rayService") public class RayServiceImpl implements RayService { @@ -39,13 +43,13 @@ public class RayServiceImpl implements RayService { } Ray ray = new Ray(); BeanUtils.copyProperties(rayVo, ray); - String username = SecurityUtils.getLoginUser().getUsername(); +// String username = SecurityUtils.getLoginUser().getUsername(); + String username = "admin"; ray.setCreateBy(username); ray.setUpdateBy(username); - String datasetJson = JacksonUtil.toJSONString(rayVo.getDataset()); - ray.setDataset(datasetJson); - String codeJson = JacksonUtil.toJSONString(rayVo.getCode()); - ray.setCode(codeJson); + ray.setDataset(JacksonUtil.toJSONString(rayVo.getDataset())); + ray.setCode(JacksonUtil.toJSONString(rayVo.getCode())); + ray.setParameters(JacksonUtil.toJSONString(rayVo.getParameters())); rayDao.save(ray); return ray; } @@ -77,11 +81,15 @@ public class RayServiceImpl implements RayService { Ray ray = rayDao.getRayById(id); RayVo rayVo = new RayVo(); BeanUtils.copyProperties(ray, rayVo); + + Gson gson = new Gson(); + Type listType = new TypeToken>>() { + }.getType(); if (StringUtils.isNotEmpty(ray.getParameters())) { - rayVo.setParameters(JsonUtils.jsonToMap(ray.getParameters())); + rayVo.setParameters(gson.fromJson(ray.getParameters(), listType)); } if (StringUtils.isNotEmpty(ray.getPointsToEvaluate())) { - rayVo.setPointsToEvaluate(JsonUtils.jsonToMap(ray.getPointsToEvaluate())); + rayVo.setPointsToEvaluate(gson.fromJson(ray.getPointsToEvaluate(), listType)); } if (StringUtils.isNotEmpty(ray.getDataset())) { rayVo.setDataset(JsonUtils.jsonToMap(ray.getDataset())); diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java index 82e66c2b..af8b3e17 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/vo/RayVo.java @@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; +import java.util.List; import java.util.Map; @Data @@ -28,10 +29,10 @@ public class RayVo { private Integer numSamples; @ApiModelProperty(value = "参数") - private Map parameters; + private List> parameters; @ApiModelProperty(value = "手动指定需要运行的参数") - private Map pointsToEvaluate; + private List> pointsToEvaluate; @ApiModelProperty(value = "保存路径") private String storagePath; diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/RayDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/RayDaoMapper.xml index d592d444..86d88f35 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/RayDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/RayDaoMapper.xml @@ -5,7 +5,7 @@ insert into ray(name, description, dataset, dataset_path, code, main_py, num_samples, parameters, points_to_evaluate, storage_path, search_alg, scheduler, metric, mode, max_t, min_samples_required, cpu, gpu, create_by, update_by) - values (#{ray.name}, #{ray.dataset}, #{ray.datasetPath}, #{ray.code}, #{ray.mainPy}, #{ray.numSamples}, #{ray.parameters}, + values (#{ray.name}, #{ray.description}, #{ray.dataset}, #{ray.datasetPath}, #{ray.code}, #{ray.mainPy}, #{ray.numSamples}, #{ray.parameters}, #{ray.pointsToEvaluate}, #{ray.storagePath}, #{ray.searchAlg}, #{ray.scheduler}, #{ray.metric}, #{ray.mode}, #{ray.maxT}, #{ray.minSamplesRequired}, #{ray.cpu}, #{ray.gpu}, #{ray.createBy}, #{ray.updateBy})