package com.yonge.cooleshow.biz.dal.enums;

import com.yonge.toolset.base.enums.BaseEnum;

/**
 * @Author Joburgess
 * @Date 2021/1/8 0008
 **/
public enum IndexDataType implements BaseEnum<String, IndexDataType> {
    //学员数据类型
    STUDENT_REGISTRATION_NUM("注册学员", false, false),
    CHARGE_STUDENT_CHANGE_RATE("付费转化率", true, false),
    ACTIVATION_RATE("激活率", true, false),

    //运营数据类型
    SCHOOL("合作单位", false, false),
    PROGRESS_MUSIC_GROUP_NUM("进行中乐团", false, false),
    TRANSACTION_TEACHER_NUM("衔接老师人数", false, false),

    //人事数据
    TEACHER_NUM("老师总数", false, false),
    FULL_TIME_NUM("全职人数", false, false),
    PART_TIME_NUM("兼职人数", false, false),

    DIMISSION_NUM("离职人数", false, false),

    //剩余课时
    SURPLUS_COURSE_NUM("剩余课时总数", false, false),
    SURPLUS_MUSIC_COURSE_NUM("剩余乐团课时", false, false),
    SURPLUS_VIP_COURSE_NUM("剩余VIP课时", false, false),
    SURPLUS_PRACTICE_COURSE_NUM("剩余网管课时", false, false),

    //已消耗课时
    OVER_COURSE_NUM("已消耗课时总数", false, false),
    OVER_MUSIC_COURSE_NUM("已消耗乐团课时", false, false),
    OVER_VIP_COURSE_NUM("已消耗VIP课时", false, false),
    OVER_PRACTICE_COURSE_NUM("已消耗网管课时", false, false),

    //经营数据
    FINANCE_PAY("财务支出", false, false),
    FINANCE_BALANCE_AMOUNT("余额收入", false, false),
    FINANCE_AMOUNT("现金收入", false, false),
    TOTAL_AMOUNT("总收入", false, false),

    //经营数据详情
    APPLY_AMOUNT("报名缴费收入", false, false),
    RENEW_AMOUNT("乐团续费收入", false, false),
    VIP_AMOUNT("VIP课收入", false, false),
    PRACTICE_AMOUNT("网管课收入", false, false),
    OTHER_AMOUNT("其他收入", false, false),
    OTHER_AMOUNT_DETAIL("其他收入明细", false, false),

    //业务数据
    HOMEWORK_CREATE_RATE("训练布置率", true, true),
    HOMEWORK_SUBMIT_RATE("训练提交率", true, true),
    HOMEWORK_COMMENT_RATE("训练点评率", true, true),

    //课程数据
    MUSIC_GROUP_COURSE("乐团课", false, true),
    VIP_GROUP_COURSE("VIP课", false, true),
    VIP_GROUP_ONLINE_COURSE("VIP线上课", false, true),
    VIP_GROUP_OFFLINE_COURSE("VIP线下课", false, true),
    PRACTICE_GROUP_COURSE("网管课", false, true),

    //学员变动
    ADD_STUDENT_REGISTRATION_NUM("新增注册学员", false, true),
    MUSIC_GROUP_STUDENT("乐团在读学员", false, false),
    NEWLY_STUDENT_NUM("乐团新增学员", false, true),
    QUIT_MUSIC_GROUP_STUDENT_NUM("退学学员", false, true),
    VIP_PRACTICE_STUDENT_NUM("VIP/网管在读", false, false),
    VIP_PRACTICE_ADD_STUDENT_NUM("VIP/网管新增", false, true),

    //活跃用户统计
    ORGAN_TOTAL_STUDENT_NUM("分部学员总数", false, false),
    CLOUD_STUDY_LIVELY_STUDENT_NUM("活跃用户", false, false),
    CLOUD_STUDY_DAY_USE_STUDENT_NUM("团练宝使用用户", false, false),
    CLOUD_STUDY_NEW_STUDENT_NUM("团练宝新增用户", false, false),
    CLOUD_NEW_STUDENT_NUM("团练宝新用户人数", false, false),
    MEMBER_STUDENT_NUM("会员数量", false, false),
    EXPERIENCE_MEMBER_STUDENT_NUM("试用会员数量", false, false),
    NEW_MEMBER_STUDENT_NUM("新增会员数量", false, false),

    CLOUD_STUDY_TRAIN_NUM("团练宝训练次数", false, false),
    CLOUD_STUDY_TRAIN_TIME("团练宝训练时长", false, false),

    //小课数据统计
    STUDENT_VIP_ORDER_NUM("学员vip课订单数量", false, false),
    STUDENT_THEORY_ORDER_NUM("学员乐理课订单数量", false, false),
    STUDENT_PRACTICE_ORDER_NUM("学员网管课订单数量", false, false),
    ;

    private String code;

    private String msg;

    private Boolean percent;

    private Boolean collect;

    IndexDataType(String msg, Boolean percent, Boolean collect) {
        this.code = this.name();
        this.msg = msg;
        this.percent = percent;
        this.collect = collect;
    }

    @Override
    public String getCode() {
        return this.code;
    }


    public String getMsg() {
        return this.msg;
    }


    public Boolean getCollect() {
        return this.collect;
    }

    public Boolean getPercent() {
        return this.percent;
    }

}
