package com.huimv.employment.dao.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.time.LocalDateTime;

/**
 * AI 对话消息 {@code fe_conversation_message} 实体。
 */
@TableName("fe_conversation_message")
public class FeConversationMessage {

    @TableId(type = IdType.AUTO)
    private Long id;

    private Long conversationId;

    /** user / assistant / system */
    private String role;

    private String content;

    /** text / card_draft / card_cost / card_order */
    private String contentType;

    private String cardPayload;

    private String agentModule;

    private String nextAction;

    private Long relatedDraftId;

    private String tokenUsage;

    private LocalDateTime createTime;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getConversationId() {
        return conversationId;
    }

    public void setConversationId(Long conversationId) {
        this.conversationId = conversationId;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public String getContentType() {
        return contentType;
    }

    public void setContentType(String contentType) {
        this.contentType = contentType;
    }

    public String getCardPayload() {
        return cardPayload;
    }

    public void setCardPayload(String cardPayload) {
        this.cardPayload = cardPayload;
    }

    public String getAgentModule() {
        return agentModule;
    }

    public void setAgentModule(String agentModule) {
        this.agentModule = agentModule;
    }

    public String getNextAction() {
        return nextAction;
    }

    public void setNextAction(String nextAction) {
        this.nextAction = nextAction;
    }

    public Long getRelatedDraftId() {
        return relatedDraftId;
    }

    public void setRelatedDraftId(Long relatedDraftId) {
        this.relatedDraftId = relatedDraftId;
    }

    public String getTokenUsage() {
        return tokenUsage;
    }

    public void setTokenUsage(String tokenUsage) {
        this.tokenUsage = tokenUsage;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
}
