package com.tzld.piaoquan.ad.engine.commons.enums;

public enum VlogAdFeatureGroup {
    MID,
    MACHINEINFO_BRAND,
    MACHINEINFO_MODEL,
    MACHINEINFO_PLATFORM,
    MACHINEINFO_SDKVERSION,
    MACHINEINFO_WECHATVERSION,


    DAY,
    WEEK,
    HOUR,
    REGION,
    CITY,

    // AD info
    ADID,
    CREATIVE,
    ADVERID,
    CAMPAIGIN,

    //City
    CREATIVE_AND_CITY,
    ADVERID_AND_CITY,


    USER_1DAY_EXP,
    USER_1DAY_CLICK,
    USER_1DAY_CTR,
    USER_1DAY_CVR,

    USER_3DAY_EXP,
    USER_3DAY_CLICK,
    USER_3DAY_CTR,
    USER_3DAY_CVR,

    USER_7DAY_EXP,
    USER_7DAY_CLICK,
    USER_7DAY_CTR,
    USER_7DAY_CVR,

    USER_3MONTH_EXP,
    USER_3MONTH_CLICK,
    USER_3MONTH_CTR,
    USER_3MONTH_CVR,


    ITEM_1DAY_EXP,
    ITEM_1DAY_CLICK,
    ITEM_1DAY_CTR,
    ITEM_1DAY_CVR,

    ITEM_3DAY_EXP,
    ITEM_3DAY_CLICK,
    ITEM_3DAY_CTR,
    ITEM_3DAY_CVR,

    ITEM_7DAY_EXP,
    ITEM_7DAY_CLICK,
    ITEM_7DAY_CTR,
    ITEM_7DAY_CVR,

    ITEM_3MONTH_EXP,
    ITEM_3MONTH_CLICK,
    ITEM_3MONTH_CTR,
    ITEM_3MONTH_CVR,


    CREATIVE_1DAY_EXP,
    CREATIVE_1DAY_CLICK,
    CREATIVE_1DAY_CTR,
    CREATIVE_1DAY_CVR,

    CREATIVE_3DAY_EXP,
    CREATIVE_3DAY_CLICK,
    CREATIVE_3DAY_CTR,
    CREATIVE_3DAY_CVR,

    CREATIVE_7DAY_EXP,
    CREATIVE_7DAY_CLICK,
    CREATIVE_7DAY_CTR,
    CREATIVE_7DAY_CVR,

    CREATIVE_3MONTH_EXP,
    CREATIVE_3MONTH_CLICK,
    CREATIVE_3MONTH_CTR,
    CREATIVE_3MONTH_CVR,



    ADVERID_1DAY_EXP,
    ADVERID_1DAY_CLICK,
    ADVERID_1DAY_CTR,
    ADVERID_1DAY_CVR,

    ADVERID_3DAY_EXP,
    ADVERID_3DAY_CLICK,
    ADVERID_3DAY_CTR,
    ADVERID_3DAY_CVR,

    ADVERID_7DAY_EXP,
    ADVERID_7DAY_CLICK,
    ADVERID_7DAY_CTR,
    ADVERID_7DAY_CVR,

    ADVERID_3MONTH_EXP,
    ADVERID_3MONTH_CLICK,
    ADVERID_3MONTH_CTR,
    ADVERID_3MONTH_CVR,


    // cross feature
    CREATIVE_AND_HOUR,
    ADVERID_AND_HOUR,
    CREATIVE_AND_REGION,
    ADVERID_AND_REGION,
    CREATIVE_AND_MACHINEINFO_MODEL,
    ADVERID_AND_MACHINEINFO_MODEL,

    CREATIVE_AND_MACHINEINFO_BRAND,
    ADVERID_AND_MACHINEINFO_BRAND,

    CREATIVE_AND_MACHINEINFO_SDK,
    ADVERID_AND_MACHINEINFO_SDK,

    CREATIVE_AND_USER_3MONTH_CTR,
    ADVERID_AND_USER_3MONTH_CTR,

    USER_3MONTH_CTR_AND_ITEM_7DAY_CTR,
    USER_3MONTH_CTR_AND_ITEM_3DAY_CTR,


    ;


    private final byte[] idBytes;
    private final byte[] nameBytes;

    VlogAdFeatureGroup() {
        this.nameBytes = name().toLowerCase().getBytes();
        this.idBytes = String.valueOf(ordinal()).getBytes();
    }

    public final int getId() {
        return ordinal();
    }

    public final String getGroupName() {
        return name().toLowerCase();
    }

    public final byte[] getGroupNameBytes() {
        return getGroupName().getBytes();
    }

    public final byte[] getIdBytes() {
        return idBytes;
    }

}
