package com.emotion.dto.request;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 情绪分析创建请求类
 * 
 * @author huazhongmin
 * @date 2025-09-08
 */
@Data
public class EmotionAnalysisCreateRequest {

    /**
     * 消息ID
     */
    @NotBlank(message = "消息ID不能为空")
    @Size(max = 64, message = "消息ID长度不能超过64个字符")
    private String messageId;

    /**
     * 用户ID
     */
    @NotBlank(message = "用户ID不能为空")
    @Size(max = 32, message = "用户ID长度不能超过32个字符")
    private String userId;

    /**
     * 主要情绪
     */
    @NotBlank(message = "主要情绪不能为空")
    @Size(max = 32, message = "主要情绪长度不能超过32个字符")
    private String primaryEmotion;

    /**
     * 情绪极性
     */
    @Size(max = 9, message = "情绪极性长度不能超过9个字符")
    private String polarity;

    /**
     * 情绪强度
     */
    @NotNull(message = "情绪强度不能为空")
    private Double intensity;

    /**
     * 置信度
     */
    @NotNull(message = "置信度不能为空")
    private Double confidence;
}