package com.lesingle.creation.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.lesingle.creation.common.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 作业表实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("t_biz_homework")
public class Homework extends BaseEntity {

    /**
     * 租户 ID
     */
    @TableField("tenant_id")
    private Long tenantId;

    /**
     * 作业名称
     */
    @TableField("name")
    private String name;

    /**
     * 作业内容（富文本）
     */
    @TableField("content")
    private String content;

    /**
     * 作业状态：unpublished/published
     */
    @TableField("status")
    private String status;

    /**
     * 发布时间
     */
    @TableField("publish_time")
    private java.time.LocalDateTime publishTime;

    /**
     * 提交开始时间
     */
    @TableField("submit_start_time")
    private java.time.LocalDateTime submitStartTime;

    /**
     * 提交结束时间
     */
    @TableField("submit_end_time")
    private java.time.LocalDateTime submitEndTime;

    /**
     * 附件列表（JSON 格式）
     */
    @TableField("attachments")
    private String attachments;

    /**
     * 公开范围（班级 ID 数组 JSON 格式）
     */
    @TableField("publish_scope")
    private String publishScope;

    /**
     * 评审规则 ID
     */
    @TableField("review_rule_id")
    private Long reviewRuleId;

    /**
     * 有效状态：1-有效，2-失效
     */
    @TableField("valid_state")
    private Integer validState;
}
