package com.gzzm.lobster.feedback;

import net.cyan.thunwind.annotation.ColumnDescription;
import net.cyan.thunwind.annotation.Entity;
import net.cyan.thunwind.annotation.Index;

import java.util.Date;

/**
 * UserFeedback —— 用户反馈 / Post-run user feedback.
 */
@Entity(table = "AI_USER_FEEDBACK", keys = "feedbackId")
public class UserFeedback {

    @ColumnDescription(type = "varchar(40)")
    private String feedbackId;

    @Index
    @ColumnDescription(type = "varchar(40)")
    private String threadId;

    @ColumnDescription(type = "varchar(40)")
    private String runId;

    @Index
    @ColumnDescription(type = "varchar(40)", nullable = false)
    private String userId;

    /** POSITIVE / NEGATIVE */
    @ColumnDescription(type = "varchar(20)")
    private String feedbackType;

    @ColumnDescription(type = "varchar(2000)")
    private String comment;

    private Date createTime;

    public UserFeedback() {}

    public String getFeedbackId() { return feedbackId; }
    public void setFeedbackId(String feedbackId) { this.feedbackId = feedbackId; }
    public String getThreadId() { return threadId; }
    public void setThreadId(String threadId) { this.threadId = threadId; }
    public String getRunId() { return runId; }
    public void setRunId(String runId) { this.runId = runId; }
    public String getUserId() { return userId; }
    public void setUserId(String userId) { this.userId = userId; }
    public String getFeedbackType() { return feedbackType; }
    public void setFeedbackType(String feedbackType) { this.feedbackType = feedbackType; }
    public String getComment() { return comment; }
    public void setComment(String comment) { this.comment = comment; }
    public Date getCreateTime() { return createTime; }
    public void setCreateTime(Date createTime) { this.createTime = createTime; }
}
