|
@@ -21,7 +21,7 @@ from django.http import HttpResponse
|
|
|
from Ansjer.config import LOGGER, CONFIG_INFO, CONFIG_TEST, PAY_TYPE_IN_APP_PURCHASE, BASE_DIR
|
|
|
from Controller.CheckUserData import DataValid
|
|
|
from Model.models import Order_Model, Store_Meal, Device_Info, UID_Bucket, Unused_Uid_Meal, AiService, Device_User, \
|
|
|
- SysMsgModel, DeviceApplePackage
|
|
|
+ SysMsgModel, DeviceApplePackage, InAppPurchasePackage
|
|
|
from Object.AWS.S3Email import S3Email
|
|
|
from Object.AliSmsObject import AliSmsObject
|
|
|
from Object.RedisObject import RedisObject
|
|
@@ -156,12 +156,16 @@ class InAppPurchaseView(View):
|
|
|
order_qs = Order_Model.objects.filter(orderID=order_id, UID=uid).values("rank_id")
|
|
|
if not order_qs.exists():
|
|
|
return response.json(173, "订单不存在")
|
|
|
- store_qs = Store_Meal.objects.filter(id=order_qs[0]['rank_id'], product_id=product_id).values(
|
|
|
+ store_qs = Store_Meal.objects.filter(id=order_qs[0]['rank_id']).values(
|
|
|
'id', 'currency', 'price', 'lang__content', 'day', 'commodity_type', 'lang__title', 'expire',
|
|
|
'commodity_code', 'discount_price', 'bucket_id', 'bucket__mold', 'cycle_config_id', 'is_ai')
|
|
|
if not store_qs.exists():
|
|
|
return response.json(173, "套餐不存在")
|
|
|
|
|
|
+ in_app_purchase_package_qs = InAppPurchasePackage.objects.filter(product_id=product_id)
|
|
|
+ if not in_app_purchase_package_qs.exists():
|
|
|
+ return response.json(173, "内购套餐不存在")
|
|
|
+
|
|
|
bucket_id = store_qs[0]['bucket_id']
|
|
|
is_ai = store_qs[0]['is_ai']
|
|
|
expire = store_qs[0]['expire']
|
|
@@ -205,8 +209,11 @@ class InAppPurchaseView(View):
|
|
|
|
|
|
# 修改订阅状态
|
|
|
if payload.rawType == "Auto-Renewable Subscription":
|
|
|
- DeviceApplePackage.objects.filter(userID=user_id, uid=uid).update(subscription_status=1,
|
|
|
- original_transaction_id=original_transaction_id)
|
|
|
+ in_app_purchase_package = in_app_purchase_package_qs.values('id').first()
|
|
|
+ package_id = in_app_purchase_package['id']
|
|
|
+ DeviceApplePackage.objects.filter(userID=user_id, uid=uid, package_id=package_id).update(
|
|
|
+ subscription_status=1,
|
|
|
+ original_transaction_id=original_transaction_id)
|
|
|
order_qs.update(status=1, uid_bucket_id=uid_bucket_id,
|
|
|
transaction_id=transaction_id, create_vod=1,
|
|
|
original_transaction_id=original_transaction_id)
|