package com.tencent.liteav.demo.player.util;

import androidx.annotation.Nullable;

import java.util.ArrayList;
import java.util.List;

public class ModelCourse {
    public static class ChapterList {
        public String id;
        public String name;
        public String aiCourseSkuId;
        public String coverImgUrl;
        public ArrayList<ItemList> itemList;
    }

    public static class ItemList {
        public String id;
        public String name;
        public String videoId;
        public String aiCourseSkuId;
        public int sort;
        public int readCount;
        public String aiCourseItemChapterId;
        public int type;
        public int payType;
        public int freeTime;
        public Object audioId;
        public String imgCover;
        public Object richText;
        public Object splitList;
        public int hasReport;
        public String clockInUserCount;
        public int enable;
        public int hasReply;
        public int totalStarCount;
        public ArrayList<Object> starList;
        public String readCountStr;
        public Video video;
        public int hasClockIn;
        public int getStarCount;
        public Records getRecord;
    }

    public static class Course {
        public String id;
        public String name;
        public String imgCover;
        public String imgCoverMini;
        public String createTime;
        public String updateTime;
        public double price;
        public double markingPrice;
        public String categoryId;
        public int courseCount;
        public String aiCourseSpuId;
        public String suitAge;
        public Object wxNumber;
        public Object wxQrCode;
        public Object wxName;
        public Object wxHeadImg;
        public String description;
        public int mediaType;
        public String simpleDescription;
        public int sort;
        public int showChapter;
        public int courseType;
        public String subCategoryId;
        public Object activityTag;
        public ArrayList<Object> courseTags;
        public int paidCount;
        public Object latestLearnedRecordId;
        public Object latestLearnedRecord;
        public ArrayList<Object> abilityList;
        public int commentCount;
        public int shareCount;
        public int collectCount;
        public int isCollect;
        public int hasPaid;
        public int isComment;
        public int isShare;
        public Object imgCoverWidth;
        public Object imgCoverHeight;
        public String shareUrl;
        public String shareUrlQRCode;
        public Object groupBuyActivity;
        public Object groupBuyActivityId;
        public Object groupBuyActivityUrl;
        public int show_cover_img;
        public Spu spu;
        public int totalStarCount;
        public int getStarCount;
        public ArrayList<ChapterList> chapterList;
        public Object videoUrl;
    }

    public static class Spu {
        public String id;
        public String name;
        public String imgCover;
        public String imgCoverMini;
        public Object videoUrl;
        public String createTime;
        public String updateTime;
        public double price;
        public double markingPrice;
        public String categoryId;
        public String suitAge;
        public Object parentNotice;
        public int courseCount;
        public Object description;
        public Object outline;
        public Object notice;
        public String simpleDescription;
        public int mediaType;
        public int status;
        public int isDelete;
        public int sort;
        public int showChapter;
        public boolean isShow;
        public int showCoverImg;
    }

    public static class Video {
        public String id;
        public String videoUrl;
        public String thumbnailUrl;
        public double duration;
    }

    public static class Records {
        @Nullable
        public String aiCourseItemId;

        @Nullable
        public String intervals;

        @Nullable
        public Long lastTime;

        @Nullable
        public Long validDuration;
    }
}
