package com.ycwl.basic.model.pc.videoreview.dto;

import lombok.Data;

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

/**
 * 视频评价统计分析响应DTO
 */
@Data
public class VideoReviewStatisticsRespDTO {

    /**
     * 总评价数
     */
    private Long totalCount;

    /**
     * 平均评分
     */
    private BigDecimal averageRating;

    /**
     * 评分分布
     * key: 评分(1-5), value: 该评分的评价数量
     */
    private Map<Integer, Long> ratingDistribution;

    /**
     * 最近7天评价趋势
     * key: 日期(yyyy-MM-dd), value: 该日期的评价数量
     */
    private Map<String, Long> recentTrend;

    /**
     * 景区评价排行(前10)
     */
    private List<ScenicReviewRank> scenicRankList;

    /**
     * 问题机位统计
     * key: 机位ID, value: 该机位被标记为问题的次数
     */
    private Map<Long, Long> problemDeviceStatistics;

    /**
     * 景区评价排行内部类
     */
    @Data
    public static class ScenicReviewRank {
        /**
         * 景区ID
         */
        private Long scenicId;

        /**
         * 景区名称
         */
        private String scenicName;

        /**
         * 评价数量
         */
        private Long reviewCount;

        /**
         * 平均评分
         */
        private BigDecimal averageRating;
    }
}
