import '../model_parser.dart'; import 'skywood_drama.dart'; import 'skywood_episode.dart'; class SkywoodDetail { final SkywoodDrama? videoInfo; final SkywoodDrama? shortPlayInfo; final List episodeList; final String? businessModel; bool? isCollect; final bool? showShareCoin; final int? shareCoin; final int? revolution; final String? userLevel; final int? jumpType; final int? jumpShortPlayId; final List? checkPoint; SkywoodDetail({ required this.videoInfo, this.shortPlayInfo, required this.episodeList, this.businessModel, this.isCollect, this.showShareCoin, this.shareCoin, this.revolution, this.userLevel, this.jumpType, this.jumpShortPlayId, this.checkPoint, }); factory SkywoodDetail.fromJson(Map json) { return SkywoodDetail( videoInfo: parseMap(json['video_info']) == null ? null : SkywoodDrama.fromJson(parseMap(json['video_info'])!), shortPlayInfo: parseMap(json['shortPlayInfo']) == null ? null : SkywoodDrama.fromJson(parseMap(json['shortPlayInfo'])!), episodeList: parseModelList(json['episodeList'], SkywoodEpisode.fromJson), businessModel: json['business_model'] as String?, isCollect: json['is_collect'] == null ? null : parseBool(json['is_collect']), showShareCoin: json['show_share_coin'] == null ? null : parseBool(json['show_share_coin']), shareCoin: json['share_coin'] == null ? null : parseInt(json['share_coin']), revolution: json['revolution'] == null ? null : parseInt(json['revolution']), userLevel: json['user_level'] as String?, jumpType: json['jump_type'] == null ? null : parseInt(json['jump_type']), jumpShortPlayId: json['jump_short_play_id'] == null ? null : parseInt(json['jump_short_play_id']), checkPoint: parseIntList(json['check_point']), ); } Map toJson() { return { 'video_info': videoInfo?.toJson(), 'shortPlayInfo': shortPlayInfo?.toJson(), 'episodeList': episodeList.map((item) => item.toJson()).toList(), 'business_model': businessModel, 'is_collect': isCollect, 'show_share_coin': showShareCoin, 'share_coin': shareCoin, 'revolution': revolution, 'user_level': userLevel, 'jump_type': jumpType, 'jump_short_play_id': jumpShortPlayId, 'check_point': checkPoint, }; } SkywoodDetail copyWith({ SkywoodDrama? videoInfo, SkywoodDrama? shortPlayInfo, List? episodeList, String? businessModel, bool? isCollect, bool? showShareCoin, int? shareCoin, int? revolution, String? userLevel, int? jumpType, int? jumpShortPlayId, List? checkPoint, }) { return SkywoodDetail( videoInfo: videoInfo ?? this.videoInfo, shortPlayInfo: shortPlayInfo ?? this.shortPlayInfo, episodeList: episodeList ?? this.episodeList, businessModel: businessModel ?? this.businessModel, isCollect: isCollect ?? this.isCollect, showShareCoin: showShareCoin ?? this.showShareCoin, shareCoin: shareCoin ?? this.shareCoin, revolution: revolution ?? this.revolution, userLevel: userLevel ?? this.userLevel, jumpType: jumpType ?? this.jumpType, jumpShortPlayId: jumpShortPlayId ?? this.jumpShortPlayId, checkPoint: checkPoint ?? this.checkPoint, ); } }