|
@@ -167,6 +167,8 @@ class serveManagement(View):
|
|
|
return self.purchase_refund_list(request_dict, response)
|
|
|
elif operation == 'editRefundPreference':
|
|
|
return self.edit_refund_preference(request_dict, response)
|
|
|
+ elif operation == 'addRefundOrder':
|
|
|
+ return self.add_refund_order(request_dict, response)
|
|
|
else:
|
|
|
return response.json(404)
|
|
|
|
|
@@ -2832,14 +2834,14 @@ class serveManagement(View):
|
|
|
uid = request_dict.get("uid", None)
|
|
|
apple_order = request_dict.get("appleOrder", None)
|
|
|
app_type = request_dict.get("appType", None)
|
|
|
- page = int(request_dict.get('pageNo', 0)) # 默认值设为 0
|
|
|
+ page = int(request_dict.get('page', 0)) # 默认值设为 0
|
|
|
page_size = int(request_dict.get('pageSize', 10)) # 默认值设为 10
|
|
|
|
|
|
in_app_refund_qs = InAppRefund.objects.all()
|
|
|
if order_id:
|
|
|
in_app_refund_qs = in_app_refund_qs.filter(orderID=order_id)
|
|
|
if uid:
|
|
|
- in_app_refund_qs = in_app_refund_qs.filter(uid=order_id)
|
|
|
+ in_app_refund_qs = in_app_refund_qs.filter(uid=uid)
|
|
|
if apple_order and app_type:
|
|
|
app_type = int(app_type)
|
|
|
if app_type == 1:
|
|
@@ -2872,7 +2874,7 @@ class serveManagement(View):
|
|
|
"uid": in_app_refund.uid,
|
|
|
"refundPreference": in_app_refund.refund_preference,
|
|
|
"refundProgress": in_app_refund.refund_progress,
|
|
|
- "appType": in_app_refund.product_type,
|
|
|
+ "appType": in_app_refund.app_type,
|
|
|
"createTime": in_app_refund.created_time,
|
|
|
"updateTime": in_app_refund.updated_time,
|
|
|
"putTime": in_app_refund.put_time,
|
|
@@ -2892,3 +2894,60 @@ class serveManagement(View):
|
|
|
InAppRefund.objects.filter(id=refund_id).update(refund_preference=refund_preference)
|
|
|
return response.json(0)
|
|
|
|
|
|
+ @staticmethod
|
|
|
+ def add_refund_order(request_dict, response):
|
|
|
+ """
|
|
|
+ 添加预备退款订单
|
|
|
+ :param request_dict:
|
|
|
+ :param response:
|
|
|
+ :return:
|
|
|
+ """
|
|
|
+ order_id = request_dict.get("orderID", None)
|
|
|
+ apple_order = request_dict.get("appleOrder", None)
|
|
|
+ app_type = request_dict.get("appType", None)
|
|
|
+
|
|
|
+ if not order_id and (not apple_order or not app_type):
|
|
|
+ return response.json(444)
|
|
|
+ orders_qs = Order_Model.objects.all()
|
|
|
+ if order_id:
|
|
|
+ orders_qs = orders_qs.filter(orderID=order_id)
|
|
|
+ if InAppRefund.objects.filter(orderID=order_id).exists():
|
|
|
+ return response.json(174)
|
|
|
+ if apple_order and app_type:
|
|
|
+ app_type = int(app_type)
|
|
|
+ if app_type == 1:
|
|
|
+ bundle_id = "com.ansjer.zccloud"
|
|
|
+ elif app_type == 2:
|
|
|
+ bundle_id = "com.ansjer.zccloud"
|
|
|
+ else:
|
|
|
+ return response.json(0)
|
|
|
+ in_app_purchase_obj = InAppPurchase(bundle_id=bundle_id)
|
|
|
+ client = in_app_purchase_obj.client
|
|
|
+ signed_data_verifier = in_app_purchase_obj.verifier
|
|
|
+ order_lookup_response = client.look_up_order_id(apple_order)
|
|
|
+ signed_transactions = order_lookup_response.signedTransactions
|
|
|
+ if signed_transactions:
|
|
|
+ transaction_payload = signed_data_verifier.verify_and_decode_signed_transaction(signed_transactions[0])
|
|
|
+ transaction_id = transaction_payload.transactionId
|
|
|
+ orders_qs = orders_qs.filter(transaction_id=transaction_id)
|
|
|
+ if InAppRefund.objects.filter(orderID=order_id).exists():
|
|
|
+ return response.json(174)
|
|
|
+ else:
|
|
|
+ return response.json(800)
|
|
|
+ if not orders_qs.exists():
|
|
|
+ return response.json(173, "订单不存在")
|
|
|
+
|
|
|
+ uid = orders_qs[0].UID
|
|
|
+ order_id = orders_qs[0].orderID
|
|
|
+ transaction_id = orders_qs[0].transaction_id
|
|
|
+ now_time = int(time.time())
|
|
|
+ InAppRefund.objects.create(
|
|
|
+ uid=uid, transaction_id=transaction_id,
|
|
|
+ orderID=order_id, app_type=app_type, refund_progress=4,
|
|
|
+ created_time=now_time, updated_time=now_time
|
|
|
+ )
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|