|
@@ -12,6 +12,7 @@ import 'package:keyboard/data/bean/character_info.dart';
|
|
|
import 'package:keyboard/data/repository/config_repository.dart';
|
|
import 'package:keyboard/data/repository/config_repository.dart';
|
|
|
import 'package:keyboard/module/login/login_page.dart';
|
|
import 'package:keyboard/module/login/login_page.dart';
|
|
|
import 'package:keyboard/module/store/new_discount/member_card_bean.dart';
|
|
import 'package:keyboard/module/store/new_discount/member_card_bean.dart';
|
|
|
|
|
+import 'package:keyboard/utils/error_handler.dart';
|
|
|
import 'package:keyboard/utils/method_chanel_ios_util.dart';
|
|
import 'package:keyboard/utils/method_chanel_ios_util.dart';
|
|
|
import 'package:keyboard/widget/platform_util.dart';
|
|
import 'package:keyboard/widget/platform_util.dart';
|
|
|
import '../../../data/api/response/user_info_response.dart';
|
|
import '../../../data/api/response/user_info_response.dart';
|
|
@@ -190,8 +191,10 @@ class NewDiscountController extends BaseController
|
|
|
);
|
|
);
|
|
|
if (filteredGoodsList.isNotEmpty) {
|
|
if (filteredGoodsList.isNotEmpty) {
|
|
|
_selectedGoodsInfoItem.value = filteredGoodsList.first;
|
|
_selectedGoodsInfoItem.value = filteredGoodsList.first;
|
|
|
|
|
+ CustomLoadingDialog.show();
|
|
|
var isHasDiscount = await MethodChanelIOSUtil.isHasDiscount(goodsInfoList.first.appleGoodsId);
|
|
var isHasDiscount = await MethodChanelIOSUtil.isHasDiscount(goodsInfoList.first.appleGoodsId);
|
|
|
isDiscount.value = isHasDiscount;
|
|
isDiscount.value = isHasDiscount;
|
|
|
|
|
+ CustomLoadingDialog.hide();
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -239,6 +242,14 @@ class NewDiscountController extends BaseController
|
|
|
final buyGoods = selectedGoodsInfoItem!;
|
|
final buyGoods = selectedGoodsInfoItem!;
|
|
|
final buyPayWay = selectedPayWay!;
|
|
final buyPayWay = selectedPayWay!;
|
|
|
|
|
|
|
|
|
|
+ selectedGoodsInfoItem?.realAmount = selectedGoodsInfoItem?.amount;
|
|
|
|
|
+
|
|
|
|
|
+ if (selectedGoodsInfoItem?.discountPriceDesc != null && selectedGoodsInfoItem?.firstAmount != null) {
|
|
|
|
|
+ if (isDiscount.value) {
|
|
|
|
|
+ selectedGoodsInfoItem?.realAmount = selectedGoodsInfoItem?.firstAmount;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
int goodsId = buyGoods.id;
|
|
int goodsId = buyGoods.id;
|
|
|
int payPlatform = buyPayWay.payPlatform;
|
|
int payPlatform = buyPayWay.payPlatform;
|
|
|
int payMethod = buyPayWay.payMethod;
|
|
int payMethod = buyPayWay.payMethod;
|
|
@@ -677,347 +688,4 @@ class NewDiscountController extends BaseController
|
|
|
// ToastUtil.show("Restore fail");
|
|
// ToastUtil.show("Restore fail");
|
|
|
// }
|
|
// }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- /// 恢复订阅
|
|
|
|
|
- Future<void> clickRestore() async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
-
|
|
|
|
|
- CustomLoadingDialog.show();
|
|
|
|
|
-
|
|
|
|
|
- Future.delayed(const Duration(seconds: 20), () {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore record not found");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- final result = await ApplePay().restore();
|
|
|
|
|
- if (result["success"] == true) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- var receipt = result['receipt'];
|
|
|
|
|
- print('查找恢复记录成功: ${result['receipt']}');
|
|
|
|
|
- checkRestoreStatus(receipt);
|
|
|
|
|
- } else {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Pay Error");
|
|
|
|
|
- print('恢复失败: ${result['error']}');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 显示恢复订阅弹窗
|
|
|
|
|
- // RecoverSubscribeDialog.show("周会员2025年3月6日到期。", () {
|
|
|
|
|
- // AtmobLog.d(tag, "恢复订阅弹窗 => 点击确认");
|
|
|
|
|
- // });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 检查恢复订阅结果
|
|
|
|
|
- Future<void> checkRestoreStatus(String? receiptData) async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- // ToastUtil.showToast(StringName.storeChoicePayment.tr);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (receiptData == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
- // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
|
|
|
|
|
- storeRepository.subscribeResume(payPlatform, payMethod, receiptData).then((data) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore success");
|
|
|
|
|
- accountRepository.getUserInfo();
|
|
|
|
|
- Get.back();
|
|
|
|
|
- }).catchError((error) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore fail");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // if (code == 0) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore success");
|
|
|
|
|
- // userRepository.getUserInfo();
|
|
|
|
|
- // Get.back();
|
|
|
|
|
- // } else {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore fail");
|
|
|
|
|
- // }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 恢复订阅
|
|
|
|
|
- Future<void> clickRestore() async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
-
|
|
|
|
|
- CustomLoadingDialog.show();
|
|
|
|
|
-
|
|
|
|
|
- Future.delayed(const Duration(seconds: 20), () {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore record not found");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- final result = await ApplePay().restore();
|
|
|
|
|
- if (result["success"] == true) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- var receipt = result['receipt'];
|
|
|
|
|
- print('查找恢复记录成功: ${result['receipt']}');
|
|
|
|
|
- checkRestoreStatus(receipt);
|
|
|
|
|
- } else {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Pay Error");
|
|
|
|
|
- print('恢复失败: ${result['error']}');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 显示恢复订阅弹窗
|
|
|
|
|
- // RecoverSubscribeDialog.show("周会员2025年3月6日到期。", () {
|
|
|
|
|
- // AtmobLog.d(tag, "恢复订阅弹窗 => 点击确认");
|
|
|
|
|
- // });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 检查恢复订阅结果
|
|
|
|
|
- Future<void> checkRestoreStatus(String? receiptData) async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- // ToastUtil.showToast(StringName.storeChoicePayment.tr);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (receiptData == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
- // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
|
|
|
|
|
- storeRepository.subscribeResume(payPlatform, payMethod, receiptData).then((data) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore success");
|
|
|
|
|
- accountRepository.getUserInfo();
|
|
|
|
|
- Get.back();
|
|
|
|
|
- }).catchError((error) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore fail");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // if (code == 0) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore success");
|
|
|
|
|
- // userRepository.getUserInfo();
|
|
|
|
|
- // Get.back();
|
|
|
|
|
- // } else {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore fail");
|
|
|
|
|
- // }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 恢复订阅
|
|
|
|
|
- Future<void> clickRestore() async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
-
|
|
|
|
|
- CustomLoadingDialog.show();
|
|
|
|
|
-
|
|
|
|
|
- Future.delayed(const Duration(seconds: 20), () {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("没有发现可恢复的记录");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- final result = await ApplePay().restore();
|
|
|
|
|
- if (result["success"] == true) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- var receipt = result['receipt'];
|
|
|
|
|
- print('查找恢复记录成功: ${result['receipt']}');
|
|
|
|
|
- checkRestoreStatus(receipt);
|
|
|
|
|
- } else {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("恢复失败");
|
|
|
|
|
- print('恢复失败: ${result['error']}');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 显示恢复订阅弹窗
|
|
|
|
|
- // RecoverSubscribeDialog.show("周会员2025年3月6日到期。", () {
|
|
|
|
|
- // AtmobLog.d(tag, "恢复订阅弹窗 => 点击确认");
|
|
|
|
|
- // });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 检查恢复订阅结果
|
|
|
|
|
- Future<void> checkRestoreStatus(String? receiptData) async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- // ToastUtil.showToast(StringName.storeChoicePayment.tr);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (receiptData == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
- // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
|
|
|
|
|
- storeRepository
|
|
|
|
|
- .subscribeResume(payPlatform, payMethod, receiptData)
|
|
|
|
|
- .then((data) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("恢复成功");
|
|
|
|
|
- accountRepository.getUserInfo();
|
|
|
|
|
- Get.back();
|
|
|
|
|
- })
|
|
|
|
|
- .catchError((error) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("恢复失败");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // if (code == 0) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore success");
|
|
|
|
|
- // userRepository.getUserInfo();
|
|
|
|
|
- // Get.back();
|
|
|
|
|
- // } else {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore fail");
|
|
|
|
|
- // }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 恢复订阅
|
|
|
|
|
- Future<void> clickRestore() async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
-
|
|
|
|
|
- CustomLoadingDialog.show();
|
|
|
|
|
-
|
|
|
|
|
- Future.delayed(const Duration(seconds: 20), () {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore record not found");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- final result = await ApplePay().restore();
|
|
|
|
|
- if (result["success"] == true) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- var receipt = result['receipt'];
|
|
|
|
|
- print('查找恢复记录成功: ${result['receipt']}');
|
|
|
|
|
- checkRestoreStatus(receipt);
|
|
|
|
|
- } else {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Pay Error");
|
|
|
|
|
- print('恢复失败: ${result['error']}');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 显示恢复订阅弹窗
|
|
|
|
|
- // RecoverSubscribeDialog.show("周会员2025年3月6日到期。", () {
|
|
|
|
|
- // AtmobLog.d(tag, "恢复订阅弹窗 => 点击确认");
|
|
|
|
|
- // });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 检查恢复订阅结果
|
|
|
|
|
- Future<void> checkRestoreStatus(String? receiptData) async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- // ToastUtil.showToast(StringName.storeChoicePayment.tr);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (receiptData == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
- // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
|
|
|
|
|
- storeRepository.subscribeResume(payPlatform, payMethod, receiptData).then((data) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore success");
|
|
|
|
|
- accountRepository.getUserInfo();
|
|
|
|
|
- Get.back();
|
|
|
|
|
- }).catchError((error) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore fail");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // if (code == 0) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore success");
|
|
|
|
|
- // userRepository.getUserInfo();
|
|
|
|
|
- // Get.back();
|
|
|
|
|
- // } else {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore fail");
|
|
|
|
|
- // }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 恢复订阅
|
|
|
|
|
- Future<void> clickRestore() async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
-
|
|
|
|
|
- CustomLoadingDialog.show();
|
|
|
|
|
-
|
|
|
|
|
- Future.delayed(const Duration(seconds: 20), () {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore record not found");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- final result = await ApplePay().restore();
|
|
|
|
|
- if (result["success"] == true) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- var receipt = result['receipt'];
|
|
|
|
|
- print('查找恢复记录成功: ${result['receipt']}');
|
|
|
|
|
- checkRestoreStatus(receipt);
|
|
|
|
|
- } else {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Pay Error");
|
|
|
|
|
- print('恢复失败: ${result['error']}');
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- // 显示恢复订阅弹窗
|
|
|
|
|
- // RecoverSubscribeDialog.show("周会员2025年3月6日到期。", () {
|
|
|
|
|
- // AtmobLog.d(tag, "恢复订阅弹窗 => 点击确认");
|
|
|
|
|
- // });
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- /// 检查恢复订阅结果
|
|
|
|
|
- Future<void> checkRestoreStatus(String? receiptData) async {
|
|
|
|
|
- PayWayInfo? paymentWay = _selectedPayWay.value;
|
|
|
|
|
- if (paymentWay == null) {
|
|
|
|
|
- // ToastUtil.showToast(StringName.storeChoicePayment.tr);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- if (receiptData == null) {
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
- int payPlatform = paymentWay.payPlatform;
|
|
|
|
|
- int payMethod = paymentWay.payMethod;
|
|
|
|
|
- // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
|
|
|
|
|
- storeRepository.subscribeResume(payPlatform, payMethod, receiptData).then((data) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore success");
|
|
|
|
|
- accountRepository.getUserInfo();
|
|
|
|
|
- Get.back();
|
|
|
|
|
- }).catchError((error) {
|
|
|
|
|
- CustomLoadingDialog.hide();
|
|
|
|
|
- ToastUtil.show("Restore fail");
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- // if (code == 0) {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore success");
|
|
|
|
|
- // userRepository.getUserInfo();
|
|
|
|
|
- // Get.back();
|
|
|
|
|
- // } else {
|
|
|
|
|
- // CustomLoadingDialog.hide();
|
|
|
|
|
- // ToastUtil.show("Restore fail");
|
|
|
|
|
- // }
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|