package com.seer.teach.mp.admin.controller.req;

import com.seer.teach.common.request.PageRequest;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "活动表单变量查询请求")
public class ActivityFormVariableQueryReq extends PageRequest {

    @Schema(description = "ID")
    private Integer id;

    @Schema(description = "表单执行实例ID")
    @NotNull(message = "表单执行实例ID不能为空")
    private Integer executionId;

    @Schema(description = "变量名称")
    @Size(max = 255, message = "变量名称长度不能超过255个字符")
    private String variableName;

    @Schema(description = "变量代码")
    @Size(max = 100, message = "变量代码长度不能超过100个字符")
    private String variableCode;

    @Schema(description = "变量值")
    private String variableValue;

    @Schema(description = "数据类型：string, number, boolean, json等")
    @Size(max = 50, message = "数据类型长度不能超过50个字符")
    private String dataType;

}