/**
 * 
 */
package org.springblade.modules.system.entity;

import java.io.Serializable;
import java.util.Date;

import org.springblade.core.mp.base.TenantEntity;
import org.springblade.modules.system.enums.FunctionAttrEnum;
import org.springblade.modules.system.enums.FunctionTypeEnum;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

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

/**
 * @author wookvn
 *
 */
@Data
@ApiModel("数据源函数库")
@EqualsAndHashCode(callSuper = true)
@TableName("cube_datasource_function")
public class DatasourceFunction extends TenantEntity implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@TableId(type = IdType.AUTO)
	private Integer funcId;
	
	@ApiModelProperty("函数名")
	private String name;
	
	@ApiModelProperty("函数方法")
	private String method;
	
	@ApiModelProperty("数据源类型")
	private Integer dsType;
	
	@ApiModelProperty("函数描述")
	private String description;
	
	@ApiModelProperty("函数示例")
	private String example;
	
	@ApiModelProperty("添加时间")
	private Date createTime;
	
	@ApiModelProperty("排序号")
	private Integer sortNum;
	
	@ApiModelProperty("函数属性")
	private FunctionAttrEnum funcAttr;
	
	@ApiModelProperty("函数类型")
	private FunctionTypeEnum funcType;
	
	@ApiModelProperty("自定义函数sql片段")
	private String funcSql;
	
	@ApiModelProperty("函数名称")
	private String methodName;
	
	@ApiModelProperty("是否包含子查询(1-是/0-否)")
	private Integer subQueryStatus;
}
