package com.emotion.dto.response;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 日记评论响应DTO
 *
 * @author huazhongmin
 * @date 2025-07-23
 */
@Data
public class DiaryCommentResponse {

    /**
     * 评论ID
     */
    private String id;

    /**
     * 日记ID
     */
    private String diaryId;

    /**
     * 评论用户ID
     */
    private String userId;

    /**
     * 评论用户信息
     */
    private UserInfoResponse userInfo;

    /**
     * 父评论ID (用于回复功能)
     */
    private String parentCommentId;

    /**
     * 父评论信息
     */
    private DiaryCommentResponse parentComment;

    /**
     * 评论内容
     */
    private String content;

    /**
     * 评论图片
     */
    private List<String> images;

    /**
     * 评论类型: user-用户评论, ai-AI评论, system-系统评论
     */
    private String commentType;

    /**
     * AI评论来源 (如: emotion_analysis, sentiment_analysis)
     */
    private String aiCommentSource;

    /**
     * 点赞数
     */
    private Integer likeCount;

    /**
     * 回复数
     */
    private Integer replyCount;

    /**
     * 是否匿名评论: 0-实名, 1-匿名
     */
    private Integer isAnonymous;

    /**
     * 是否置顶: 0-普通, 1-置顶
     */
    private Integer isTop;

    /**
     * 状态: published-已发布, hidden-隐藏, deleted-已删除
     */
    private String status;

    /**
     * 发布时间
     */
    private String publishTime;

    /**
     * 最后回复时间
     */
    private String lastReplyTime;

    /**
     * 情绪评分
     */
    private BigDecimal emotionScore;

    /**
     * 情感评分
     */
    private BigDecimal sentimentScore;

    /**
     * 扩展元数据
     */
    private Object metadata;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 更新时间
     */
    private String updateTime;

    /**
     * 是否已点赞
     */
    private Boolean isLiked;

    /**
     * 子评论列表
     */
    private List<DiaryCommentResponse> replies;
} 