Forráskód Böngészése

[feat]会员折扣页,增加检查订阅状态API

hezihao 6 hónapja
szülő
commit
3482c3e67a

+ 6 - 0
lib/data/api/atmob_api.dart

@@ -30,6 +30,7 @@ import 'package:keyboard/data/api/request/login_request.dart';
 import 'package:keyboard/data/api/request/order_pay_request.dart';
 import 'package:keyboard/data/api/request/order_status_request.dart';
 import 'package:keyboard/data/api/request/send_code_request.dart';
+import 'package:keyboard/data/api/request/subscribe_check_request.dart';
 import 'package:keyboard/data/api/request/subscribe_resume_request.dart';
 import 'package:keyboard/data/api/request/user_info_setting_request.dart';
 import 'package:keyboard/data/api/request/wechat_login_request.dart';
@@ -334,6 +335,11 @@ abstract class AtmobApi {
     @Body() AppBaseRequest request,
   );
 
+  /// 检查订阅状态(IOS使用),验证用户是否可发起支付
+  @POST("/project/keyboard/v1/member/subscribe/check")
+  Future<BaseResponse> subscribeCheck(@Body() SubscribeCheckRequest request);
+
+  /// 恢复订阅(IOS使用)
   @POST("/project/keyboard/v1/member/subscribe/resume")
   Future<BaseResponse> resume(
       @Body() SubscribeResumeRequest request);

+ 23 - 0
lib/data/api/request/subscribe_check_request.dart

@@ -0,0 +1,23 @@
+import 'package:json_annotation/json_annotation.dart';
+
+import '../../../base/base_request.dart';
+
+part 'subscribe_check_request.g.dart';
+
+/// 检查订阅状态(IOS使用),验证用户是否可发起支付
+@JsonSerializable()
+class SubscribeCheckRequest extends BaseRequest {
+  @JsonKey(name: 'receiptData')
+  String receiptData;
+
+  @JsonKey(name: 'payPlatform')
+  int payPlatform;
+
+  @JsonKey(name: 'payMethod')
+  int payMethod;
+
+  SubscribeCheckRequest(this.payPlatform, this.payMethod, this.receiptData);
+
+  @override
+  Map<String, dynamic> toJson() => _$SubscribeCheckRequestToJson(this);
+}

+ 74 - 0
lib/data/api/request/subscribe_check_request.g.dart

@@ -0,0 +1,74 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'subscribe_check_request.dart';
+
+// **************************************************************************
+// JsonSerializableGenerator
+// **************************************************************************
+
+SubscribeCheckRequest _$SubscribeCheckRequestFromJson(
+  Map<String, dynamic> json,
+) =>
+    SubscribeCheckRequest(
+        (json['payPlatform'] as num).toInt(),
+        (json['payMethod'] as num).toInt(),
+        json['receiptData'] as String,
+      )
+      ..appPlatform = (json['appPlatform'] as num).toInt()
+      ..os = json['os'] as String
+      ..osVersion = json['osVersion'] as String
+      ..packageName = json['packageName'] as String?
+      ..appVersionName = json['appVersionName'] as String?
+      ..appVersionCode = (json['appVersionCode'] as num?)?.toInt()
+      ..channelName = json['channelName'] as String?
+      ..appId = (json['appId'] as num?)?.toInt()
+      ..tgPlatform = (json['tgPlatform'] as num?)?.toInt()
+      ..oaid = json['oaid'] as String?
+      ..aaid = json['aaid'] as String?
+      ..androidId = json['androidId'] as String?
+      ..imei = json['imei'] as String?
+      ..simImei0 = json['simImei0'] as String?
+      ..simImei1 = json['simImei1'] as String?
+      ..mac = json['mac'] as String?
+      ..idfa = json['idfa'] as String?
+      ..idfv = json['idfv'] as String?
+      ..machineId = json['machineId'] as String?
+      ..brand = json['brand'] as String?
+      ..model = json['model'] as String?
+      ..wifiName = json['wifiName'] as String?
+      ..region = json['region'] as String?
+      ..locLng = (json['locLng'] as num?)?.toDouble()
+      ..locLat = (json['locLat'] as num?)?.toDouble();
+
+Map<String, dynamic> _$SubscribeCheckRequestToJson(
+  SubscribeCheckRequest instance,
+) => <String, dynamic>{
+  'appPlatform': instance.appPlatform,
+  'os': instance.os,
+  'osVersion': instance.osVersion,
+  'packageName': instance.packageName,
+  'appVersionName': instance.appVersionName,
+  'appVersionCode': instance.appVersionCode,
+  'channelName': instance.channelName,
+  'appId': instance.appId,
+  'tgPlatform': instance.tgPlatform,
+  'oaid': instance.oaid,
+  'aaid': instance.aaid,
+  'androidId': instance.androidId,
+  'imei': instance.imei,
+  'simImei0': instance.simImei0,
+  'simImei1': instance.simImei1,
+  'mac': instance.mac,
+  'idfa': instance.idfa,
+  'idfv': instance.idfv,
+  'machineId': instance.machineId,
+  'brand': instance.brand,
+  'model': instance.model,
+  'wifiName': instance.wifiName,
+  'region': instance.region,
+  'locLng': instance.locLng,
+  'locLat': instance.locLat,
+  'receiptData': instance.receiptData,
+  'payPlatform': instance.payPlatform,
+  'payMethod': instance.payMethod,
+};

+ 1 - 0
lib/data/api/request/subscribe_resume_request.dart

@@ -4,6 +4,7 @@ import '../../../base/base_request.dart';
 
 part 'subscribe_resume_request.g.dart';
 
+/// 恢复订阅(IOS使用)
 @JsonSerializable()
 class SubscribeResumeRequest extends BaseRequest {
   @JsonKey(name: 'receiptData')

+ 23 - 2
lib/data/repository/store_repository.dart

@@ -12,6 +12,7 @@ import '../../utils/error_handler.dart';
 import '../../utils/payment_status_manager.dart';
 import '../api/request/order_pay_request.dart';
 import '../api/request/order_status_request.dart';
+import '../api/request/subscribe_check_request.dart';
 import '../api/request/subscribe_resume_request.dart';
 import '../api/response/item_retention_response.dart';
 import '../api/response/member_agreement_check_response.dart';
@@ -128,9 +129,29 @@ class StoreRepository {
         .then(HttpHandler.handle(true));
   }
 
-  resume(int payPlatform, int payMethod, String receiptData) {
+  /// 检查订阅状态(IOS使用),验证用户是否可发起支付
+  Future<void> subscribeCheck(
+    int payPlatform,
+    int payMethod,
+    String receiptData,
+  ) {
     return atmobApi
-        .resume(SubscribeResumeRequest(payPlatform, payMethod, receiptData))
+        .subscribeCheck(
+          SubscribeCheckRequest(payPlatform, payMethod, receiptData),
+        )
+        .then(HttpHandler.handle(true));
+  }
+
+  /// 恢复订阅(IOS使用)
+  Future<void> subscribeResume(
+    int payPlatform,
+    int payMethod,
+    String receiptData,
+  ) {
+    return atmobApi
+        .subscribeResume(
+          SubscribeResumeRequest(payPlatform, payMethod, receiptData),
+        )
         .then(HttpHandler.handle(true));
   }
   /// 检查当前是否有生效中的支付宝签约协议

+ 1 - 1
lib/module/store/new_discount/new_discount_controller.dart

@@ -582,7 +582,7 @@ class NewDiscountController extends BaseController
     int payPlatform = paymentWay.payPlatform;
     int payMethod = paymentWay.payMethod;
     // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
-    storeRepository.resume(payPlatform, payMethod, receiptData).then((data) {
+    storeRepository.subscribeResume(payPlatform, payMethod, receiptData).then((data) {
       CustomLoadingDialog.hide();
       ToastUtil.show("Restore success");
       accountRepository.getUserInfo();

+ 1 - 1
lib/module/store/store_controller.dart

@@ -580,7 +580,7 @@ class StoreController extends BaseController implements PaymentStatusCallback {
     int payPlatform = paymentWay.payPlatform;
     int payMethod = paymentWay.payMethod;
     // var code = await storeRepository.resume(payPlatform, payMethod, receiptData);
-    storeRepository.resume(payPlatform, payMethod, receiptData).then((data) {
+    storeRepository.subscribeResume(payPlatform, payMethod, receiptData).then((data) {
       CustomLoadingDialog.hide();
       ToastUtil.show("Restore success");
       accountRepository.getUserInfo();