Files
happy-life-star/backend-single/src/main/java/com/emotion/entity/Message.java
T
2025-07-26 00:37:18 +08:00

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;
}