/* * @Author: wangyang 1147192855@qq.com * @Date: 2022-07-20 15:20:11 * @LastEditors: wangyang 1147192855@qq.com * @LastEditTime: 2022-07-26 16:42:09 * @FilePath: \marking_app\lib\common\model\progress\progress_statistics.dart * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ import 'package:json_annotation/json_annotation.dart'; part 'progress_statistics.g.dart'; @JsonSerializable() class ProgressStatistics extends Object { @JsonKey(name: 'markingTotal') int markingTotal; @JsonKey(name: 'markingFinishedCount') int markingFinishedCount; @JsonKey(name: 'markingUnfinishedCount') int markingUnfinishedCount; @JsonKey(name: 'overallAverage') double overallAverage; @JsonKey(name: 'myAverage') double myAverage; // 完成比例 @JsonKey(name: 'completionRate') double completionRate; @JsonKey(name: 'completionRateStr') String completionRateStr; ProgressStatistics( this.markingUnfinishedCount, this.markingFinishedCount, this.myAverage, this.markingTotal, this.overallAverage, { this.completionRate = 0, this.completionRateStr = '0.0', }) { if (markingTotal != 0) { completionRate = markingFinishedCount / markingTotal; completionRateStr = (completionRate * 100).toStringAsFixed(2); } } factory ProgressStatistics.fromJson(Map srcJson) => _$ProgressStatisticsFromJson(srcJson); Map toJson() => _$ProgressStatisticsToJson(this); }