202 lines
3.5 KiB
Java
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;
|
|
}
|