package com.zhentao.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 动态举报表（匹配数据库表结构）
 */
@Data
@TableName("dynamic_reports")
public class DynamicReports implements Serializable {
    
    private static final long serialVersionUID = 1L;

    /**
     * 举报ID
     */
    @TableId(value = "report_id", type = IdType.AUTO)
    private Integer reportId;

    /**
     * 被举报的动态ID
     */
    private Integer dynamicId;

    /**
     * 举报人用户ID
     */
    private Integer reporterId;

    /**
     * 举报类型：spam-垃圾广告，porn-色情低俗，violence-暴力违法，attack-人身攻击，fake-虚假信息，plagiarism-抄袭侵权，other-其他
     */
    @TableField("report_type")
    private String reportType;

    /**
     * 举报详情（详细描述）
     */
    @TableField("description")
    private String description;

    /**
     * 证据图片/视频URL（多张以逗号分隔）
     */
    @TableField("screenshots")
    private String screenshots;
    
    /**
     * 联系方式
     */
    @TableField("contact")
    private String contact;

    /**
     * 处理状态：0-待处理，1-处理中，2-已处理，3-已驳回
     */
    private Integer status;

    /**
     * 处理结果说明（DB列：handle_result）
     */
    @TableField("handle_result")
    private String handleRemark;

    /**
     * 处理人ID（DB列：handler_id）
     */
    @TableField("handler_id")
    private Integer handledBy;

    /**
     * 处理时间（DB列：handle_time）
     */
    @TableField("handle_time")
    private LocalDateTime handledAt;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createdAt;

    /**
     * 更新时间（DB列：updated_at）
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updatedAt;

    /**
     * 逻辑删除标记：0-未删除 1-已删除（DB列：deleted）
     */
    @TableLogic
    private Integer deleted;
}

