membership_entity.dart 2.56 KB
import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/membership_entity.g.dart';

@JsonSerializable()
class MembershipEntity {
  String? status;
  int? code;
  String? message;
  MembershipData? data;
  MembershipError? error;

  MembershipEntity();

  factory MembershipEntity.fromJson(Map<String, dynamic> json) =>
      $MembershipEntityFromJson(json);

  Map<String, dynamic> toJson() => $MembershipEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class MembershipData {
  int? id;
  String? title;
  String? intro;
  @JSONField(name: "bg_type")
  String? bgType;
  @JSONField(name: "bg_images")
  String? bgImages;
  @JSONField(name: "video_url")
  String? videoUrl;
  @JSONField(name: "video_cover")
  String? videoCover;
  String? terminal;
  String? state;
  @JSONField(name: "created_at")
  String? createdAt;
  @JSONField(name: "updated_at")
  String? updatedAt;
  @JSONField(name: "is_vip")
  int? isVip;
  @JSONField(name: "goods_list")
  List<MembershipDataGoodsList>? goodsList;

  MembershipData();

  factory MembershipData.fromJson(Map<String, dynamic> json) =>
      $MembershipDataFromJson(json);

  Map<String, dynamic> toJson() => $MembershipDataToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class MembershipDataGoodsList {
  int? id;
  @JSONField(name: "membership_id")
  String? membershipId;
  @JSONField(name: "iap_id")
  String? iapId;
  String? name;
  String? price;
  @JSONField(name: "line_price")
  String? linePrice;
  @JSONField(name: "limit_days")
  String? limitDays;
  @JSONField(name: "limit_unit")
  String? limitUnit;
  String? terminal;
  String? state;
  String? sn;
  String? visits;
  @JSONField(name: "virtual_sales")
  String? virtualSales;
  String? sales;
  String? stocks;
  @JSONField(name: "created_at")
  String? createdAt;
  @JSONField(name: "updated_at")
  String? updatedAt;

  MembershipDataGoodsList();

  factory MembershipDataGoodsList.fromJson(Map<String, dynamic> json) =>
      $MembershipDataGoodsListFromJson(json);

  Map<String, dynamic> toJson() => $MembershipDataGoodsListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class MembershipError {
  MembershipError();

  factory MembershipError.fromJson(Map<String, dynamic> json) =>
      $MembershipErrorFromJson(json);

  Map<String, dynamic> toJson() => $MembershipErrorToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}