Browse Source

优化paypal每日对账

peng 1 year ago
parent
commit
1dd5ff7449
1 changed files with 5 additions and 2 deletions
  1. 5 2
      Controller/Cron/CronTaskController.py

+ 5 - 2
Controller/Cron/CronTaskController.py

@@ -1278,12 +1278,13 @@ class CronComparedDataView(View):
             if item['transaction_info']['transaction_event_code'] == 'T1107':
                 trade_no = item['transaction_info']['paypal_reference_id']
                 more_order_list.append(trade_no)
+            pay_time = int(datetime.datetime.strptime(item['transaction_info']['transaction_updated_date'],
+                                                      "%Y-%m-%dT%H:%M:%S%z").timestamp())
             order_qs = Order_Model.objects.filter(trade_no=trade_no, payType=1)
             if not order_qs.exists():
                 transaction_subject = item['transaction_info'].get('transaction_subject', '')
                 agreement_id = item['transaction_info'].get('paypal_reference_id', '')
-                pay_time = int(datetime.datetime.strptime(item['transaction_info']['transaction_updated_date'],
-                                                          "%Y-%m-%dT%H:%M:%S%z").timestamp())
+
                 order_dict = {
                     'trade_no': trade_no,
                     'agreement_id': agreement_id,
@@ -1309,6 +1310,8 @@ class CronComparedDataView(View):
                 if result['result_code'] != 0 or not result['result']['is_exist']:
                     # 如果响应结果为空,记录在数据库
                     AbnormalOrder.objects.create(**order_dict)
+            else:
+                order_qs.update(payTime=pay_time)
         total = round(total, 2)
         daily_reconciliation = DailyReconciliation.objects.filter(time=timestamp)
         if daily_reconciliation.exists():