package com.agri.generator.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.agri.common.annotation.Excel;
import com.agri.common.core.domain.BaseEntity;

/**
 * 接口参数对象 sys_api_param
 * 
 * @author agri
 * @date 2025-12-30
 */
public class SysApiParam extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 关联api_info的主键ID */
    private Long apiId;

    /** 参数类型（0-入参，1-出参） */
    @Excel(name = "参数类型", readConverterExp = "0=-入参，1-出参")
    private Long paramType;

    /** 参数名（对应前端prop：paramName） */
    @Excel(name = "参数名", readConverterExp = "对=应前端prop：paramName")
    private String paramName;

    /** 是否必选（仅入参有效）（对应前端prop：required） */
    @Excel(name = "是否必选", readConverterExp = "仅=入参有效")
    private Long required;

    /** 参数数据类型（对应前端prop：paramType） */
    @Excel(name = "参数数据类型", readConverterExp = "对=应前端prop：paramType")
    private String paramDataType;

    /** 参数说明/注释（入参：paramDesc，出参：paramComment） */
    @Excel(name = "参数说明/注释", readConverterExp = "入=参：paramDesc，出参：paramComment")
    private String paramDesc;


    /** 是否生成实体 */
    private Long isDeleted;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setApiId(Long apiId) 
    {
        this.apiId = apiId;
    }

    public Long getApiId() 
    {
        return apiId;
    }
    public void setParamType(Long paramType) 
    {
        this.paramType = paramType;
    }

    public Long getParamType() 
    {
        return paramType;
    }
    public void setParamName(String paramName) 
    {
        this.paramName = paramName;
    }

    public String getParamName() 
    {
        return paramName;
    }
    public void setRequired(Long required) 
    {
        this.required = required;
    }

    public Long getRequired() 
    {
        return required;
    }
    public void setParamDataType(String paramDataType) 
    {
        this.paramDataType = paramDataType;
    }

    public String getParamDataType() 
    {
        return paramDataType;
    }
    public void setParamDesc(String paramDesc) 
    {
        this.paramDesc = paramDesc;
    }

    public String getParamDesc() 
    {
        return paramDesc;
    }

    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("apiId", getApiId())
            .append("paramType", getParamType())
            .append("paramName", getParamName())
            .append("required", getRequired())
            .append("paramDataType", getParamDataType())
            .append("paramDesc", getParamDesc())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
