package ${currentPackage};

import com.fasterxml.jackson.annotation.JsonFormat;
import com.orion.ops.framework.common.entity.PageRequest;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.Size;
import java.util.*;
import java.math.*;

/**
 * $!{table.comment} 查询请求对象
 *
 * @author ${author}
 * @version ${since}
 * @since ${date}
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(name = "${type}QueryRequest", description = "$!{table.comment} 查询请求对象")
public class ${type}QueryRequest extends PageRequest {
    #foreach($field in ${table.fields})

    #if("$field.propertyType" == "String")
    @Size(max = $field.metaInfo.length)
    #end
    #if("$!field.comment" != "")
    @Schema(description = "${field.comment}")
    #end
    #if("$field.propertyType" == "Date")
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    #end
    private ${field.propertyType} ${field.propertyName};
    #end

}
