94 lines
2.9 KiB

import 'package:huixiang/generated/json/base/json_convert_content.dart';
import 'package:huixiang/data/page.dart';
import 'package:json_annotation/json_annotation.dart';
PageInfo<D> $PageInfoFromJson<D>(Map<String, dynamic> json) {
final PageInfo<D> pageInfo = PageInfo();
final int? pageNum = jsonConvert.convert<int>(json['pageNum']);
if (pageNum != null) {
pageInfo.pageNum = pageNum;
}
final dynamic current = json['current'];
if (current != null) {
pageInfo.current = current;
}
final int? pageSize = jsonConvert.convert<int>(json['pageSize']);
if (pageSize != null) {
pageInfo.pageSize = pageSize;
}
final dynamic size = json['size'];
if (size != null) {
pageInfo.size = size;
}
final dynamic pages = json['pages'];
if (pages != null) {
pageInfo.pages = pages;
}
final bool? hasPreviousPage = jsonConvert.convert<bool>(
json['hasPreviousPage']);
if (hasPreviousPage != null) {
pageInfo.hasPreviousPage = hasPreviousPage;
}
final bool? hasNextPage = jsonConvert.convert<bool>(json['hasNextPage']);
if (hasNextPage != null) {
pageInfo.hasNextPage = hasNextPage;
}
final String? total = jsonConvert.convert<String>(json['total']);
if (total != null) {
pageInfo.total = total;
}
final List<D>? list = (json['list'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<D>(e) as D).toList();
if (list != null) {
pageInfo.list = list;
}
final List<D>? records = (json['records'] as List<dynamic>?)?.map(
(e) => jsonConvert.convert<D>(e) as D).toList();
if (records != null) {
pageInfo.records = records;
}
return pageInfo;
}
Map<String, dynamic> $PageInfoToJson(PageInfo entity) {
final Map<String, dynamic> data = <String, dynamic>{};
data['pageNum'] = entity.pageNum;
data['current'] = entity.current;
data['pageSize'] = entity.pageSize;
data['size'] = entity.size;
data['pages'] = entity.pages;
data['hasPreviousPage'] = entity.hasPreviousPage;
data['hasNextPage'] = entity.hasNextPage;
data['total'] = entity.total;
data['list'] = entity.list?.map((v) => v.toJson()).toList();
data['records'] = entity.records?.map((v) => v.toJson()).toList();
return data;
}
extension PageInfoExtension<D> on PageInfo {
PageInfo copyWith({
int? pageNum,
dynamic current,
int? pageSize,
dynamic size,
dynamic pages,
bool? hasPreviousPage,
bool? hasNextPage,
String? total,
List<D>? list,
List<D>? records,
}) {
return PageInfo()
..pageNum = pageNum ?? this.pageNum
..current = current ?? this.current
..pageSize = pageSize ?? this.pageSize
..size = size ?? this.size
..pages = pages ?? this.pages
..hasPreviousPage = hasPreviousPage ?? this.hasPreviousPage
..hasNextPage = hasNextPage ?? this.hasNextPage
..total = total ?? this.total
..list = list ?? this.list
..records = records ?? this.records;
}
}