GetBanquetByTimeModel.dart 4.58 KB

import 'package:common_utils/common_utils.dart';

import '../utils/utils.dart';

class GetBanquetByTimeModel {
  int? ret;
  List<GetBanquetByTimeSunModel>? data;
  String? msg;

  GetBanquetByTimeModel({this.ret, this.data, this.msg});

  GetBanquetByTimeModel.fromJson(Map<String, dynamic> json) {
    ret = json['ret'];
    if (json['data'] != null) {
      data = <GetBanquetByTimeSunModel>[];
      json['data'].forEach((v) {
        data!.add(new GetBanquetByTimeSunModel.fromJson(v));
      });
    }
    msg = json['msg'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['ret'] = this.ret;
    if (this.data != null) {
      data['data'] = this.data!.map((v) => v.toJson()).toList();
    }
    data['msg'] = this.msg;
    return data;
  }
}

class GetBanquetByTimeSunModel {
  String? id;
  String? rname;
  String? sex;
  String? phone;
  String? staffId;
  String? ddate;
  String? classifyId;
  String? className;
  String? nickName;
  String? account;
  List<SessionByTime>? list;

  String get ddateStr {
    DateTime dateTime =
        DateTime.fromMillisecondsSinceEpoch(int.parse(ddate!) * 1000);
    return '${dateTime.month}月${dateTime.day}日';
  }

  GetBanquetByTimeSunModel(
      {this.id,
      this.rname,
      this.sex,
      this.phone,
      this.staffId,
      this.ddate,
      this.classifyId,
      this.className,
      this.nickName,
      this.account,
      this.list});

  GetBanquetByTimeSunModel.fromJson(Map<String, dynamic> json) {
    id = json['id'];
    rname = json['rname'];
    sex = json['sex'];
    phone = json['phone'];
    staffId = json['staff_id'];
    ddate = json['ddate'];
    classifyId = json['classify_id'];
    className = json['class_name'];
    nickName = json['nick_name'];
    account = json['account'];
    if (json['list'] != null) {
      list = <SessionByTime>[];
      json['list'].forEach((v) {
        list!.add(new SessionByTime.fromJson(v));
      });
    }
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['id'] = this.id;
    data['rname'] = this.rname;
    data['sex'] = this.sex;
    data['phone'] = this.phone;
    data['staff_id'] = this.staffId;
    data['ddate'] = this.ddate;
    data['classify_id'] = this.classifyId;
    data['class_name'] = this.className;
    data['nick_name'] = this.nickName;
    data['account'] = this.account;
    if (this.list != null) {
      data['list'] = this.list!.map((v) => v.toJson()).toList();
    }
    return data;
  }
}

class SessionByTime {
  String? reserveOrder;
  String? ddateInterval;
  String? rdate;
  String? edate;
  String? tids;
  List<String>? tableName;
  String get ddateStr {
    if (rdate!.length > 11) {
      return '';
    }
    if (ddateInterval == '0') {
      //不带餐

      DateTime dateS =
          DateTime.fromMillisecondsSinceEpoch(int.parse(rdate!) * 1000);
      DateTime dateE =
          DateTime.fromMillisecondsSinceEpoch(int.parse(edate!) * 1000);
      String ymd = DateUtil.formatDate(dateS, format: DateFormats.y_mo_d);
      String start = '${Utils.addZeroNumber(dateS.hour)}:${Utils.addZeroNumber(dateS.minute)}';
      String end =  '${Utils.addZeroNumber(dateE.hour)}:${Utils.addZeroNumber(dateE.minute)}';

      return ymd + '   ' + start + '-' + end;
    } else {
      DateTime dateS =
          DateTime.fromMillisecondsSinceEpoch(int.parse(rdate!) * 1000);
      // DateTime dateE =
      //     DateTime.fromMillisecondsSinceEpoch(int.parse(temp[1]) * 1000);
      String ymd = DateUtil.formatDate(dateS, format: DateFormats.y_mo_d);
      if (ddateInterval == '1') {
        return ymd + '   ' + '早餐';
      } else if (ddateInterval == '2') {
        return ymd + '   ' + '午餐';
      } else if (ddateInterval == '3') {
        return ymd + '   ' + '晚餐';
      }
    }

    return '';
  }

  SessionByTime(
      {this.reserveOrder,
      this.ddateInterval,
      this.rdate,
      this.edate,
      this.tids,
      this.tableName});

  SessionByTime.fromJson(Map<String, dynamic> json) {
    reserveOrder = json['reserve_order'];
    ddateInterval = json['ddate_interval'];
    rdate = json['rdate'];
    edate = json['edate'];
    tids = json['tids'];
    tableName = json['table_name'].cast<String>();
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['reserve_order'] = this.reserveOrder;
    data['ddate_interval'] = this.ddateInterval;
    data['rdate'] = this.rdate;
    data['edate'] = this.edate;
    data['tids'] = this.tids;
    data['table_name'] = this.tableName;
    return data;
  }
}