package com.lesingle.modules.biz.review.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.lesingle.common.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "t_biz_contest_review_rule", autoResultMap = true)
@Schema(description = "活动评审规则实体")
public class BizContestReviewRule extends BaseEntity {

    @Schema(description = "租户ID")
    @TableField("tenant_id")
    private Long tenantId;

    @Schema(description = "规则名称")
    @TableField("rule_name")
    private String ruleName;

    @Schema(description = "规则描述")
    @TableField("rule_description")
    private String ruleDescription;

    @Schema(description = "评委人数")
    @TableField("judge_count")
    private Integer judgeCount;

    @Schema(description = "评分维度（JSON数组）")
    @TableField(value = "dimensions", typeHandler = JacksonTypeHandler.class)
    private Object dimensions;

    @Schema(description = "计算规则：average/remove_max_min/remove_min/max/weighted")
    @TableField("calculation_rule")
    private String calculationRule;
}
