package com.zanxiang.game.data.serve.pojo.dto;

import com.zanxiang.game.data.serve.pojo.base.BasePage;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDate;
import java.util.List;

/**
 * @author tianhua
 * @time 2023/8/9
 * @Description 查询留存数据参数实体
 **/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ActiveDataDayDTO extends BasePage {

    /**
     * 游戏ID
     */
    @ApiModelProperty(notes = "游戏ID")
    private List<Long> gameId;

    /**
     * 推广游戏应用类别
     */
    @ApiModelProperty(notes = "游戏类别")
    private Long classify;

    /**
     * SDK来源
     */
    @ApiModelProperty(value = "SDK来源")
    private String sourceSystem;

    /**
     * 注册时间（开始）
     */
    @ApiModelProperty(notes = "注册开始时间")
    private LocalDate registeredBeginDate;

    /**
     * 注册时间（结束）
     */
    @ApiModelProperty(notes = "注册结束时间")
    private LocalDate registeredEndDate;

    /**
     * 选择展示数据种类
     */
    @ApiModelProperty(notes = "选择展示数据种类：buy -> 买量 ; nature -> 自然量 ; total -> 总量")
    private String tableTypes;

    /**
     * 选择留存数据的类型
     */
    @ApiModelProperty(notes = """
            选择留存数据的类型：reg -> 注册留存 ; role -> 角色留存 ; amount -> 付费留存
            """)
    private String activeTypes;

    /**
     * 排序字段
     */
    @ApiModelProperty(notes = "排序字段")
    private String sortFiled;

    /**
     * 排序方式：升序asc;降序desc
     */
    @ApiModelProperty(notes = "排序方式：升序asc;降序desc")
    private String sortType;

    /**
     * 游戏维度：1-子游戏维度;2-父游戏维度;3-超父游戏维度
     */
    @ApiModelProperty(notes = "游戏维度：1-子游戏维度;2-父游戏维度")
    private Long gameDimension;

}
