48 lines
1.4 KiB
Dart
48 lines
1.4 KiB
Dart
import 'package:json_annotation/json_annotation.dart';
|
|
|
|
part 'Reservation.g.dart';
|
|
|
|
@JsonSerializable()
|
|
class Reservation {
|
|
int? created_at; // 创建时间(毫秒数)
|
|
String? created_by_name; // 创建人名称
|
|
int? updated_at; // 更新时间(毫秒数)
|
|
String? updated_by_name; // 更新人名称
|
|
int? deleted; // 是否删除(逻辑删除标识)
|
|
String? room_id; // 房间ID
|
|
String? bed_id; // 床位ID
|
|
int? start_time; // 开始时间(毫秒数)
|
|
int? end_time; // 结束时间(毫秒数)
|
|
int? total_days; // 总天数
|
|
String? contact_name; // 联系人名称
|
|
String? relationship_type; // 关系类型
|
|
String? phone_number; // 手机号码
|
|
int? oid; // 机构id
|
|
String? desc; // 备注
|
|
@JsonKey(name: '_id')
|
|
String? id; // ID
|
|
|
|
String? tid; // 所属机构
|
|
int? level; // 权限等级
|
|
|
|
Reservation();
|
|
|
|
// 从JSON中反序列化
|
|
static Reservation fromJson(Map<String, dynamic> json) =>
|
|
_$ReservationFromJson(json);
|
|
|
|
// 转换成JSON
|
|
Map<String, dynamic> toJson() => _$ReservationToJson(this);
|
|
|
|
// 辅助方法:从查询参数生成对象
|
|
static Reservation fromQueryParameters(Map<String, String> queryParameters, Map<String, dynamic> jwt) {
|
|
var json = <String, dynamic>{};
|
|
queryParameters.forEach((key, value) {
|
|
json[key] = value;
|
|
});
|
|
json['tid'] = jwt['tid'];
|
|
json['level'] = jwt['level'];
|
|
return Reservation.fromJson(json);
|
|
}
|
|
}
|