package com.mini.capi.biz.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 接口字段参数表
 * </p>
 *
 * @author gaoxq
 * @since 2025-08-26
 */
@Getter
@Setter
@TableName("biz_api_param")
public class ApiParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "api_param_id", type = IdType.AUTO)
    private String apiParamId;

    /**
     * 对应接口级说明id
     */
    @TableField("api_id")
    private String apiId;

    /**
     * 参数类型,1请求0返回
     */
    @TableField("param_type")
    private String paramType;

    /**
     * 字段名
     */
    @TableField("cname")
    private String cname;

    /**
     * 数据类型 string/int/array/object...
     */
    @TableField("data_type")
    private String dataType;

    /**
     * 是否必填
     */
    @TableField("is_required")
    private String isRequired;

    /**
     * 默认值
     */
    @TableField("default_value")
    private String defaultValue;

    /**
     * 字段说明
     */
    @TableField("description")
    private String description;

    /**
     * 枚举值
     */
    @TableField("enum_values")
    private String enumValues;

    /**
     * 示例值
     */
    @TableField("example")
    private String example;

    /**
     * 排序
     */
    @TableField("sort_order")
    private Integer sortOrder;

    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 租户id
     */
    @TableField("f_tenant_id")
    private String fTenantId;
}
