package ${packageName}.domain;

import lombok.Data;
import java.io.Serializable;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.Date;

/**
 * ${functionName}对象 ${tableName}
 *
 * @author ${author}
 * @date ${datetime}
 */
@Data
public class ${ClassName}Query implements Serializable {

    #foreach ($column in $columns)
        #if(!$table.isSuperColumn($column.javaField))
    /** $column.columnComment */
            #set($isCamelCase = false)
            #foreach ($c in $column.javaField.toCharArray())
                #if ($c.isUpperCase())
                    #set($isCamelCase = true)
                #end
            #end
            #if (!$isCamelCase)
                #set($processedField = ${column.javaField.toLowerCase()})
            #end
            #if($column.list)
                #set($parentheseIndex=$column.columnComment.indexOf("（"))
                #if($parentheseIndex != -1)
                    #set($comment=$column.columnComment.substring(0, $parentheseIndex))
                #else
                    #set($comment=$column.columnComment)
                #end
                #if($parentheseIndex != -1)
                #elseif($column.javaType == 'Date')
                @JsonFormat(pattern = "yyyy-MM-dd")
                #elseif($column.javaType == 'DateTime')
                @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
                #elseif($column.javaType == 'Long')
                @JsonSerialize(using= ToStringSerializer.class)
                #else
                #end
                ##    #elseif($column.columnName == 'id')
            #elseif($column.columnName.length()>= 2 && $column.columnName.substring(0, 2).toUpperCase() == 'PK')
            @JsonSerialize(using= ToStringSerializer.class)
            #end
    private $column.javaType $column.javaField;

        #end
    #end
    #if($table.sub)
        /** $table.subTable.functionName信息 */
    private List<${subClassName}> ${subclassName}List;

    #end

    private String beginDate;
    private String endDate;
    private int pageIndex;
    private int pageSize;
}
