package com.seer.teach.mp.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.seer.teach.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 活动表单字段定义表
 * </p>
 *
 * @author Lingma
 * @since 2026-01-10
 */
@Getter
@Setter
@TableName("mp_activity_form_field")
@Schema(name = "MpActivityFormFieldEntity对象", description = "活动表单字段定义表")
public class MpActivityFormFieldEntity extends BaseEntity {

    /**
     * 所属模板ID
     */
    @TableField("form_id")
    private Integer formId;

    /**
     * 字段名称
     */
    @TableField("field_name")
    private String fieldName;

    /**
     * 字段代码（英文标识）
     */
    @TableField("field_code")
    private String fieldCode;

    /**
     * 字段类型：text, textarea, select, radio, checkbox, date, number等
     */
    @TableField("field_type")
    private String fieldType;

    /**
     * 字段选项（JSON格式，适用于select, radio, checkbox等）
     */
    @TableField("field_options")
    private String fieldOptions;

    /**
     * 占位符提示
     */
    @TableField("placeholder")
    private String placeholder;

    /**
     * 是否必填：0-否，1-是
     */
    @TableField("is_required")
    private Integer isRequired;

    /**
     * 排序
     */
    @TableField("sort_order")
    private Integer sortOrder;

    /**
     * 验证规则（JSON格式）
     */
    @TableField("validation_rules")
    private String validationRules;

    /**
     * 字段描述
     */
    @TableField("description")
    private String description;

}