package com.yutou.biliapi.bean.live;

import com.alibaba.fastjson2.annotation.JSONField;
import com.yutou.common.okhttp.BaseBean;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigInteger;
import java.util.List;

@EqualsAndHashCode(callSuper = true)
@Data
public class MasterInfoBean extends BaseBean {
    @JSONField(name = "info")
    private Info info;

    @JSONField(name = "exp")
    private Exp exp;

    @JSONField(name = "follower_num")
    private int followerNum;

    @JSONField(name = "room_id")
    private int roomId;

    @JSONField(name = "medal_name")
    private String medalName;

    @JSONField(name = "glory_count")
    private int gloryCount;

    @JSONField(name = "pendant")
    private String pendant;

    @JSONField(name = "link_group_num")
    private int linkGroupNum;

    @JSONField(name = "room_news")
    private RoomNews roomNews;

    @Data
    public static class Info {
        @JSONField(name = "uid")
        private String uid;

        @JSONField(name = "uname")
        private String uname;

        @JSONField(name = "face")
        private String face;

        @JSONField(name = "official_verify")
        private OfficialVerify officialVerify;

        @JSONField(name = "gender")
        private int gender;
    }

    @Data
    public static class Exp {
        @JSONField(name = "master_level")
        private MasterLevel masterLevel;
    }

    @Data
    public static class MasterLevel {
        @JSONField(name = "level")
        private int level;

        @JSONField(name = "color")
        private int color;

        @JSONField(name = "current")
        private List<Integer> current;

        @JSONField(name = "next")
        private List<Integer> next;
    }

    @Data
    public static class OfficialVerify {
        @JSONField(name = "type")
        private int type;

        @JSONField(name = "desc")
        private String desc;
    }

    @Data
    public static class RoomNews {
        @JSONField(name = "content")
        private String content;

        @JSONField(name = "ctime")
        private String ctime;

        @JSONField(name = "ctime_text")
        private String ctimeText;
    }
}
