package com.zhengmeng.ocrplatform.extract;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;

import java.time.LocalDateTime;

@Entity
@Table(name = "ocr_business_profile_feedback")
public class OcrBusinessProfileFeedbackEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "profile_id", nullable = false, length = 128)
    private String profileId;

    @Column(name = "profile_version_no", nullable = false)
    private Integer profileVersionNo;

    @Column(name = "task_id", length = 128)
    private String taskId;

    @Column(name = "field_key", nullable = false, length = 128)
    private String fieldKey;

    @Column(name = "field_label", length = 256)
    private String fieldLabel;

    @Column(name = "old_value", columnDefinition = "text")
    private String oldValue;

    @Column(name = "correct_value", columnDefinition = "text")
    private String correctValue;

    @Column(name = "alias_text", length = 256)
    private String aliasText;

    @Column(name = "prefer_strategy", length = 64)
    private String preferStrategy;

    @Column(name = "max_distance")
    private Integer maxDistance;

    @Column(name = "comment_text", length = 1000)
    private String commentText;

    @Column(name = "created_at", nullable = false)
    private LocalDateTime createdAt;

    public Long getId() {
        return id;
    }

    public String getProfileId() {
        return profileId;
    }

    public void setProfileId(String profileId) {
        this.profileId = profileId;
    }

    public Integer getProfileVersionNo() {
        return profileVersionNo;
    }

    public void setProfileVersionNo(Integer profileVersionNo) {
        this.profileVersionNo = profileVersionNo;
    }

    public String getTaskId() {
        return taskId;
    }

    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }

    public String getFieldKey() {
        return fieldKey;
    }

    public void setFieldKey(String fieldKey) {
        this.fieldKey = fieldKey;
    }

    public String getFieldLabel() {
        return fieldLabel;
    }

    public void setFieldLabel(String fieldLabel) {
        this.fieldLabel = fieldLabel;
    }

    public String getOldValue() {
        return oldValue;
    }

    public void setOldValue(String oldValue) {
        this.oldValue = oldValue;
    }

    public String getCorrectValue() {
        return correctValue;
    }

    public void setCorrectValue(String correctValue) {
        this.correctValue = correctValue;
    }

    public String getAliasText() {
        return aliasText;
    }

    public void setAliasText(String aliasText) {
        this.aliasText = aliasText;
    }

    public String getPreferStrategy() {
        return preferStrategy;
    }

    public void setPreferStrategy(String preferStrategy) {
        this.preferStrategy = preferStrategy;
    }

    public Integer getMaxDistance() {
        return maxDistance;
    }

    public void setMaxDistance(Integer maxDistance) {
        this.maxDistance = maxDistance;
    }

    public String getCommentText() {
        return commentText;
    }

    public void setCommentText(String commentText) {
        this.commentText = commentText;
    }

    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }
}
