package com.emotion.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.emotion.common.BaseEntity;
import lombok.experimental.SuperBuilder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 情绪分析实体类
 * 
 * @author huazhongmin
 * @date 2025-07-23
 */
@Data
@EqualsAndHashCode(callSuper = true)
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_emotion_analysis")
public class EmotionAnalysis extends BaseEntity {

    /**
     * 用户ID
     */
    @TableField("user_id")
    private String userId;

    /**
     * 关联消息ID
     */
    @TableField("message_id")
    private String messageId;

    /**
     * 分析文本
     */
    @TableField("text")
    private String text;

    /**
     * 主要情绪
     */
    @TableField("primary_emotion")
    private String primaryEmotion;

    /**
     * 情绪强度
     */
    @TableField("intensity")
    private BigDecimal intensity;

    /**
     * 情绪极性: positive-积极, negative-消极, neutral-中性
     */
    @TableField("polarity")
    private String polarity;

    /**
     * 置信度
     */
    @TableField("confidence")
    private BigDecimal confidence;

    /**
     * 情绪分布详情
     */
    @TableField("emotions")
    private String emotions;

    /**
     * 关键词列表
     */
    @TableField("keywords")
    private String keywords;

    /**
     * 建议
     */
    @TableField("suggestion")
    private String suggestion;

    /**
     * 分析时间
     */
    @TableField("analysis_time")
    private LocalDateTime analysisTime;

    /**
     * 扩展元数据
     */
    @TableField("metadata")
    private String metadata;
}
