store_item.dart 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import 'package:electronic_assistant/utils/expand.dart';
  2. import 'package:json_annotation/json_annotation.dart';
  3. part 'store_item.g.dart';
  4. @JsonSerializable()
  5. class StoreItem {
  6. @JsonKey(name: "id")
  7. late int id;
  8. @JsonKey(name: "sort")
  9. late int sort;
  10. @JsonKey(name: "name")
  11. late String name;
  12. @JsonKey(name: "appleGoodsId")
  13. late String appleGoodsId;
  14. @JsonKey(name: "subscribable")
  15. late int subscribable;
  16. @JsonKey(name: "amount")
  17. late int amount;
  18. @JsonKey(name: "originalAmount")
  19. late int originalAmount;
  20. @JsonKey(name: "auth")
  21. late String auth;
  22. @JsonKey(name: "authValue")
  23. late int authValue;
  24. @JsonKey(name: "subscriptionMillis")
  25. late int subscriptionMillis;
  26. @JsonKey(name: "popular")
  27. late bool popular;
  28. @JsonKey(name: "content")
  29. late String content;
  30. @JsonKey(name: "itemDesc")
  31. late String itemDesc;
  32. StoreItem(
  33. {required this.id,
  34. required this.sort,
  35. required this.name,
  36. required this.appleGoodsId,
  37. required this.subscribable,
  38. required this.amount,
  39. required this.originalAmount,
  40. required this.auth,
  41. required this.authValue,
  42. required this.subscriptionMillis,
  43. required this.popular,
  44. required this.content,
  45. required this.itemDesc});
  46. get amountText => (amount / 100).toFormattedString(2);
  47. get originalAmountText => (originalAmount / 100).toFormattedString(2);
  48. factory StoreItem.fromJson(Map<String, dynamic> json) =>
  49. _$StoreItemFromJson(json);
  50. }