Files
happy-life-star/server/src/main/java/com/emotion/entity/Conversation.java
T

202 lines
3.5 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 huazhongmin
* @date 2025-07-23
*/
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_conversation")
public class Conversation extends BaseEntity {
/**
* 用户ID (关联user.id)
*/
@TableField("user_id")
private String userId;
/**
* 用户类型: registered-注册用户, guest-访客用户
*/
@TableField("user_type")
private String userType;
/**
* 对话标题
*/
@TableField("title")
private String title;
/**
* 关联剧本ID
*/
@TableField("script_id")
private String scriptId;
/**
* 对话类型
*/
@TableField("type")
private String type;
/**
* 状态: active-活跃, ended-结束, archived-归档
*/
@TableField("status")
private String conversationStatus;
/**
* Coze对话ID
*/
@TableField("coze_conversation_id")
private String cozeConversationId;
/**
* 使用的Bot ID
*/
@TableField("bot_id")
private String botId;
/**
* 使用的Workflow ID
*/
@TableField("workflow_id")
private String workflowId;
/**
* 初始消息
*/
@TableField("initial_message")
private String initialMessage;
/**
* 上下文信息
*/
@TableField("context")
private String context;
/**
* 主要情绪
*/
@TableField("primary_emotion")
private String primaryEmotion;
/**
* 情绪强度
*/
@TableField("emotion_intensity")
private BigDecimal emotionIntensity;
/**
* 情绪趋势
*/
@TableField("emotion_trend")
private String emotionTrend;
/**
* 关键词
*/
@TableField("keywords")
private String keywords;
/**
* AI洞察
*/
@TableField("ai_insights")
private String aiInsights;
/**
* 分析置信度
*/
@TableField("confidence")
private BigDecimal confidence;
/**
* 开始时间
*/
@TableField("start_time")
private LocalDateTime startTime;
/**
* 结束时间
*/
@TableField("end_time")
private LocalDateTime endTime;
/**
* 最后活跃时间
*/
@TableField("last_active_time")
private LocalDateTime lastActiveTime;
/**
* 消息数量
*/
@TableField("message_count")
private Integer messageCount;
/**
* 总Token使用量
*/
@TableField("total_tokens")
private Integer totalTokens;
/**
* 总费用
*/
@TableField("total_cost")
private BigDecimal totalCost;
/**
* 客户端IP地址 (支持IPv6)
*/
@TableField("client_ip")
private String clientIp;
/**
* 用户代理信息
*/
@TableField("user_agent")
private String userAgent;
/**
* 对话摘要
*/
@TableField("summary")
private String summary;
/**
* 标签
*/
@TableField("tags")
private String tags;
/**
* 扩展元数据
*/
@TableField("metadata")
private String metadata;
/**
* 当前生效的剧本消息ID
*/
@TableField("current_message_id")
private String currentMessageId;
}