Эх сурвалжийг харах

周期付款 - 修改取消订阅状态为3

linhaohong 1 жил өмнө
parent
commit
f4a1362122

+ 4 - 3
Controller/InAppPurchaseController.py

@@ -113,11 +113,12 @@ class InAppPurchaseView(View):
                 device_apple_package_qs = DeviceApplePackage.objects.filter(
                 device_apple_package_qs = DeviceApplePackage.objects.filter(
                     original_transaction_id=original_transaction_identifier)
                     original_transaction_id=original_transaction_identifier)
                 if device_apple_package_qs.exists():
                 if device_apple_package_qs.exists():
-                    pay_result_url = CommonService.get_payment_status_url(lang, 'fail')
                     if device_apple_package_qs[0].userID != user_id:
                     if device_apple_package_qs[0].userID != user_id:
+                        pay_result_url = CommonService.get_payment_status_url(lang, 'fail')
                         return response.json(0, {'url': pay_result_url})
                         return response.json(0, {'url': pay_result_url})
-                    elif device_apple_package_qs[0].uid == uid and device_apple_package_qs[0].subscription_status == 0:
+                    elif device_apple_package_qs[0].uid == uid and device_apple_package_qs[0].subscription_status == 3:
                         device_apple_package_qs.update(subscription_status=1)
                         device_apple_package_qs.update(subscription_status=1)
+                        pay_result_url = CommonService.get_payment_status_url(lang, 'success')
                         return response.json(0, {'url': pay_result_url})
                         return response.json(0, {'url': pay_result_url})
 
 
             root_certificates = []
             root_certificates = []
@@ -498,7 +499,7 @@ class InAppPurchaseView(View):
                     original_transaction_id = decoded_transaction_information.originalTransactionId
                     original_transaction_id = decoded_transaction_information.originalTransactionId
                     if original_transaction_id:
                     if original_transaction_id:
                         DeviceApplePackage.objects.filter(original_transaction_id=original_transaction_id).update(
                         DeviceApplePackage.objects.filter(original_transaction_id=original_transaction_id).update(
-                            subscription_status=0)
+                            subscription_status=3)
 
 
             elif str(decoded_payload.rawNotificationType) == "REFUND":
             elif str(decoded_payload.rawNotificationType) == "REFUND":
                 # 一种通知类型,表示 App Store 成功退还了消耗性应用内购买、非消耗性应用内购买、自动续订或不可续订的交易。
                 # 一种通知类型,表示 App Store 成功退还了消耗性应用内购买、非消耗性应用内购买、自动续订或不可续订的交易。

+ 1 - 1
Model/models.py

@@ -5137,7 +5137,7 @@ class DeviceApplePackage(models.Model):
     uid = models.CharField(max_length=20, verbose_name='设备UID', db_index=True)
     uid = models.CharField(max_length=20, verbose_name='设备UID', db_index=True)
     package_id = models.ForeignKey(InAppPurchasePackage, blank=True, to_field='id', null=True,
     package_id = models.ForeignKey(InAppPurchasePackage, blank=True, to_field='id', null=True,
                                    on_delete=models.SET_NULL, verbose_name='关联苹果内购订阅套餐表')
                                    on_delete=models.SET_NULL, verbose_name='关联苹果内购订阅套餐表')
-    subscription_status = models.SmallIntegerField(default=0, verbose_name='订阅状态') # 0:取消订阅, 1:订阅 2: 订阅已过期
+    subscription_status = models.SmallIntegerField(default=0, verbose_name='订阅状态') # 0:未订阅, 1:订阅 2:订阅已过期 3:取消订阅
     original_transaction_id = models.CharField(default='', blank=True, max_length=64, verbose_name=u'苹果内购originalTransactionId')
     original_transaction_id = models.CharField(default='', blank=True, max_length=64, verbose_name=u'苹果内购originalTransactionId')
     created_time = models.IntegerField(verbose_name='创建时间', default=0)
     created_time = models.IntegerField(verbose_name='创建时间', default=0)
     update_time = models.IntegerField(verbose_name='更新时间', default=0)
     update_time = models.IntegerField(verbose_name='更新时间', default=0)