package com.ssyf.module.robot.domain.vo;

import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.List;

/**
 * 发言活跃度统计信息VO
 * 
 * @author ELSA
 */
@Data
@Accessors(chain = true)
public class ChatActivityStatisticsVo implements Serializable {

    /**
     * 统计维度：day-日，week-周，month-月
     */
    private String dimension;

    /**
     * 总发言次数
     */
    private Long totalChatCount;

    /**
     * 参与发言的机器人总数
     */
    private Integer totalRobotCount;

    /**
     * 机器人发言统计列表
     */
    private List<RobotChatStatistic> robotStatistics;

    /**
     * 时间段统计列表
     */
    private List<TimeRangeStatistic> timeRangeStatistics;

    /**
     * 机器人发言统计详情
     */
    @Data
    @Accessors(chain = true)
    public static class RobotChatStatistic implements Serializable {
        
        /**
         * 机器人UUID
         */
        private String robotUuid;

        /**
         * 机器人账号
         */
        private String robotAccount;

        /**
         * 机器人昵称
         */
        private String robotNickName;

        /**
         * 发言次数
         */
        private Integer chatCount;

        /**
         * 所属分组
         */
        private String robotGroupName;

        private static final long serialVersionUID = 1L;
    }

    /**
     * 时间段统计详情
     */
    @Data
    @Accessors(chain = true)
    public static class TimeRangeStatistic implements Serializable {
        
        /**
         * 时间段标识（如：2026-02-26）
         */
        private String timeRange;

        /**
         * 时间段显示名称（如：2月26日）
         */
        private String displayName;

        /**
         * 发言次数
         */
        private Integer chatCount;

        private static final long serialVersionUID = 1L;
    }

    private static final long serialVersionUID = 1L;
}