package com.zanxiang.game.gs.data.serve.pojo.vo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ServerPayVO {

    /**
     * gsID
     */
    private String gsIds;

    private String gsName;

    private String parentGameName;

    private String parentGameId;

    private Long superGameId;

    private Integer gsStatus;

    private String serverId;

    private String serverName;

    private Boolean originServer;

    private LocalDate startTime;

    private long startDiff;

    private LocalDate endTime;

    private long serveDiff;

    private Boolean serveStatus;

    private Long totalRoleNum;

    /**
     * 指派期间付费人数（合服）
     */
    private Long totalAmountNum;

    /**
     * 指派期间付费次数（合服）
     */
    private Long totalAmountCount;

    /**
     * 指派期间付费金额（合服）
     */
    private BigDecimal totalAmount;

    /**
     * 指派期间ARPPU (人均付费金额）（合服）
     */
    private BigDecimal arppu;

    /**
     * 指派期间客单价（合服）
     */
    private BigDecimal avgAmount;

    /**
     * 指派期间付费率（合服）
     */
    private BigDecimal amountRate;

    /**
     * 创角人数（子服）
     */
    private Long sonRoleNum;

    /**
     * 付费人数（子服）
     */
    private Long sonServerAmountNum;

    /**
     * 付费次数（子服）
     */
    private Long sonServerAmountCount;

    /**
     * 付费金额（子服）
     */
    private BigDecimal sonServerAmount;

    /**
     * ARPPU (人均付费金额）（子服）
     */
    private BigDecimal sonArppu;

    /**
     * 客单价（子服）
     */
    private BigDecimal sonAvgAmount;

    /**
     * 付费率（子服）
     */
    private BigDecimal sonAmountRate;

    private String da1;
    private String da2;
    private String da3;
    private String da4;
    private String da5;
    private String da6;
    private String da7;
    private String da8;
    private String da9;
    private String da10;
    private String da11;
    private String da12;
    private String da13;
    private String da14;
    private String da15;
    private String da16;
    private String da17;
    private String da18;
    private String da19;
    private String da20;
    private String da21;
    private String da22;
    private String da23;
    private String da24;
    private String da25;
    private String da26;
    private String da27;
    private String da28;
    private String da29;
    private String da30;
    private String da31;
    private String da32;
    private String da33;
    private String da34;
    private String da35;
    private String da36;
    private String da37;
    private String da38;
    private String da39;
    private String da40;
    private String da41;
    private String da42;
    private String da43;
    private String da44;
    private String da45;
    private String da46;
    private String da47;
    private String da48;
    private String da49;
    private String da50;
    private String da51;
    private String da52;
    private String da53;
    private String da54;
    private String da55;
    private String da56;
    private String da57;
    private String da58;
    private String da59;
    private String da60;
    private String da61;
    private String da62;
    private String da63;
    private String da64;
    private String da65;
    private String da66;
    private String da67;
    private String da68;
    private String da69;
    private String da70;
    private String da71;
    private String da72;
    private String da73;
    private String da74;
    private String da75;
    private String da76;
    private String da77;
    private String da78;
    private String da79;
    private String da80;
    private String da81;
    private String da82;
    private String da83;
    private String da84;
    private String da85;
    private String da86;
    private String da87;
    private String da88;
    private String da89;
    private String da90;
    private String total;

    private DayN retainedDa1;
    private DayN retainedDa2;
    private DayN retainedDa3;
    private DayN retainedDa4;
    private DayN retainedDa5;
    private DayN retainedDa6;
    private DayN retainedDa7;
    private DayN retainedDa8;
    private DayN retainedDa9;
    private DayN retainedDa10;
    private DayN retainedDa11;
    private DayN retainedDa12;
    private DayN retainedDa13;
    private DayN retainedDa14;
    private DayN retainedDa15;
    private DayN retainedDa16;
    private DayN retainedDa17;
    private DayN retainedDa18;
    private DayN retainedDa19;
    private DayN retainedDa20;
    private DayN retainedDa21;
    private DayN retainedDa22;
    private DayN retainedDa23;
    private DayN retainedDa24;
    private DayN retainedDa25;
    private DayN retainedDa26;
    private DayN retainedDa27;
    private DayN retainedDa28;
    private DayN retainedDa29;
    private DayN retainedDa30;
    private DayN retainedDa31;
    private DayN retainedDa32;
    private DayN retainedDa33;
    private DayN retainedDa34;
    private DayN retainedDa35;
    private DayN retainedDa36;
    private DayN retainedDa37;
    private DayN retainedDa38;
    private DayN retainedDa39;
    private DayN retainedDa40;
    private DayN retainedDa41;
    private DayN retainedDa42;
    private DayN retainedDa43;
    private DayN retainedDa44;
    private DayN retainedDa45;
    private DayN retainedDa46;
    private DayN retainedDa47;
    private DayN retainedDa48;
    private DayN retainedDa49;
    private DayN retainedDa50;
    private DayN retainedDa51;
    private DayN retainedDa52;
    private DayN retainedDa53;
    private DayN retainedDa54;
    private DayN retainedDa55;
    private DayN retainedDa56;
    private DayN retainedDa57;
    private DayN retainedDa58;
    private DayN retainedDa59;
    private DayN retainedDa60;
    private DayN retainedDa61;
    private DayN retainedDa62;
    private DayN retainedDa63;
    private DayN retainedDa64;
    private DayN retainedDa65;
    private DayN retainedDa66;
    private DayN retainedDa67;
    private DayN retainedDa68;
    private DayN retainedDa69;
    private DayN retainedDa70;
    private DayN retainedDa71;
    private DayN retainedDa72;
    private DayN retainedDa73;
    private DayN retainedDa74;
    private DayN retainedDa75;
    private DayN retainedDa76;
    private DayN retainedDa77;
    private DayN retainedDa78;
    private DayN retainedDa79;
    private DayN retainedDa80;
    private DayN retainedDa81;
    private DayN retainedDa82;
    private DayN retainedDa83;
    private DayN retainedDa84;
    private DayN retainedDa85;
    private DayN retainedDa86;
    private DayN retainedDa87;
    private DayN retainedDa88;
    private DayN retainedDa89;
    private DayN retainedDa90;
    private DayN retainedTotal;

    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DayN{
        private long activeNum;
        private long payNum;
        private long totalPayNum;
        private long sRNum;
        private long mRNum;
        private long bRNum;
        private long superRNum;
        private long totalRNum;

        private BigDecimal payMoney;

        private BigDecimal payRate;
        private BigDecimal sRRate;
        private BigDecimal mRRate;
        private BigDecimal bRRate;
        private BigDecimal superRRate;

        private BigDecimal activeRetainedRate;
        private BigDecimal payRetainedRate;
        private BigDecimal sRRetainedRate;
        private BigDecimal mRRetainedRate;
        private BigDecimal bRRetainedRate;
        private BigDecimal superRRetainedRate;
        private BigDecimal totalRRetainedRate;
    }

}
