173 lines
3.2 KiB
Java
173 lines
3.2 KiB
Java
package com.emotion.entity;
|
|
|
|
import com.baomidou.mybatisplus.annotation.*;
|
|
import com.emotion.common.BaseEntity;
|
|
import lombok.Data;
|
|
import lombok.EqualsAndHashCode;
|
|
import lombok.experimental.SuperBuilder;
|
|
import lombok.NoArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.time.LocalDateTime;
|
|
|
|
/**
|
|
* 消息实体类
|
|
*
|
|
* @author emotion-museum
|
|
* @date 2025-07-23
|
|
*/
|
|
@Data
|
|
@EqualsAndHashCode(callSuper = true)
|
|
@SuperBuilder
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@TableName("message")
|
|
public class Message extends BaseEntity {
|
|
|
|
/**
|
|
* 对话ID
|
|
*/
|
|
@TableField("conversation_id")
|
|
private String conversationId;
|
|
|
|
/**
|
|
* 消息内容
|
|
*/
|
|
@TableField("content")
|
|
private String content;
|
|
|
|
/**
|
|
* 消息类型
|
|
*/
|
|
@TableField("type")
|
|
private String type;
|
|
|
|
/**
|
|
* 发送者: user-用户, assistant-AI助手
|
|
*/
|
|
@TableField("sender")
|
|
private String sender;
|
|
|
|
/**
|
|
* 消息时间戳
|
|
*/
|
|
@TableField("timestamp")
|
|
private LocalDateTime timestamp;
|
|
|
|
/**
|
|
* Coze平台的聊天ID
|
|
*/
|
|
@TableField("coze_chat_id")
|
|
private String cozeChatId;
|
|
|
|
/**
|
|
* Coze平台的消息ID
|
|
*/
|
|
@TableField("coze_message_id")
|
|
private String cozeMessageId;
|
|
|
|
/**
|
|
* 消息状态: sending/sent/failed/processing
|
|
*/
|
|
@TableField("status")
|
|
private String status;
|
|
|
|
/**
|
|
* 错误信息
|
|
*/
|
|
@TableField("error_message")
|
|
private String errorMessage;
|
|
|
|
/**
|
|
* 情绪评分
|
|
*/
|
|
@TableField("emotion_score")
|
|
private BigDecimal emotionScore;
|
|
|
|
/**
|
|
* 情绪类型
|
|
*/
|
|
@TableField("emotion_type")
|
|
private String emotionType;
|
|
|
|
/**
|
|
* 情绪分析置信度
|
|
*/
|
|
@TableField("emotion_confidence")
|
|
private BigDecimal emotionConfidence;
|
|
|
|
/**
|
|
* 输入Token数
|
|
*/
|
|
@TableField("prompt_tokens")
|
|
private Integer promptTokens;
|
|
|
|
/**
|
|
* 输出Token数
|
|
*/
|
|
@TableField("completion_tokens")
|
|
private Integer completionTokens;
|
|
|
|
/**
|
|
* 总Token数
|
|
*/
|
|
@TableField("total_tokens")
|
|
private Integer totalTokens;
|
|
|
|
/**
|
|
* API调用费用
|
|
*/
|
|
@TableField("api_cost")
|
|
private BigDecimal apiCost;
|
|
|
|
/**
|
|
* 是否已读: 0-未读, 1-已读
|
|
*/
|
|
@TableField("is_read")
|
|
private Integer isRead;
|
|
|
|
/**
|
|
* 父消息ID(用于回复链)
|
|
*/
|
|
@TableField("parent_message_id")
|
|
private String parentMessageId;
|
|
|
|
/**
|
|
* 情绪分析结果
|
|
*/
|
|
@TableField("emotion_analysis")
|
|
private String emotionAnalysis;
|
|
|
|
/**
|
|
* 扩展元数据
|
|
*/
|
|
@TableField("metadata")
|
|
private String metadata;
|
|
|
|
/**
|
|
* 用户ID (注册用户或访客用户)
|
|
*/
|
|
@TableField("user_id")
|
|
private String userId;
|
|
|
|
/**
|
|
* 用户类型 (registered/guest)
|
|
*/
|
|
@TableField("user_type")
|
|
private String userType;
|
|
|
|
/**
|
|
* Coze消息角色 (user/assistant/system)
|
|
*/
|
|
@TableField("coze_role")
|
|
private String cozeRole;
|
|
|
|
/**
|
|
* Coze消息内容类型 (text/image/file等)
|
|
*/
|
|
@TableField("coze_content_type")
|
|
private String cozeContentType;
|
|
|
|
}
|