package com.red.circle.other.app.dto.clientobject.activity;

import lombok.Data;

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

/**
 * 排行榜列表 CO
 */
@Data
public class RankingListCO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 活动类型编码
     */
    private Integer activityType;

    /**
     * 活动类型名称
     */
    private String activityTypeName;

    /**
     * 周期类型编码
     */
    private Integer cycleType;

    /**
     * 周期类型名称
     */
    private String cycleTypeName;

    /**
     * 周期标识
     */
    private String cycleKey;

    /**
     * 周期显示文本
     * 
     * 示例：
     * - 日榜: 2025-01-01
     * - 周榜: 2025年第1周
     * - 月榜: 2025年1月
     */
    private String cycleDisplay;

    /**
     * 统计维度编码
     */
    private Integer dimension;

    /**
     * 统计维度名称
     */
    private String dimensionName;

    /**
     * 统计维度单位
     */
    private String dimensionUnit;

    /**
     * 排行榜列表（TOP N）
     */
    private List<RankingActivityRecordCO> rankingList;

    /**
     * 当前用户排名信息
     */
    private UserRankInfoCO currentUserRank;

    /**
     * 参与总人数
     */
    private Long totalParticipants;

    /**
     * 榜单更新时间
     */
    private String updateTime;
}