package com.competition.modules.ugc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@TableName("t_ugc_work_report")
@Schema(description = "作品举报实体")
public class UgcWorkReport implements Serializable {

    @Schema(description = "主键ID")
    @TableId(type = IdType.AUTO)
    private Long id;

    @Schema(description = "举报人ID")
    @TableField("reporter_id")
    private Long reporterId;

    @Schema(description = "目标类型")
    @TableField("target_type")
    private String targetType;

    @Schema(description = "目标ID")
    @TableField("target_id")
    private Long targetId;

    @Schema(description = "被举报用户ID")
    @TableField("target_user_id")
    private Long targetUserId;

    @Schema(description = "举报原因")
    private String reason;

    @Schema(description = "举报描述")
    private String description;

    @Schema(description = "状态")
    private String status;

    @Schema(description = "处理动作")
    @TableField("handle_action")
    private String handleAction;

    @Schema(description = "处理备注")
    @TableField("handle_note")
    private String handleNote;

    @Schema(description = "处理人ID")
    @TableField("handler_id")
    private Long handlerId;

    @Schema(description = "处理时间")
    @TableField("handle_time")
    private LocalDateTime handleTime;

    @Schema(description = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;
}
