✨ Daily sign
This commit is contained in:
48
lib/models/daily_sign.dart
Normal file
48
lib/models/daily_sign.dart
Normal file
@ -0,0 +1,48 @@
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:solian/models/account.dart';
|
||||
|
||||
part 'daily_sign.g.dart';
|
||||
|
||||
@JsonSerializable()
|
||||
class DailySignRecord {
|
||||
int id;
|
||||
DateTime createdAt;
|
||||
DateTime updatedAt;
|
||||
DateTime? deletedAt;
|
||||
Account account;
|
||||
int resultTier;
|
||||
int resultExperience;
|
||||
int accountId;
|
||||
|
||||
DailySignRecord({
|
||||
required this.id,
|
||||
required this.createdAt,
|
||||
required this.updatedAt,
|
||||
required this.deletedAt,
|
||||
required this.resultTier,
|
||||
required this.resultExperience,
|
||||
required this.account,
|
||||
required this.accountId,
|
||||
});
|
||||
|
||||
factory DailySignRecord.fromJson(Map<String, dynamic> json) =>
|
||||
_$DailySignRecordFromJson(json);
|
||||
|
||||
Map<String, dynamic> toJson() => _$DailySignRecordToJson(this);
|
||||
|
||||
String get symbol => switch (resultTier) {
|
||||
0 => '大\n凶',
|
||||
1 => '凶',
|
||||
2 => '中\n平',
|
||||
3 => '吉',
|
||||
_ => '大\n吉',
|
||||
};
|
||||
|
||||
String get overviewSuggestion => switch (resultTier) {
|
||||
0 => '诸事不宜',
|
||||
1 => '有些不宜',
|
||||
2 => '平平淡淡',
|
||||
3 => '有些事宜',
|
||||
_ => '诸事皆宜',
|
||||
};
|
||||
}
|
33
lib/models/daily_sign.g.dart
Normal file
33
lib/models/daily_sign.g.dart
Normal file
@ -0,0 +1,33 @@
|
||||
// GENERATED CODE - DO NOT MODIFY BY HAND
|
||||
|
||||
part of 'daily_sign.dart';
|
||||
|
||||
// **************************************************************************
|
||||
// JsonSerializableGenerator
|
||||
// **************************************************************************
|
||||
|
||||
DailySignRecord _$DailySignRecordFromJson(Map<String, dynamic> json) =>
|
||||
DailySignRecord(
|
||||
id: (json['id'] as num).toInt(),
|
||||
createdAt: DateTime.parse(json['created_at'] as String),
|
||||
updatedAt: DateTime.parse(json['updated_at'] as String),
|
||||
deletedAt: json['deleted_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['deleted_at'] as String),
|
||||
resultTier: (json['result_tier'] as num).toInt(),
|
||||
resultExperience: (json['result_experience'] as num).toInt(),
|
||||
account: Account.fromJson(json['account'] as Map<String, dynamic>),
|
||||
accountId: (json['account_id'] as num).toInt(),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$DailySignRecordToJson(DailySignRecord instance) =>
|
||||
<String, dynamic>{
|
||||
'id': instance.id,
|
||||
'created_at': instance.createdAt.toIso8601String(),
|
||||
'updated_at': instance.updatedAt.toIso8601String(),
|
||||
'deleted_at': instance.deletedAt?.toIso8601String(),
|
||||
'account': instance.account.toJson(),
|
||||
'result_tier': instance.resultTier,
|
||||
'result_experience': instance.resultExperience,
|
||||
'account_id': instance.accountId,
|
||||
};
|
Reference in New Issue
Block a user