package com.fs.live.vo;

import lombok.Data;

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

/**
 * 直播数据详情VO
 *
 * @author fs
 * @date 2025-01-18
 */
@Data
public class LiveDataDetailVo {
    /** 视频时长（秒） */
    private Long videoDuration = 0L;

    /** 累计观看人数 */
    private Long totalViewers = 0L;

    /** 累计完课人数 */
    private Long totalCompletedCourses = 0L;

    /** 到课完课率（累计完课人数/累计观看人数） */
    private BigDecimal totalCompletionRate = BigDecimal.ZERO;

    /** 直播观看人数 */
    private Long liveViewers = 0L;

    /** >20分钟人数（直播） */
    private Long liveOver20Minutes = 0L;

    /** >30分钟人数（直播） */
    private Long liveOver30Minutes = 0L;

    /** 到课完课率直播（>20分钟人数（直播）/直播观看人数） */
    private BigDecimal liveCompletionRate20 = BigDecimal.ZERO;

    /** 到课完课率直播（>30分钟人数（直播）/直播观看人数） */
    private BigDecimal liveCompletionRate30 = BigDecimal.ZERO;

    /** 回放观看人数 */
    private Long playbackViewers = 0L;

    /** >20分钟人数（回放） */
    private Long playbackOver20Minutes = 0L;

    /** >30分钟人数（回放） */
    private Long playbackOver30Minutes = 0L;

    /** 到课完课率回放（>20分钟人数（回放）/回放观看人数） */
    private BigDecimal playbackCompletionRate20 = BigDecimal.ZERO;

    /** 到课完课率回放（>30分钟人数（回放）/回放观看人数） */
    private BigDecimal playbackCompletionRate30 = BigDecimal.ZERO;

    /** 直播峰值 */
    private Long livePeak = 0L;

    /** 直播平均时长（秒） */
    private Long liveAvgDuration = 0L;

    /** 回放平均时长（秒） */
    private Long playbackAvgDuration = 0L;

    /** 回放完播率(回放平均时长/视频时长) */
    private BigDecimal playbackFinishRate = BigDecimal.ZERO;

    /** GMV */
    private BigDecimal gmv = BigDecimal.ZERO;

    /** 付费人数 */
    private Long paidUsers = 0L;

    /** 付费单数 */
    private Long paidOrders = 0L;

    /** 峰值转化率 */
    private BigDecimal peakConversionRate = BigDecimal.ZERO;

    /** 总到课转化率 */
    private BigDecimal totalViewerConversionRate = BigDecimal.ZERO;

    /** 30min完课转化率 */
    private BigDecimal completion30MinConversionRate = BigDecimal.ZERO;

    /** 峰值R值 */
    private BigDecimal peakRValue = BigDecimal.ZERO;

    /** 完课R值 */
    private BigDecimal completionRValue = BigDecimal.ZERO;

    /** 单品销量统计 */
    private List<ProductSalesVo> productSalesList;
}






