package top.continew.admin.business.model.query;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import top.continew.starter.data.core.annotation.Query;
import top.continew.starter.data.core.enums.QueryType;

import java.io.Serial;
import java.io.Serializable;

/**
 * 免费额度配置查询条件
 *
 * @author jiay
 * @since 2025/11/17
 */
@Data
@Schema(description = "免费额度配置查询条件")
public class FreeQuotaConfigQuery implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 类别编码
     */
    @Schema(description = "类别编码", example = "TOKEN")
    @Query(columns = {"category_code"}, type = QueryType.EQ)
    private String categoryCode;

    /**
     * 类别名称
     */
    @Schema(description = "类别名称", example = "大模型")
    @Query(columns = {"category_name"}, type = QueryType.LIKE)
    private String categoryName;

    /**
     * 计费类型
     */
    @Schema(description = "计费类型", example = "0")
    @Query(columns = {"charge_type"}, type = QueryType.EQ)
    private Integer chargeType;

    /**
     * 账户类型
     */
    @Schema(description = "账户类型", example = "1")
    @Query(columns = {"type"}, type = QueryType.EQ)
    private Integer type;

    /**
     * 是否启用
     */
    @Schema(description = "是否启用", example = "true")
    @Query(columns = {"is_enabled"}, type = QueryType.EQ)
    private Boolean isEnabled;
}
