package com.qqchen.deploy.backend.workflow.dto.query;

import com.qqchen.deploy.backend.framework.annotation.QueryField;
import com.qqchen.deploy.backend.framework.enums.QueryType;
import com.qqchen.deploy.backend.framework.query.BaseQuery;
import com.qqchen.deploy.backend.workflow.enums.FormDefinitionStatusEnums;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 表单定义查询对象
 *
 * @author qqchen
 * @date 2025-10-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class FormDefinitionQuery extends BaseQuery {

    /**
     * 表单名称（模糊查询）
     */
    @QueryField(field = "name", type = QueryType.LIKE)
    private String name;

    /**
     * 表单标识（精确查询）
     */
    @QueryField(field = "key", type = QueryType.EQUAL)
    private String key;

    /**
     * 表单版本（精确查询）
     */
    @QueryField(field = "formVersion", type = QueryType.EQUAL)
    private Integer formVersion;

    /**
     * 表单分类ID（精确查询）
     */
    @QueryField(field = "categoryId", type = QueryType.EQUAL)
    private Long categoryId;

    /**
     * 状态（精确查询）
     */
    @QueryField(field = "status", type = QueryType.EQUAL)
    private FormDefinitionStatusEnums status;

    /**
     * 是否为模板（精确查询）
     */
    @QueryField(field = "isTemplate", type = QueryType.EQUAL)
    private Boolean isTemplate;
}

