package com.yfd.platform.modules.algorithm.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import java.io.Serializable;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 *
 * </p>
 *
 * @author zhengsl
 * @since 2025-05-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("iis_algorithm_params")
@ApiModel("算法分类参数")
public class AlgorithmParams implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    @ApiModelProperty("算法分类参数id")
    private String id;

    /**
     * 算法分类id
     */
    @ApiModelProperty("算法分类id")
    private String algorithmId;

    /**
     * 参数序号
     */
    @ApiModelProperty("参数序号")
    private String paramOrder;

    /**
     * 参数名称
     */
    @ApiModelProperty("参数名称")
    private String paramName;

    /**
     * 参数中文描述
     */
    @ApiModelProperty("参数中文描述")
    private String paramDesc;

    /**
     * 参数类型：[('01', '单个文本'), ('02', '文本数组'), ('03', '单个数值'),  ('04', '数值数组'), ('05', 'Json对象'),('06', 'Json数组'), ('07', 'csv数据文件'), ('08', '单张图片'),('09', '图片文件包'),('10', 'Json文件')]
     */
    @ApiModelProperty("参数类型")
    private String paramType;

    /**
     * 自定义描述参数单位
     */
    @ApiModelProperty("自定义描述参数单位")
    private String paramUnit;

    /**
     * 参数范围
     */
    @ApiModelProperty("参数范围")
    private String paramRange;

    /**
     * 默认值
     */
    @ApiModelProperty("默认值")
    private String defaultValues;

    /**
     * 参数描述
     */
    @ApiModelProperty("参数描述")
    private String description;

    /**
     * 是否固定参数，0：否；1：是；当为否时需要关联巡视点位或者信号
     */
    @ApiModelProperty("是否固定参数,0：否；1：是")
    private String paramFixed;

    /**
     * 数据状态
     */
    @ApiModelProperty("数据状态")
    private String datastatus;

    /**
     * 修改人
     */
    @ApiModelProperty("修改人")
    private String lastmodifier;

    /**
     * 最近修改时间
     */
    @ApiModelProperty("最近修改时间")
    private LocalDateTime lastmodifydate;

    /**
     * 备用1
     */
    @ApiModelProperty("custom1")
    private String custom1;

    /**
     * 备用2
     */
    @ApiModelProperty("备用2")
    private String custom2;

    /**
     * 备用3
     */
    @ApiModelProperty("备用3")
    private String custom3;


}
