diff --git a/lib/common/services/database/entity/broadcast_entity.dart b/lib/common/services/database/entity/broadcast_entity.dart new file mode 100644 index 0000000..da10a2a --- /dev/null +++ b/lib/common/services/database/entity/broadcast_entity.dart @@ -0,0 +1,46 @@ +import 'package:floor/floor.dart'; +import 'package:json_annotation/json_annotation.dart'; + +part 'broadcast_entity.g.dart'; + +@JsonSerializable() +@Entity(tableName: "broadcast") +class BroadcastEntity { + /// 自增ID + @PrimaryKey(autoGenerate: true) + int? id; + + /// 广播内容 + String content; + + /// 当前广播次数 + int broadcastCount = 0; + + /// 最大广播次数 + int broadcastMaxCount; + + /// 是否广播语音 + bool isBroadcast; + + /// 是否完成 + bool isDone = false; + + /// 完成时间 + DateTime? isDoneTime; + + /// 创建时间 + DateTime createTime; + + BroadcastEntity({ + this.id, + required this.content, + required this.broadcastMaxCount, + required this.isBroadcast, + required this.createTime, + }); + + factory BroadcastEntity.fromJson(Map json) => + _$BroadcastEntityFromJson(json); + + Map toJson() => _$BroadcastEntityToJson(this); +} diff --git a/lib/common/services/database/entity/broadcast_entity.g.dart b/lib/common/services/database/entity/broadcast_entity.g.dart new file mode 100644 index 0000000..6ab04dc --- /dev/null +++ b/lib/common/services/database/entity/broadcast_entity.g.dart @@ -0,0 +1,33 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'broadcast_entity.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +BroadcastEntity _$BroadcastEntityFromJson(Map json) => + BroadcastEntity( + id: (json['id'] as num?)?.toInt(), + content: json['content'] as String, + broadcastMaxCount: (json['broadcastMaxCount'] as num).toInt(), + isBroadcast: json['isBroadcast'] as bool, + createTime: DateTime.parse(json['createTime'] as String), + ) + ..broadcastCount = (json['broadcastCount'] as num).toInt() + ..isDone = json['isDone'] as bool + ..isDoneTime = json['isDoneTime'] == null + ? null + : DateTime.parse(json['isDoneTime'] as String); + +Map _$BroadcastEntityToJson(BroadcastEntity instance) => + { + 'id': instance.id, + 'content': instance.content, + 'broadcastCount': instance.broadcastCount, + 'broadcastMaxCount': instance.broadcastMaxCount, + 'isBroadcast': instance.isBroadcast, + 'isDone': instance.isDone, + 'isDoneTime': instance.isDoneTime?.toIso8601String(), + 'createTime': instance.createTime.toIso8601String(), + };