| @@ -4,7 +4,7 @@ import com.ruoyi.common.core.web.controller.BaseController; | |||||
| import com.ruoyi.common.core.web.domain.AjaxResult; | import com.ruoyi.common.core.web.domain.AjaxResult; | ||||
| import com.ruoyi.common.core.web.domain.GenericsAjaxResult; | import com.ruoyi.common.core.web.domain.GenericsAjaxResult; | ||||
| import com.ruoyi.platform.domain.AutoMl; | import com.ruoyi.platform.domain.AutoMl; | ||||
| import com.ruoyi.platform.service.AutoMLService; | |||||
| import com.ruoyi.platform.service.AutoMlService; | |||||
| import com.ruoyi.platform.vo.AutoMlVo; | import com.ruoyi.platform.vo.AutoMlVo; | ||||
| import io.swagger.annotations.Api; | import io.swagger.annotations.Api; | ||||
| import io.swagger.annotations.ApiOperation; | import io.swagger.annotations.ApiOperation; | ||||
| @@ -19,10 +19,10 @@ import java.io.IOException; | |||||
| @RestController | @RestController | ||||
| @RequestMapping("autoML") | @RequestMapping("autoML") | ||||
| @Api("自动机器学习") | @Api("自动机器学习") | ||||
| public class AutoMLController extends BaseController { | |||||
| public class AutoMlController extends BaseController { | |||||
| @Resource | @Resource | ||||
| private AutoMLService autoMLService; | |||||
| private AutoMlService autoMlService; | |||||
| @GetMapping | @GetMapping | ||||
| @ApiOperation("分页查询") | @ApiOperation("分页查询") | ||||
| @@ -30,42 +30,42 @@ public class AutoMLController extends BaseController { | |||||
| @RequestParam("size") int size, | @RequestParam("size") int size, | ||||
| @RequestParam(value = "ml_name", required = false) String mlName) { | @RequestParam(value = "ml_name", required = false) String mlName) { | ||||
| PageRequest pageRequest = PageRequest.of(page, size); | PageRequest pageRequest = PageRequest.of(page, size); | ||||
| return genericsSuccess(this.autoMLService.queryByPage(mlName, pageRequest)); | |||||
| return genericsSuccess(this.autoMlService.queryByPage(mlName, pageRequest)); | |||||
| } | } | ||||
| @PostMapping | @PostMapping | ||||
| @ApiOperation("新增自动机器学习") | @ApiOperation("新增自动机器学习") | ||||
| public GenericsAjaxResult<AutoMl> addAutoMl(@RequestBody AutoMlVo autoMlVo) throws Exception { | public GenericsAjaxResult<AutoMl> addAutoMl(@RequestBody AutoMlVo autoMlVo) throws Exception { | ||||
| return genericsSuccess(this.autoMLService.save(autoMlVo)); | |||||
| return genericsSuccess(this.autoMlService.save(autoMlVo)); | |||||
| } | } | ||||
| @PutMapping | @PutMapping | ||||
| @ApiOperation("编辑自动机器学习") | @ApiOperation("编辑自动机器学习") | ||||
| public GenericsAjaxResult<String> editAutoMl(@RequestBody AutoMlVo autoMlVo) throws Exception { | public GenericsAjaxResult<String> editAutoMl(@RequestBody AutoMlVo autoMlVo) throws Exception { | ||||
| return genericsSuccess(this.autoMLService.edit(autoMlVo)); | |||||
| return genericsSuccess(this.autoMlService.edit(autoMlVo)); | |||||
| } | } | ||||
| @GetMapping("/getAutoMlDetail") | @GetMapping("/getAutoMlDetail") | ||||
| @ApiOperation("获取自动机器学习详细信息") | @ApiOperation("获取自动机器学习详细信息") | ||||
| public GenericsAjaxResult<AutoMlVo> getAutoMlDetail(@RequestParam("id") Long id) throws IOException { | public GenericsAjaxResult<AutoMlVo> getAutoMlDetail(@RequestParam("id") Long id) throws IOException { | ||||
| return genericsSuccess(this.autoMLService.getAutoMlDetail(id)); | |||||
| return genericsSuccess(this.autoMlService.getAutoMlDetail(id)); | |||||
| } | } | ||||
| @DeleteMapping("{id}") | @DeleteMapping("{id}") | ||||
| @ApiOperation("删除自动机器学习") | @ApiOperation("删除自动机器学习") | ||||
| public GenericsAjaxResult<String> deleteAutoMl(@PathVariable("id") Long id) { | public GenericsAjaxResult<String> deleteAutoMl(@PathVariable("id") Long id) { | ||||
| return genericsSuccess(this.autoMLService.delete(id)); | |||||
| return genericsSuccess(this.autoMlService.delete(id)); | |||||
| } | } | ||||
| @CrossOrigin(origins = "*", allowedHeaders = "*") | @CrossOrigin(origins = "*", allowedHeaders = "*") | ||||
| @PostMapping("/upload") | @PostMapping("/upload") | ||||
| @ApiOperation(value = "上传数据文件csv", notes = "上传数据文件csv,并将信息存入数据库。") | @ApiOperation(value = "上传数据文件csv", notes = "上传数据文件csv,并将信息存入数据库。") | ||||
| public AjaxResult upload(@RequestParam("file") MultipartFile file, @RequestParam("uuid") String uuid) throws Exception { | public AjaxResult upload(@RequestParam("file") MultipartFile file, @RequestParam("uuid") String uuid) throws Exception { | ||||
| return AjaxResult.success(this.autoMLService.upload(file, uuid)); | |||||
| return AjaxResult.success(this.autoMlService.upload(file, uuid)); | |||||
| } | } | ||||
| @PostMapping("{id}") | @PostMapping("{id}") | ||||
| @ApiOperation("运行自动机器学习实验") | @ApiOperation("运行自动机器学习实验") | ||||
| public GenericsAjaxResult<String> runAutoML(@PathVariable("id") Long id) throws Exception { | public GenericsAjaxResult<String> runAutoML(@PathVariable("id") Long id) throws Exception { | ||||
| return genericsSuccess(this.autoMLService.runAutoMlIns(id)); | |||||
| return genericsSuccess(this.autoMlService.runAutoMlIns(id)); | |||||
| } | } | ||||
| } | } | ||||
| @@ -0,0 +1,49 @@ | |||||
| package com.ruoyi.platform.controller.autoML; | |||||
| import com.ruoyi.common.core.web.controller.BaseController; | |||||
| import com.ruoyi.common.core.web.domain.GenericsAjaxResult; | |||||
| import com.ruoyi.platform.domain.AutoMlIns; | |||||
| import com.ruoyi.platform.service.AutoMlInsService; | |||||
| import io.swagger.annotations.Api; | |||||
| import io.swagger.annotations.ApiOperation; | |||||
| import org.springframework.data.domain.Page; | |||||
| import org.springframework.data.domain.PageRequest; | |||||
| import org.springframework.web.bind.annotation.*; | |||||
| import javax.annotation.Resource; | |||||
| import java.io.IOException; | |||||
| import java.util.List; | |||||
| @RestController | |||||
| @RequestMapping("autoMLIns") | |||||
| @Api("自动机器学习实验实例") | |||||
| public class AutoMlInsController extends BaseController { | |||||
| @Resource | |||||
| private AutoMlInsService autoMLInsService; | |||||
| @GetMapping | |||||
| @ApiOperation("分页查询") | |||||
| public GenericsAjaxResult<Page<AutoMlIns>> queryByPage(AutoMlIns autoMlIns, int page, int size) throws IOException { | |||||
| PageRequest pageRequest = PageRequest.of(page, size); | |||||
| return genericsSuccess(this.autoMLInsService.queryByPage(autoMlIns, pageRequest)); | |||||
| } | |||||
| @PostMapping | |||||
| @ApiOperation("新增实验实例") | |||||
| public GenericsAjaxResult<AutoMlIns> add(@RequestBody AutoMlIns autoMlIns) { | |||||
| return genericsSuccess(this.autoMLInsService.insert(autoMlIns)); | |||||
| } | |||||
| @DeleteMapping("{id}") | |||||
| @ApiOperation("删除实验实例") | |||||
| public GenericsAjaxResult<String> deleteById(@PathVariable("id") Long id) { | |||||
| return genericsSuccess(this.autoMLInsService.removeById(id)); | |||||
| } | |||||
| @DeleteMapping("batchDelete") | |||||
| @ApiOperation("批量删除实验实例") | |||||
| public GenericsAjaxResult<String> batchDelete(@RequestBody List<Long> ids) throws Exception { | |||||
| return genericsSuccess(this.autoMLInsService.batchDelete(ids)); | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,35 @@ | |||||
| package com.ruoyi.platform.domain; | |||||
| import com.fasterxml.jackson.databind.PropertyNamingStrategy; | |||||
| import com.fasterxml.jackson.databind.annotation.JsonNaming; | |||||
| import io.swagger.annotations.ApiModel; | |||||
| import lombok.Data; | |||||
| import java.util.Date; | |||||
| @Data | |||||
| @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) | |||||
| @ApiModel(description = "自动机器学习实验实例") | |||||
| public class AutoMlIns { | |||||
| private Long id; | |||||
| private Long autoMlId; | |||||
| private String modelPath; | |||||
| private String imgPath; | |||||
| private Integer state; | |||||
| private String status; | |||||
| private String nodeStatus; | |||||
| private String nodeResult; | |||||
| private String param; | |||||
| private Date createTime; | |||||
| private Date updateTime; | |||||
| } | |||||
| @@ -6,7 +6,7 @@ import org.springframework.data.domain.Pageable; | |||||
| import java.util.List; | import java.util.List; | ||||
| public interface AutoMLDao { | |||||
| public interface AutoMlDao { | |||||
| long count(@Param("mlName") String mlName); | long count(@Param("mlName") String mlName); | ||||
| List<AutoMl> queryByPage(@Param("mlName") String mlName, @Param("pageable") Pageable pageable); | List<AutoMl> queryByPage(@Param("mlName") String mlName, @Param("pageable") Pageable pageable); | ||||
| @@ -0,0 +1,19 @@ | |||||
| package com.ruoyi.platform.mapper; | |||||
| import com.ruoyi.platform.domain.AutoMlIns; | |||||
| import org.apache.ibatis.annotations.Param; | |||||
| import org.springframework.data.domain.Pageable; | |||||
| import java.util.List; | |||||
| public interface AutoMlInsDao { | |||||
| long count(@Param("autoMlIns") AutoMlIns autoMlIns); | |||||
| List<AutoMlIns> queryAllByLimit(@Param("autoMlIns") AutoMlIns autoMlIns, @Param("pageable") Pageable pageable); | |||||
| int insert(@Param("autoMlIns") AutoMlIns autoMlIns); | |||||
| int update(@Param("autoMlIns") AutoMlIns autoMlIns); | |||||
| AutoMlIns queryById(@Param("id") Long id); | |||||
| } | |||||
| @@ -0,0 +1,18 @@ | |||||
| package com.ruoyi.platform.service; | |||||
| import org.springframework.data.domain.Page; | |||||
| import org.springframework.data.domain.PageRequest; | |||||
| import com.ruoyi.platform.domain.AutoMlIns; | |||||
| import java.io.IOException; | |||||
| import java.util.List; | |||||
| public interface AutoMlInsService { | |||||
| Page<AutoMlIns> queryByPage(AutoMlIns autoMlIns, PageRequest pageRequest) throws IOException; | |||||
| AutoMlIns insert(AutoMlIns autoMlIns); | |||||
| String removeById(Long id); | |||||
| String batchDelete(List<Long> ids); | |||||
| } | |||||
| @@ -9,7 +9,7 @@ import org.springframework.web.multipart.MultipartFile; | |||||
| import java.io.IOException; | import java.io.IOException; | ||||
| import java.util.Map; | import java.util.Map; | ||||
| public interface AutoMLService { | |||||
| public interface AutoMlService { | |||||
| Page<AutoMl> queryByPage(String mlName, PageRequest pageRequest); | Page<AutoMl> queryByPage(String mlName, PageRequest pageRequest); | ||||
| AutoMl save(AutoMlVo autoMlVo) throws Exception; | AutoMl save(AutoMlVo autoMlVo) throws Exception; | ||||
| @@ -0,0 +1,60 @@ | |||||
| package com.ruoyi.platform.service.impl; | |||||
| import com.ruoyi.platform.constant.Constant; | |||||
| import com.ruoyi.platform.domain.AutoMlIns; | |||||
| import com.ruoyi.platform.mapper.AutoMlInsDao; | |||||
| import com.ruoyi.platform.service.AutoMlInsService; | |||||
| import org.springframework.data.domain.Page; | |||||
| import org.springframework.data.domain.PageImpl; | |||||
| import org.springframework.data.domain.PageRequest; | |||||
| import org.springframework.stereotype.Service; | |||||
| import javax.annotation.Resource; | |||||
| import java.io.IOException; | |||||
| import java.util.List; | |||||
| @Service | |||||
| public class AutoMlInsServiceImpl implements AutoMlInsService { | |||||
| @Resource | |||||
| private AutoMlInsDao autoMlInsDao; | |||||
| @Override | |||||
| public Page<AutoMlIns> queryByPage(AutoMlIns autoMlIns, PageRequest pageRequest) throws IOException { | |||||
| long total = this.autoMlInsDao.count(autoMlIns); | |||||
| List<AutoMlIns> autoMlInsList = this.autoMlInsDao.queryAllByLimit(autoMlIns, pageRequest); | |||||
| return new PageImpl<>(autoMlInsList, pageRequest, total); | |||||
| } | |||||
| @Override | |||||
| public AutoMlIns insert(AutoMlIns autoMlIns) { | |||||
| this.autoMlInsDao.insert(autoMlIns); | |||||
| return autoMlIns; | |||||
| } | |||||
| @Override | |||||
| public String removeById(Long id) { | |||||
| AutoMlIns autoMlIns = autoMlInsDao.queryById(id); | |||||
| if (autoMlIns == null) { | |||||
| return "实验实例不存在"; | |||||
| } | |||||
| autoMlIns.setState(Constant.State_invalid); | |||||
| int update = autoMlInsDao.update(autoMlIns); | |||||
| if (update > 0) { | |||||
| return "删除成功"; | |||||
| } else { | |||||
| return "删除失败"; | |||||
| } | |||||
| } | |||||
| @Override | |||||
| public String batchDelete(List<Long> ids) { | |||||
| for (Long id : ids) { | |||||
| String result = removeById(id); | |||||
| if (!"删除成功".equals(result)) { | |||||
| return result; | |||||
| } | |||||
| } | |||||
| return "删除成功"; | |||||
| } | |||||
| } | |||||
| @@ -3,8 +3,8 @@ package com.ruoyi.platform.service.impl; | |||||
| import com.ruoyi.common.security.utils.SecurityUtils; | import com.ruoyi.common.security.utils.SecurityUtils; | ||||
| import com.ruoyi.platform.constant.Constant; | import com.ruoyi.platform.constant.Constant; | ||||
| import com.ruoyi.platform.domain.AutoMl; | import com.ruoyi.platform.domain.AutoMl; | ||||
| import com.ruoyi.platform.mapper.AutoMLDao; | |||||
| import com.ruoyi.platform.service.AutoMLService; | |||||
| import com.ruoyi.platform.mapper.AutoMlDao; | |||||
| import com.ruoyi.platform.service.AutoMlService; | |||||
| import com.ruoyi.platform.utils.*; | import com.ruoyi.platform.utils.*; | ||||
| import com.ruoyi.platform.vo.AutoMlVo; | import com.ruoyi.platform.vo.AutoMlVo; | ||||
| import io.kubernetes.client.openapi.models.V1Pod; | import io.kubernetes.client.openapi.models.V1Pod; | ||||
| @@ -29,7 +29,7 @@ import java.util.Map; | |||||
| import java.util.concurrent.CompletableFuture; | import java.util.concurrent.CompletableFuture; | ||||
| @Service("autoMLService") | @Service("autoMLService") | ||||
| public class AutoMLServiceImpl implements AutoMLService { | |||||
| public class AutoMlServiceImpl implements AutoMlService { | |||||
| @Value("${harbor.serviceNS}") | @Value("${harbor.serviceNS}") | ||||
| private String serviceNS; | private String serviceNS; | ||||
| @Value("${dockerpush.proxyUrl}") | @Value("${dockerpush.proxyUrl}") | ||||
| @@ -46,22 +46,20 @@ public class AutoMLServiceImpl implements AutoMLService { | |||||
| private static final Logger logger = LoggerFactory.getLogger(ModelsServiceImpl.class); | private static final Logger logger = LoggerFactory.getLogger(ModelsServiceImpl.class); | ||||
| @Resource | @Resource | ||||
| private AutoMLDao autoMLDao; | |||||
| private AutoMlDao autoMlDao; | |||||
| @Resource | @Resource | ||||
| private K8sClientUtil k8sClientUtil; | private K8sClientUtil k8sClientUtil; | ||||
| @Resource | |||||
| private DVCUtils dvcUtils; | |||||
| @Override | @Override | ||||
| public Page<AutoMl> queryByPage(String mlName, PageRequest pageRequest) { | public Page<AutoMl> queryByPage(String mlName, PageRequest pageRequest) { | ||||
| long total = autoMLDao.count(mlName); | |||||
| List<AutoMl> autoMls = autoMLDao.queryByPage(mlName, pageRequest); | |||||
| long total = autoMlDao.count(mlName); | |||||
| List<AutoMl> autoMls = autoMlDao.queryByPage(mlName, pageRequest); | |||||
| return new PageImpl<>(autoMls, pageRequest, total); | return new PageImpl<>(autoMls, pageRequest, total); | ||||
| } | } | ||||
| @Override | @Override | ||||
| public AutoMl save(AutoMlVo autoMlVo) throws Exception { | public AutoMl save(AutoMlVo autoMlVo) throws Exception { | ||||
| AutoMl autoMlByName = autoMLDao.getAutoMlByName(autoMlVo.getMlName()); | |||||
| AutoMl autoMlByName = autoMlDao.getAutoMlByName(autoMlVo.getMlName()); | |||||
| if (autoMlByName != null) { | if (autoMlByName != null) { | ||||
| throw new RuntimeException("实验名称已存在"); | throw new RuntimeException("实验名称已存在"); | ||||
| } | } | ||||
| @@ -72,13 +70,13 @@ public class AutoMLServiceImpl implements AutoMLService { | |||||
| autoMl.setUpdateBy(username); | autoMl.setUpdateBy(username); | ||||
| String datasetJson = JacksonUtil.toJSONString(autoMlVo.getDataset()); | String datasetJson = JacksonUtil.toJSONString(autoMlVo.getDataset()); | ||||
| autoMl.setDataset(datasetJson); | autoMl.setDataset(datasetJson); | ||||
| autoMLDao.save(autoMl); | |||||
| autoMlDao.save(autoMl); | |||||
| return autoMl; | return autoMl; | ||||
| } | } | ||||
| @Override | @Override | ||||
| public String edit(AutoMlVo autoMlVo) throws Exception { | public String edit(AutoMlVo autoMlVo) throws Exception { | ||||
| AutoMl oldAutoMl = autoMLDao.getAutoMlByName(autoMlVo.getMlName()); | |||||
| AutoMl oldAutoMl = autoMlDao.getAutoMlByName(autoMlVo.getMlName()); | |||||
| if (oldAutoMl != null && !oldAutoMl.getId().equals(autoMlVo.getId())) { | if (oldAutoMl != null && !oldAutoMl.getId().equals(autoMlVo.getId())) { | ||||
| throw new RuntimeException("实验名称已存在"); | throw new RuntimeException("实验名称已存在"); | ||||
| } | } | ||||
| @@ -90,13 +88,13 @@ public class AutoMLServiceImpl implements AutoMLService { | |||||
| String datasetJson = JacksonUtil.toJSONString(autoMlVo.getDataset()); | String datasetJson = JacksonUtil.toJSONString(autoMlVo.getDataset()); | ||||
| autoMl.setDataset(datasetJson); | autoMl.setDataset(datasetJson); | ||||
| autoMLDao.edit(autoMl); | |||||
| autoMlDao.edit(autoMl); | |||||
| return "修改成功"; | return "修改成功"; | ||||
| } | } | ||||
| @Override | @Override | ||||
| public String delete(Long id) { | public String delete(Long id) { | ||||
| AutoMl autoMl = autoMLDao.getAutoMlById(id); | |||||
| AutoMl autoMl = autoMlDao.getAutoMlById(id); | |||||
| if (autoMl == null) { | if (autoMl == null) { | ||||
| throw new RuntimeException("服务不存在"); | throw new RuntimeException("服务不存在"); | ||||
| } | } | ||||
| @@ -108,12 +106,12 @@ public class AutoMLServiceImpl implements AutoMLService { | |||||
| } | } | ||||
| autoMl.setState(Constant.State_invalid); | autoMl.setState(Constant.State_invalid); | ||||
| return autoMLDao.edit(autoMl) > 0 ? "删除成功" : "删除失败"; | |||||
| return autoMlDao.edit(autoMl) > 0 ? "删除成功" : "删除失败"; | |||||
| } | } | ||||
| @Override | @Override | ||||
| public AutoMlVo getAutoMlDetail(Long id) throws IOException { | public AutoMlVo getAutoMlDetail(Long id) throws IOException { | ||||
| AutoMl autoMl = autoMLDao.getAutoMlById(id); | |||||
| AutoMl autoMl = autoMlDao.getAutoMlById(id); | |||||
| AutoMlVo autoMlVo = new AutoMlVo(); | AutoMlVo autoMlVo = new AutoMlVo(); | ||||
| BeanUtils.copyProperties(autoMl, autoMlVo); | BeanUtils.copyProperties(autoMl, autoMlVo); | ||||
| if (StringUtils.isNotEmpty(autoMl.getDataset())) { | if (StringUtils.isNotEmpty(autoMl.getDataset())) { | ||||
| @@ -146,7 +144,7 @@ public class AutoMLServiceImpl implements AutoMLService { | |||||
| @Override | @Override | ||||
| public String runAutoMlIns(Long id) throws Exception { | public String runAutoMlIns(Long id) throws Exception { | ||||
| AutoMl autoMl = autoMLDao.getAutoMlById(id); | |||||
| AutoMl autoMl = autoMlDao.getAutoMlById(id); | |||||
| if (autoMl == null) { | if (autoMl == null) { | ||||
| throw new Exception("开发环境配置不存在"); | throw new Exception("开发环境配置不存在"); | ||||
| } | } | ||||
| @@ -1,6 +1,6 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | ||||
| <mapper namespace="com.ruoyi.platform.mapper.AutoMLDao"> | |||||
| <mapper namespace="com.ruoyi.platform.mapper.AutoMlDao"> | |||||
| <insert id="save"> | <insert id="save"> | ||||
| insert into auto_ml(ml_name, ml_description, task_type, dataset, time_left_for_this_task, | insert into auto_ml(ml_name, ml_description, task_type, dataset, time_left_for_this_task, | ||||
| per_run_time_limit, ensemble_size, ensemble_class, ensemble_nbest, max_models_on_disc, seed, | per_run_time_limit, ensemble_size, ensemble_class, ensemble_nbest, max_models_on_disc, seed, | ||||
| @@ -0,0 +1,64 @@ | |||||
| <?xml version="1.0" encoding="UTF-8"?> | |||||
| <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | |||||
| <mapper namespace="com.ruoyi.platform.mapper.AutoMlInsDao"> | |||||
| <insert id="insert" keyProperty="id" useGeneratedKeys="true"> | |||||
| insert into auto_ml_ins(auto_ml_id, model_path, img_path, node_status, node_result, param) | |||||
| values (#{autoMlIns.autoMlId}, #{autoMlIns.modelPath}, #{autoMlIns.imgPath}, #{autoMlIns.nodeStatus}, | |||||
| #{autoMlIns.nodeResult}, #{autoMlIns.param}) | |||||
| </insert> | |||||
| <update id="update"> | |||||
| update auto_ml_ins | |||||
| <set> | |||||
| <if test="autoMlIns.modelPath != null and autoMlIns.modelPath != ''"> | |||||
| model_path = #{autoMlIns.modelPath}, | |||||
| </if> | |||||
| <if test="autoMlIns.imgPath != null and autoMlIns.imgPath != ''"> | |||||
| img_path = #{autoMlIns.imgPath}, | |||||
| </if> | |||||
| <if test="autoMlIns.status != null and autoMlIns.status != ''"> | |||||
| status = #{autoMlIns.status}, | |||||
| </if> | |||||
| <if test="autoMlIns.nodeStatus != null and autoMlIns.nodeStatus != ''"> | |||||
| node_status = #{autoMlIns.nodeStatus}, | |||||
| </if> | |||||
| <if test="autoMlIns.nodeResult != null and autoMlIns.nodeResult != ''"> | |||||
| node_result = #{autoMlIns.nodeResult}, | |||||
| </if> | |||||
| <if test="autoMlIns.state != null"> | |||||
| state = #{autoMlIns.state}, | |||||
| </if> | |||||
| </set> | |||||
| </update> | |||||
| <select id="count" resultType="java.lang.Long"> | |||||
| select count(1) | |||||
| from auto_ml_ins | |||||
| <where> | |||||
| state = 1 | |||||
| <if test="autoMlIns.autoMlId != null"> | |||||
| and auto_ml_id = #{autoMlIns.autoMlId} | |||||
| </if> | |||||
| </where> | |||||
| </select> | |||||
| <select id="queryAllByLimit" resultType="com.ruoyi.platform.domain.AutoMlIns"> | |||||
| select * from auto_ml_ins | |||||
| <where> | |||||
| state = 1 | |||||
| <if test="autoMlIns.autoMlId != null"> | |||||
| and auto_ml_id = #{autoMlIns.autoMlId} | |||||
| </if> | |||||
| </where> | |||||
| order by update_time DESC | |||||
| limit #{pageable.offset}, #{pageable.pageSize} | |||||
| </select> | |||||
| <select id="queryById" resultType="com.ruoyi.platform.domain.AutoMlIns"> | |||||
| select * from auto_ml_ins | |||||
| <where> | |||||
| state = 1 and id = #{id} | |||||
| </where> | |||||
| </select> | |||||
| </mapper> | |||||