marketing_by_uid_model.dart 3.21 KB
import 'package:common_utils/common_utils.dart';
import 'package:json_annotation/json_annotation.dart';

part 'marketing_by_uid_model.g.dart';

@JsonSerializable()
class MarketingByUidModel extends Object {
  @JsonKey(name: 'ret')
  int ret;

  @JsonKey(name: 'data')
  MarketingByUidsSunModel data;

  @JsonKey(name: 'msg')
  String msg;

  MarketingByUidModel(
    this.ret,
    this.data,
    this.msg,
  );

  factory MarketingByUidModel.fromJson(Map<String, dynamic> srcJson) =>
      _$MarketingByUidModelFromJson(srcJson);

  Map<String, dynamic> toJson() => _$MarketingByUidModelToJson(this);
}

@JsonSerializable()
class MarketingByUidsSunModel extends Object {
  @JsonKey(name: 'self_list')
  List<SelfList> selfList;

  @JsonKey(name: 'seller_list')
  List<SellerList> sellerList;

  MarketingByUidsSunModel(
    this.selfList,
    this.sellerList,
  );

  factory MarketingByUidsSunModel.fromJson(Map<String, dynamic> srcJson) =>
      _$MarketingByUidsSunModelFromJson(srcJson);

  Map<String, dynamic> toJson() => _$MarketingByUidsSunModelToJson(this);
}

@JsonSerializable()
class SelfList extends Object {
  @JsonKey(name: 'id')
  String id;

  @JsonKey(name: 'uid')
  String uid;

  @JsonKey(name: 'aid')
  String aid;

  @JsonKey(name: 'gid')
  String gid;

  @JsonKey(name: 'content')
  String content;

  @JsonKey(name: 'cdate')
  String cdate;

  String get cdateStr {
    DateTime dateTime =
        DateTime.fromMillisecondsSinceEpoch(int.parse(cdate.toString()) * 1000);
    return DateUtil.formatDate(dateTime, format: DateFormats.y_mo_d);
  }

  String get guestCount {
    if (gid == null || gid == '') {
      return '0';
    }
    return '${gid.split(',').length}';
  }

  SelfList(
    this.id,
    this.uid,
    this.aid,
    this.gid,
    this.content,
    this.cdate,
  );

  factory SelfList.fromJson(Map<String, dynamic> srcJson) =>
      _$SelfListFromJson(srcJson);

  Map<String, dynamic> toJson() => _$SelfListToJson(this);
}

@JsonSerializable()
class SellerList extends Object {
  @JsonKey(name: 'id')
  String id;

  @JsonKey(name: 'sellerid')
  String sellerid;

  @JsonKey(name: 'create_user')
  String createUser;

  @JsonKey(name: 'uid')
  String uid;

  @JsonKey(name: 'aid')
  String aid;

  @JsonKey(name: 'gid')
  String gid;

  @JsonKey(name: 'content')
  String content;

  @JsonKey(name: 'is_update')
  String isUpdate;

  @JsonKey(name: 'finished_status')
  String finishedStatus;

  @JsonKey(name: 'edate')
  String edate;

  @JsonKey(name: 'cdate')
  String cdate;

  String get cdateStr {
    if (cdate != null) {
      DateTime dateTime = DateTime.fromMillisecondsSinceEpoch(
          int.parse(cdate.toString()) * 1000);
      return DateUtil.formatDate(dateTime, format: DateFormats.y_mo_d);
    }
    return '';
  }

  String get guestCount {
    if (gid == null || gid == '') {
      return '0';
    }
    return '${gid.split(',').length}';
  }

  SellerList(
    this.id,
    this.sellerid,
    this.createUser,
    this.uid,
    this.aid,
    this.gid,
    this.content,
    this.isUpdate,
    this.finishedStatus,
    this.edate,
    this.cdate,
  );

  factory SellerList.fromJson(Map<String, dynamic> srcJson) =>
      _$SellerListFromJson(srcJson);

  Map<String, dynamic> toJson() => _$SellerListToJson(this);
}