guru_sdk/guru_app/lib/financial/reward/reward_model.dart

45 lines
1.2 KiB
Dart

import 'package:guru_app/financial/asset/assets_model.dart';
import 'package:guru_app/financial/data/db/order_database.dart';
import 'package:guru_app/financial/manifest/manifest.dart';
import 'package:guru_app/financial/product/product_model.dart';
import 'package:guru_utils/datetime/datetime_utils.dart';
import 'package:guru_utils/id/id_utils.dart';
/// Created by Haoyi on 2023/2/13
class RewardProduct implements Product {
@override
final ProductId productId;
@override
final Manifest manifest;
String get sku => productId.sku;
RewardProduct(this.productId, this.manifest);
bool isConsumable() {
return productId.isConsumable;
}
@override
String toString() {
return 'IapProduct{productId: $productId}';
}
@override
OrderEntity createOrder() {
return OrderEntity(
orderId: IdUtils.uuidV4(),
sku: productId.sku,
state: TransactionState.success,
attr: productId.attr,
method: TransactionMethod.reward.index,
currency: TransactionCurrency.reward,
cost: 0,
category: manifest.category,
timestamp: DateTimeUtils.currentTimeInMillis(),
manifest: manifest);
}
}