Browse Source

feat(module-alert): 添加模型管理功能

- 新增模型配置表(ModelCfg)和相关 mapper、service- 实现模型列表、模型信息、创建模型、更新模型等功能- 添加模型数据查询和计算接口
- 定义模型相关 VO 类
pull/16/head
CJL6015 2 months ago
parent
commit
c7e484af91
  1. 55
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelController.java
  2. 32
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelDataController.java
  3. 14
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/CreateModelInfo.java
  4. 26
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataQuery.java
  5. 35
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataVO.java
  6. 66
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelInfoVO.java
  7. 47
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSelectQuery.java
  8. 47
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSimpleVO.java
  9. 59
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/PointVO.java
  10. 16
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/TimeRange.java
  11. 75
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelCfg.java
  12. 18
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.java
  13. 13
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelCfgService.java
  14. 22
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelCfgServiceImpl.java
  15. 26
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelDataService.java
  16. 48
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java
  17. 33
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelDataServiceImpl.java
  18. 62
      yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java
  19. 49
      yudao-module-alert/yudao-module-alert-biz/src/main/resources/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.xml

55
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelController.java

@ -0,0 +1,55 @@
package cn.iocoder.yudao.module.alert.controller.model;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.alert.controller.model.vo.CreateModelInfo;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelInfoVO;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSelectQuery;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSimpleVO;
import cn.iocoder.yudao.module.alert.service.model.ModelService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Objects;
import static cn.iocoder.yudao.framework.common.exception.enums.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 13:07
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/model")
public class ModelController {
private final ModelService modelService;
@GetMapping("/card/list")
public CommonResult<List<ModelSimpleVO>> getModelList(ModelSelectQuery query) {
List<ModelSimpleVO> modelList = modelService.getModelList(query);
return CommonResult.success(modelList);
}
@GetMapping("info/{id}")
public CommonResult<ModelInfoVO> getModelInfo(@PathVariable Integer id) {
ModelInfoVO modelInfo = modelService.getModelInfo(id);
return CommonResult.success(modelInfo);
}
@PostMapping("/")
public CommonResult<Integer> saveModel(@RequestBody CreateModelInfo model) {
Integer id = modelService.createModel(model);
if (Objects.nonNull(id) && id > 0) {
return CommonResult.success(id);
}
return CommonResult.error(INTERNAL_SERVER_ERROR.getCode(), "新建模型异常");
}
@PatchMapping("/info")
public CommonResult<Boolean> updateModelInfo(@RequestBody ModelInfoVO vo) {
Boolean b = modelService.updateModelInfo(vo);
return CommonResult.success(b);
}
}

32
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/ModelDataController.java

@ -0,0 +1,32 @@
package cn.iocoder.yudao.module.alert.controller.model;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataQuery;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataVO;
import cn.iocoder.yudao.module.alert.controller.model.vo.TimeRange;
import cn.iocoder.yudao.module.alert.service.model.ModelDataService;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
/**
* @author chenjiale
* @version 1.0
* @date 2023-09-05 22:08
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/model/data")
public class ModelDataController {
private final ModelDataService modelDataService;
@GetMapping("/{id}")
public CommonResult<ModelDataVO> getModelData(@PathVariable Integer id, ModelDataQuery query) {
return CommonResult.success(null);
}
@PostMapping("/calculate/{id}")
public CommonResult<Boolean> calculate(@PathVariable Integer id, @RequestBody TimeRange timeRange) {
return CommonResult.success(null);
}
}

14
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/CreateModelInfo.java

@ -0,0 +1,14 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import lombok.Data;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-20 22:57
*/
@Data
public class CreateModelInfo {
private Integer systemId;
private ModelInfoVO modelInfo;
}

26
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataQuery.java

@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotBlank;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author chenjiale
* @version 1.0
* @date 2023-09-15 22:52
*/
@Data
public class ModelDataQuery {
private String type;
@NotBlank
private String index;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date st;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date et;
}

35
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelDataVO.java

@ -0,0 +1,35 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import lombok.*;
import java.util.List;
/**
* @author chenjiale
* @version 1.0
* @date 2023-09-05 22:50
*/
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class ModelDataVO {
/**
* 目标数值
*/
private List<Double> targetValue;
/**
* 参数个数
*/
private int[] sampleValue;
/**
* 边界数据
*/
private List<List<Double>> dataList;
/**
* 热力图数据
*/
private List<int[]> heatData;
}

66
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelInfoVO.java

@ -0,0 +1,66 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.Date;
import java.util.List;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 22:41
*/
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class ModelInfoVO {
/**
* id
*/
private Integer id;
/**
* 创建人
*/
private String createName;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
/**
* 运行条件
*/
private String condition;
/**
* 名称
*/
private String modelName;
private List<Object> steadyPoint;
/**
* 滑动窗参数
*/
private MovingWindows movingWindows;
private PointVO targetParameter;
private List<PointVO> relationParameter;
private List<PointVO> boundaryParameter;
@Data
public static class MovingWindows {
private Integer windowLength;
private Integer samplingInterval;
private Integer movingSpeed;
}
}

47
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSelectQuery.java

@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import lombok.Data;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 13:25
*/
@Data
public class ModelSelectQuery {
/**
* 机组id
*/
private Integer unitId;
/**
* 系统id
*/
private Integer typeId;
/**
* 子系统id
*/
private Integer systemId;
/**
* 名称
*/
private String name;
/**
* @see seu.powersis.alert.common.enums.ModelStatus
* 模型状态
*/
private Integer status;
/**
* @see seu.powersis.alert.common.enums.ModelTrash
* 可见状态
*/
private Integer visible;
/**
* @see seu.powersis.alert.common.enums.ModelTrash
* 删除状态
*/
private Integer trash;
}

47
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/ModelSimpleVO.java

@ -0,0 +1,47 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.util.Date;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 13:08
*/
@Data
@Builder
@ToString
@AllArgsConstructor
public class ModelSimpleVO {
/**
* 模型id
*/
private Integer id;
/**
* 模型名称
*/
private String name;
/**
* 算法名称
*/
private String algorithm;
/**
* 创建人
*/
private String creatName;
/**
* 模型状态
*/
private Integer status;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date creatTime;
}

59
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/PointVO.java

@ -0,0 +1,59 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 22:48
*/
@Data
@Builder
@ToString
@AllArgsConstructor
public class PointVO {
/**
* 系统名称
*/
private String systemName;
/**
* 目标点号
*/
private String targetPoint;
/**
* 描述
*/
private String description;
/**
* 单位
*/
private String unit;
/**
* 类型
*/
private String marktype;
/**
* 上限
*/
private BigDecimal upperlimit;
/**
* 下限
*/
private BigDecimal lowerlimit;
/**
* 网格数
*/
private Integer gridNumber;
}

16
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/controller/model/vo/TimeRange.java

@ -0,0 +1,16 @@
package cn.iocoder.yudao.module.alert.controller.model.vo;
import lombok.Data;
import java.util.Date;
/**
* @author chenjiale
* @version 1.0
* @date 2023-09-15 22:33
*/
@Data
public class TimeRange {
private Date st;
private Date et;
}

75
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/domain/ModelCfg.java

@ -0,0 +1,75 @@
package cn.iocoder.yudao.module.alert.dao.domain;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
/**
* @TableName model_cfg
*/
@TableName(value ="model_cfg")
@Data
public class ModelCfg {
private Integer id;
private Integer systemId;
private Integer algorithmId;
private String modelName;
private Date creatTime;
private String creatName;
private String modelInfo;
private Integer status;
private Integer visible;
private String conditionInfo;
private Integer trash;
private String assessRes;
private Integer needToAssess;
private Double score;
private String clearOrNot;
private Integer effNumber;
private Integer needToClean;
private String origAssessRes;
private Double loadCover;
private String coverOutput;
private String curVersion;
private String modelVersion;
private String versionInfo;
private String conditionName;
private Integer isOnline;
private Integer trainStatus;
private String creator;
private Date createTime;
private String updater;
private Date updateTime;
private Boolean deleted;
}

18
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.java

@ -0,0 +1,18 @@
package cn.iocoder.yudao.module.alert.dao.mapper;
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author cjl60
* @description 针对表model_cfg的数据库操作Mapper
* @createDate 2025-05-18 10:52:08
* @Entity cn.iocoder.yudao.module.alert.dao.domain.ModelCfg
*/
public interface ModelCfgMapper extends BaseMapper<ModelCfg> {
}

13
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/ModelCfgService.java

@ -0,0 +1,13 @@
package cn.iocoder.yudao.module.alert.dao.service;
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author cjl60
* @description 针对表model_cfg的数据库操作Service
* @createDate 2025-05-18 10:52:08
*/
public interface ModelCfgService extends IService<ModelCfg> {
}

22
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/dao/service/impl/ModelCfgServiceImpl.java

@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.alert.dao.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg;
import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService;
import cn.iocoder.yudao.module.alert.dao.mapper.ModelCfgMapper;
import org.springframework.stereotype.Service;
/**
* @author cjl60
* @description 针对表model_cfg的数据库操作Service实现
* @createDate 2025-05-18 10:52:08
*/
@Service
public class ModelCfgServiceImpl extends ServiceImpl<ModelCfgMapper, ModelCfg>
implements ModelCfgService{
}

26
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelDataService.java

@ -0,0 +1,26 @@
package cn.iocoder.yudao.module.alert.service.model;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataVO;
import java.util.Date;
import java.util.List;
/**
* @author chenjiale
* @version 1.0
* @date 2023-09-05 22:10
*/
public interface ModelDataService {
/**
* 获取模型数据
*
* @param modelId 模型id
* @param type 类型
* @param indexList 边界参数索引
* @param st 开始时间
* @param et 结束时间
* @return 模型数据
*/
ModelDataVO getModelData(Integer modelId, String type, List<Integer> indexList, Date st, Date et);
}

48
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/ModelService.java

@ -0,0 +1,48 @@
package cn.iocoder.yudao.module.alert.service.model;
import cn.iocoder.yudao.module.alert.controller.model.vo.CreateModelInfo;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelInfoVO;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSelectQuery;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSimpleVO;
import java.util.List;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 13:22
*/
public interface ModelService {
/**
* 获取模型列表
*
* @param query 请求参数
* @return model 列表
*/
List<ModelSimpleVO> getModelList(ModelSelectQuery query);
/**
* 获取模型信息
*
* @param id 模型id
* @return 模型信息
*/
ModelInfoVO getModelInfo(Integer id);
/**
* 新建模型
*
* @param model 模型参数
* @return 模型id
*/
Integer createModel(CreateModelInfo model);
/**
* 更新model info
*
* @param info 模型info
* @return 是否成功
*/
Boolean updateModelInfo(ModelInfoVO info);
}

33
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelDataServiceImpl.java

@ -0,0 +1,33 @@
package cn.iocoder.yudao.module.alert.service.model.impl;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelDataVO;
import cn.iocoder.yudao.module.alert.service.model.ModelDataService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author chenjiale
* @version 1.0
* @date 2023-09-05 22:11
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class ModelDataServiceImpl implements ModelDataService {
@Override
public ModelDataVO getModelData(Integer modelId, String type, List<Integer> indexList, Date st, Date et) {
return null;
}
}

62
yudao-module-alert/yudao-module-alert-biz/src/main/java/cn/iocoder/yudao/module/alert/service/model/impl/ModelServiceImpl.java

@ -0,0 +1,62 @@
package cn.iocoder.yudao.module.alert.service.model.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.iocoder.yudao.module.alert.controller.model.vo.CreateModelInfo;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelInfoVO;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSelectQuery;
import cn.iocoder.yudao.module.alert.controller.model.vo.ModelSimpleVO;
import cn.iocoder.yudao.module.alert.dao.domain.ModelCfg;
import cn.iocoder.yudao.module.alert.dao.service.ModelCfgService;
import cn.iocoder.yudao.module.alert.service.model.ModelService;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.asm.AsmManager;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @author chenjiale
* @version 1.0
* @date 2023-08-19 13:22
*/
@Slf4j
@Service
@RequiredArgsConstructor
public class ModelServiceImpl implements ModelService {
private final ModelCfgService modelCfgService;
@Override
public List<ModelSimpleVO> getModelList(ModelSelectQuery query) {
return null;
}
@Override
public ModelInfoVO getModelInfo(Integer id) {
return null;
}
@Override
public Integer createModel(CreateModelInfo model) {
try {
} catch (Exception e) {
log.error("新建模型异常,model:{}", model);
}
return -1;
}
@Override
public Boolean updateModelInfo(ModelInfoVO modelInfo) {
return false;
}
}

49
yudao-module-alert/yudao-module-alert-biz/src/main/resources/cn/iocoder/yudao/module/alert/dao/mapper/ModelCfgMapper.xml

@ -0,0 +1,49 @@
<?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="cn.iocoder.yudao.module.alert.dao.mapper.ModelCfgMapper">
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.alert.dao.domain.ModelCfg">
<id property="id" column="id" />
<result property="systemId" column="system_id" />
<result property="algorithmId" column="algorithm_id" />
<result property="modelName" column="model_name" />
<result property="creatTime" column="creat_time" />
<result property="creatName" column="creat_name" />
<result property="modelInfo" column="model_info" />
<result property="status" column="status" />
<result property="visible" column="visible" />
<result property="conditionInfo" column="condition_info" />
<result property="trash" column="trash" />
<result property="assessRes" column="assess_res" />
<result property="needToAssess" column="need_to_assess" />
<result property="score" column="score" />
<result property="clearOrNot" column="clear_or_not" />
<result property="effNumber" column="eff_number" />
<result property="needToClean" column="need_to_clean" />
<result property="origAssessRes" column="orig_assess_res" />
<result property="loadCover" column="load_cover" />
<result property="coverOutput" column="cover_output" />
<result property="curVersion" column="cur_version" />
<result property="modelVersion" column="model_version" />
<result property="versionInfo" column="version_info" />
<result property="conditionName" column="condition_name" />
<result property="isOnline" column="is_online" />
<result property="trainStatus" column="train_status" />
<result property="creator" column="creator" />
<result property="createTime" column="create_time" />
<result property="updater" column="updater" />
<result property="updateTime" column="update_time" />
<result property="deleted" column="deleted" />
</resultMap>
<sql id="Base_Column_List">
id,system_id,algorithm_id,model_name,creat_time,creat_name,
model_info,status,visible,condition_info,trash,
assess_res,need_to_assess,score,clear_or_not,eff_number,
need_to_clean,orig_assess_res,load_cover,cover_output,cur_version,
model_version,version_info,condition_name,is_online,train_status,
creator,create_time,updater,update_time,deleted
</sql>
</mapper>
Loading…
Cancel
Save