package com.caliverse.admin.Indicators.Indicatordomain;

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

import com.caliverse.admin.domain.entity.Currencys;
import com.caliverse.admin.domain.entity.Distinct;
import com.caliverse.admin.domain.response.IndicatorsResponse.DailyGoods;
import com.caliverse.admin.domain.response.IndicatorsResponse.Dau;
import com.caliverse.admin.domain.response.IndicatorsResponse.MCU;
import com.caliverse.admin.domain.response.IndicatorsResponse.NRU;
import com.caliverse.admin.domain.response.IndicatorsResponse.PU;
import com.caliverse.admin.domain.response.IndicatorsResponse.Playtime;
import com.caliverse.admin.domain.response.IndicatorsResponse.Retention;
import com.caliverse.admin.domain.response.IndicatorsResponse.Segment;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

import lombok.Builder;
import lombok.Data;

@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
public class IndicatorsResult {
 
    private String message;

    //이용자 지표
    private LocalDate date;
    private Dau dau;
    private NRU nru;
    private PU pu;
    private MCU mcu;
    @JsonProperty("distinct")
    private List<Distinct> list;
    //Retention
    @JsonProperty("retention")
    private List<Retention> retentionList;
    //Segment
    @JsonProperty("start_dt")
    private String startDt;
    @JsonProperty("end_dt")
    private String endDt;
    @JsonProperty("segment")
    private List<Segment> segmentList;
    //플레이타임
    @JsonProperty("playtime")
    private List<Playtime> playtimeList;
    //재화
    @JsonProperty("currencys")
    private List<Currencys> currencysList;
    @JsonProperty("list")
    private List<DailyGoods> dailyGoods;

    //@JsonProperty("dau_list")
    //private List<DailyActiveUser> dailyActiveUserList;
}
