Jelajahi Sumber

新增写入PayPal订单号接口

locky 1 tahun lalu
induk
melakukan
f66baff8b8
1 mengubah file dengan 25 tambahan dan 3 penghapusan
  1. 25 3
      Controller/TestApi.py

+ 25 - 3
Controller/TestApi.py

@@ -13,6 +13,7 @@ import requests
 from boto3.session import Session
 from django.contrib.auth.hashers import make_password  # 对密码加密模块
 from django.db import connection, transaction
+from django.db.models import Q
 from django.http import HttpResponse, JsonResponse
 from django.utils.decorators import method_decorator
 from django.views.decorators.csrf import csrf_exempt
@@ -44,7 +45,7 @@ from Model.models import (
     TestSerialRepetition,
     UID_Bucket,
     UIDCompanySerialModel,
-    VodBucketModel,
+    VodBucketModel, PaypalWebHookEvent,
 )
 from Object.AliPayObject import AliPayObject
 from Object.AWS.AmazonS3Util import AmazonS3Util
@@ -102,8 +103,8 @@ class testView(View):
             return self.configType(response)
         elif operation == "createData":
             return self.createData(request_dict, response)
-        elif operation == "findPaypalOrder":
-            return self.findPaypalOrder(request_dict, response)
+        elif operation == "write_trade_no":
+            return self.write_trade_no(request_dict, response)
         elif operation == "comb":
             return self.do_comb(request_dict, response)
         elif operation == "count_ts":
@@ -635,6 +636,27 @@ class testView(View):
         DeviceLogModel.objects.create(uid=uid)
         return response.json(0)
 
+    @staticmethod
+    def write_trade_no(request_dict, response):
+        order_id_list = [
+            '20230907065015782239',
+            '20230907065317610335',
+            '20230908052328972692',
+            '20230909041922370332',
+            '20230912112016475783',
+            '20230912164404055222',
+            '20230914102128409892',
+            '20230914110630052782',
+            '20230914125050468117',
+            '20230918061527058694',
+            '20230918062701462434']
+        for order_id in order_id_list:
+            paypal_webhook_event_qs = PaypalWebHookEvent.objects.filter(~Q(trade_no=''), orderID=order_id).values('trade_no')
+            if paypal_webhook_event_qs.exists():
+                trade_no = paypal_webhook_event_qs[0]['trade_no']
+                Order_Model.objects.filter(orderID=order_id).update(trade_no=trade_no)
+        return response.json(0)
+
     def count_ts(self, request_dict, response):
         year = request_dict.get("year", None)
         month = request_dict.get("month", None)