message.dart 1.98 KB
import 'package:json_annotation/json_annotation.dart';
import 'package:one_key/utils/utils.dart';

part 'message.g.dart';

@JsonSerializable()
class Message {
    Message();

    String id;
    dynamic message_type;
    String handle_time;//10在线预订 11取消预订
    String read_time;
    String is_read;
    String is_handle;
    String ddate;
    String rname;
    dynamic sex;
    dynamic cdate;
    dynamic rid;
    String room_demand;
    String ddate_solt;
    dynamic ddate_long;
    String status;
    String room_info;

    String get rnameStr{
        switch(sex.toString()){
            case "1"://先生
            case "男":
                return rname+"先生";
            case "2"://女士
            case "女":
                return rname+"女士";
            case "3"://公司
            case "公司":
                return rname+"公司";
        }
    }

    String get ddateStr{
        DateTime dateTime=DateTime.fromMillisecondsSinceEpoch(int.parse(ddate_long.toString())*1000);
        String ymd=dateTime.year.toString()+"/"+Utils.addZeroNumber(dateTime.month)+"/"+Utils.addZeroNumber(dateTime.day);
        switch(ddate_solt){
            case "1"://早餐
            return ymd+" 早餐";
            case "2"://午餐
            return ymd+" 午餐";
            case "3"://晚餐
            return ymd+" 晚餐";
            default:
                return ymd;
        }
    }

    String get cdateStr{
        DateTime dateTime=DateTime.fromMillisecondsSinceEpoch(int.parse(cdate.toString())*1000);
        if((DateTime.now().difference(dateTime)).inMilliseconds<60000){
            return "刚刚";
        }else{
            return dateTime.year.toString()+"/"+Utils.addZeroNumber(dateTime.month)+"/"+Utils.addZeroNumber(dateTime.day)+" "+Utils.addZeroNumber(dateTime.hour)+":"+Utils.addZeroNumber(dateTime.minute);
        }
    }

    factory Message.fromJson(Map<String,dynamic> json) => _$MessageFromJson(json);
    Map<String, dynamic> toJson() => _$MessageToJson(this);
}