package com.cooleshow.teacher.bean;

import android.os.Parcel;
import android.os.Parcelable;

import java.util.List;

/**
 * Author by pq, Date on 2022/7/25.
 */
public class HomeMenuBean {
    public List<ItemBean> appMenu;
    public List<BannerBean> banner;

    public static class BannerBean implements Parcelable{
        /**
         * updateName : 刘俊驰
         * subTypeName :
         * typeName :
         * status : 1
         * subType : 0
         * order : 3
         * attribute1 : 0
         * coverImage : https://ks3-cn-beijing.ksyuncs.com/daya/16600084801271652770725150lQLPDhtmx59XSgXNAQjNArawzGMhg5rwutcCeRFM8MADAA_694_264.png
         * attribute2 : IMAGE
         * linkUrl : www.baidu.com
         * clientType : TEACHER
         * onlineTime : 2022-08-02 00:00:00
         * offlineTime : 2022-08-10 00:00:00
         * showTime : 0
         * memo :
         * title : 测试老师端轮播
         * createBy : 56
         * updateBy : 56
         * hrefTarget :
         * videoCoverImage :
         * subjectIdList :
         * subjectName :
         * linkType :
         * updateTime : 2022-08-09 09:28:14
         * delFlag : false
         * createTime : 2022-08-09 09:28:02
         * id : 135
         * type : 4
         * content :
         */

        public String updateName;
        public String subTypeName;
        public String typeName;
        public int status;
        public int subType;
        public int order;
        public String attribute1;
        public String coverImage;
        public String attribute2;
        public String linkUrl;
        public String clientType;
        public String onlineTime;
        public String offlineTime;
        public int showTime;
        public String memo;
        public String title;
        public int createBy;
        public int updateBy;
        public String hrefTarget;
        public String videoCoverImage;
        public String subjectIdList;
        public String subjectName;
        public String linkType;
        public String updateTime;
        public boolean delFlag;
        public String createTime;
        public int id;
        public int type;
        public String content;

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.updateName);
            dest.writeString(this.subTypeName);
            dest.writeString(this.typeName);
            dest.writeInt(this.status);
            dest.writeInt(this.subType);
            dest.writeInt(this.order);
            dest.writeString(this.attribute1);
            dest.writeString(this.coverImage);
            dest.writeString(this.attribute2);
            dest.writeString(this.linkUrl);
            dest.writeString(this.clientType);
            dest.writeString(this.onlineTime);
            dest.writeString(this.offlineTime);
            dest.writeInt(this.showTime);
            dest.writeString(this.memo);
            dest.writeString(this.title);
            dest.writeInt(this.createBy);
            dest.writeInt(this.updateBy);
            dest.writeString(this.hrefTarget);
            dest.writeString(this.videoCoverImage);
            dest.writeString(this.subjectIdList);
            dest.writeString(this.subjectName);
            dest.writeString(this.linkType);
            dest.writeString(this.updateTime);
            dest.writeByte(this.delFlag ? (byte) 1 : (byte) 0);
            dest.writeString(this.createTime);
            dest.writeInt(this.id);
            dest.writeInt(this.type);
            dest.writeString(this.content);
        }

        public void readFromParcel(Parcel source) {
            this.updateName = source.readString();
            this.subTypeName = source.readString();
            this.typeName = source.readString();
            this.status = source.readInt();
            this.subType = source.readInt();
            this.order = source.readInt();
            this.attribute1 = source.readString();
            this.coverImage = source.readString();
            this.attribute2 = source.readString();
            this.linkUrl = source.readString();
            this.clientType = source.readString();
            this.onlineTime = source.readString();
            this.offlineTime = source.readString();
            this.showTime = source.readInt();
            this.memo = source.readString();
            this.title = source.readString();
            this.createBy = source.readInt();
            this.updateBy = source.readInt();
            this.hrefTarget = source.readString();
            this.videoCoverImage = source.readString();
            this.subjectIdList = source.readString();
            this.subjectName = source.readString();
            this.linkType = source.readString();
            this.updateTime = source.readString();
            this.delFlag = source.readByte() != 0;
            this.createTime = source.readString();
            this.id = source.readInt();
            this.type = source.readInt();
            this.content = source.readString();
        }

        public BannerBean() {
        }

        protected BannerBean(Parcel in) {
            this.updateName = in.readString();
            this.subTypeName = in.readString();
            this.typeName = in.readString();
            this.status = in.readInt();
            this.subType = in.readInt();
            this.order = in.readInt();
            this.attribute1 = in.readString();
            this.coverImage = in.readString();
            this.attribute2 = in.readString();
            this.linkUrl = in.readString();
            this.clientType = in.readString();
            this.onlineTime = in.readString();
            this.offlineTime = in.readString();
            this.showTime = in.readInt();
            this.memo = in.readString();
            this.title = in.readString();
            this.createBy = in.readInt();
            this.updateBy = in.readInt();
            this.hrefTarget = in.readString();
            this.videoCoverImage = in.readString();
            this.subjectIdList = in.readString();
            this.subjectName = in.readString();
            this.linkType = in.readString();
            this.updateTime = in.readString();
            this.delFlag = in.readByte() != 0;
            this.createTime = in.readString();
            this.id = in.readInt();
            this.type = in.readInt();
            this.content = in.readString();
        }

        public static final Creator<BannerBean> CREATOR = new Creator<BannerBean>() {
            @Override
            public BannerBean createFromParcel(Parcel source) {
                return new BannerBean(source);
            }

            @Override
            public BannerBean[] newArray(int size) {
                return new BannerBean[size];
            }
        };
    }

    public static class ItemBean implements Parcelable {

        /**
         * attribute1 :
         * attribute2 :
         * clientType :
         * content :
         * coverImage :
         * createTime :
         * delFlag : true
         * hrefTarget :
         * id : 0
         * linkType :
         * linkUrl :
         * memo :
         * offlineTime :
         * onlineTime :
         * order : 0
         * showTime : 0
         * status :
         * subType : 0
         * subTypeName :
         * subjectIdList :
         * subjectName :
         * title :
         * type : 0
         * typeName :
         * updateName :
         * updateTime :
         * videoCoverImage :
         */

        public String attribute1;
        public String attribute2;
        public String clientType;
        public String content;
        public String coverImage;
        public String createTime;
        public boolean delFlag;
        public String hrefTarget;
        public int id;
        public String linkType;
        public String linkUrl;
        public String memo;
        public String offlineTime;
        public String onlineTime;
        public int order;
        public int showTime;
        public String status;
        public int subType;
        public String subTypeName;
        public String subjectIdList;
        public String subjectName;
        public String title;
        public int type;
        public String typeName;
        public String updateName;
        public String updateTime;
        public String videoCoverImage;

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(Parcel dest, int flags) {
            dest.writeString(this.attribute1);
            dest.writeString(this.attribute2);
            dest.writeString(this.clientType);
            dest.writeString(this.content);
            dest.writeString(this.coverImage);
            dest.writeString(this.createTime);
            dest.writeByte(this.delFlag ? (byte) 1 : (byte) 0);
            dest.writeString(this.hrefTarget);
            dest.writeInt(this.id);
            dest.writeString(this.linkType);
            dest.writeString(this.linkUrl);
            dest.writeString(this.memo);
            dest.writeString(this.offlineTime);
            dest.writeString(this.onlineTime);
            dest.writeInt(this.order);
            dest.writeInt(this.showTime);
            dest.writeString(this.status);
            dest.writeInt(this.subType);
            dest.writeString(this.subTypeName);
            dest.writeString(this.subjectIdList);
            dest.writeString(this.subjectName);
            dest.writeString(this.title);
            dest.writeInt(this.type);
            dest.writeString(this.typeName);
            dest.writeString(this.updateName);
            dest.writeString(this.updateTime);
            dest.writeString(this.videoCoverImage);
        }

        public void readFromParcel(Parcel source) {
            this.attribute1 = source.readString();
            this.attribute2 = source.readString();
            this.clientType = source.readString();
            this.content = source.readString();
            this.coverImage = source.readString();
            this.createTime = source.readString();
            this.delFlag = source.readByte() != 0;
            this.hrefTarget = source.readString();
            this.id = source.readInt();
            this.linkType = source.readString();
            this.linkUrl = source.readString();
            this.memo = source.readString();
            this.offlineTime = source.readString();
            this.onlineTime = source.readString();
            this.order = source.readInt();
            this.showTime = source.readInt();
            this.status = source.readString();
            this.subType = source.readInt();
            this.subTypeName = source.readString();
            this.subjectIdList = source.readString();
            this.subjectName = source.readString();
            this.title = source.readString();
            this.type = source.readInt();
            this.typeName = source.readString();
            this.updateName = source.readString();
            this.updateTime = source.readString();
            this.videoCoverImage = source.readString();
        }

        public ItemBean() {
        }

        protected ItemBean(Parcel in) {
            this.attribute1 = in.readString();
            this.attribute2 = in.readString();
            this.clientType = in.readString();
            this.content = in.readString();
            this.coverImage = in.readString();
            this.createTime = in.readString();
            this.delFlag = in.readByte() != 0;
            this.hrefTarget = in.readString();
            this.id = in.readInt();
            this.linkType = in.readString();
            this.linkUrl = in.readString();
            this.memo = in.readString();
            this.offlineTime = in.readString();
            this.onlineTime = in.readString();
            this.order = in.readInt();
            this.showTime = in.readInt();
            this.status = in.readString();
            this.subType = in.readInt();
            this.subTypeName = in.readString();
            this.subjectIdList = in.readString();
            this.subjectName = in.readString();
            this.title = in.readString();
            this.type = in.readInt();
            this.typeName = in.readString();
            this.updateName = in.readString();
            this.updateTime = in.readString();
            this.videoCoverImage = in.readString();
        }

        public static final Parcelable.Creator<ItemBean> CREATOR = new Parcelable.Creator<ItemBean>() {
            @Override
            public ItemBean createFromParcel(Parcel source) {
                return new ItemBean(source);
            }

            @Override
            public ItemBean[] newArray(int size) {
                return new ItemBean[size];
            }
        };
    }
}
