Sfoglia il codice sorgente

处理PayPal订单接口

locky 1 mese fa
parent
commit
8a1ff907fe

+ 30 - 0
Ansjer/local_config/config_local.py

@@ -83,3 +83,33 @@ APNS_CONFIG = {
         'pem_path': 'Ansjer/file/apns_pem/commissionf-dev.pem',
     }
 }
+
+OCI_CONFIG = {
+    'us': {
+        'user': 'ocid1.user.oc1..aaaaaaaa63vtn64izdujrghlfby6xrlrrdce4yldtnjm7tmqzoc5i2b36s5q',
+        'fingerprint': '09:ff:f4:fa:64:bd:7b:72:64:67:5e:9a:ba:01:68:7b',
+        'tenancy': 'ocid1.tenancy.oc1..aaaaaaaaemreyqoegf4wbegfzetg63bwvzxa7ahfptbziexslzfmc7gnuwmq',
+        'region': 'us-phoenix-1',
+        'key_file': 'Ansjer/file/oci_pem/servers@ansjer.com_2023-12-20T07_21_33.069Z.pem'
+    },
+    'eur': {
+        'user': 'ocid1.user.oc1..aaaaaaaa63vtn64izdujrghlfby6xrlrrdce4yldtnjm7tmqzoc5i2b36s5q',
+        'fingerprint': '09:ff:f4:fa:64:bd:7b:72:64:67:5e:9a:ba:01:68:7b',
+        'tenancy': 'ocid1.tenancy.oc1..aaaaaaaaemreyqoegf4wbegfzetg63bwvzxa7ahfptbziexslzfmc7gnuwmq',
+        'region': 'uk-london-1',
+        'key_file': 'Ansjer/file/oci_pem/servers@ansjer.com_2023-12-20T07_21_33.069Z.pem'
+    }
+}
+OCI_NAMESPACE_NAME = 'cnmlmfa4fooi'
+
+# 域名
+DOMAIN_HOST = 'test.zositechc.cn'
+SERVER_DOMAIN = 'http://test.zositechc.cn/'
+SERVER_DOMAIN_SSL = 'https://test.zositechc.cn/'
+SERVER_DOMAIN_OTA = 'http://test.ota.zositechc.cn/'
+NGINX_RTMP_STAT = 'http://test.zositechc.cn/stat/'
+DETECT_PUSH_DOMAIN = 'http://test.push.dvema.com/'
+DETECT_PUSH_DOMAINS = 'https://test.push.dvema.com/'
+DETECT_PUSH_DOMAIN_JIUAN = 'http://jiuan.push.dvema.com/'
+DETECT_PUSH_DOMAINS_JIUAN = 'https://jiuan.push.dvema.com/'
+TUTK_PUSH_DOMAIN = 'http://push.iotcplatform.com/tpns'

+ 48 - 9
Ansjer/local_config/local_settings.py

@@ -196,7 +196,6 @@ LOGGING = {
     'disable_existing_loggers': True,
     'formatters': {
         'error_format': {
-            # 'format': '{"asctime":"%(asctime)s","thread":"%(threadName)s:%(thread)d","errorline":"%(lineno)d","errorlevel":"%(levelname)s","errorcontent":"%(message)s"}'
             'format': '%(asctime)s %(threadName)s %(thread)d %(lineno)d %(levelname)s %(message)s'
         },
         'standard': {
@@ -214,10 +213,10 @@ LOGGING = {
         },
         'default': {
             'level': 'ERROR',
-            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'class': 'logging.handlers.RotatingFileHandler',
             'filename': BASE_DIR + '/static/log/error/error.log',
-            'backupCount': 30,
-            'when': 'D',
+            'maxBytes': 1024 * 1024 * 5,  # 5 MB
+            'backupCount': 5,
             'formatter': 'error_format',
         },
         'console': {
@@ -227,9 +226,36 @@ LOGGING = {
         },
         'info': {
             'level': 'INFO',
-            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'class': 'logging.handlers.RotatingFileHandler',
             'filename': BASE_DIR + '/static/log/info/info.log',
-            'backupCount': 30,
+            'backupCount': 10,
+            'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
+        'error_code': {
+            'level': 'INFO',
+            'class': 'logging.handlers.RotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/error_code/error_code.log',
+            'backupCount': 10,
+            'maxBytes': 1024 * 1024 * 2 * 1024,  # 2G
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
+        'pay': {
+            'level': 'INFO',
+            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/pay/info.log',
+            'backupCount': 60,
+            'when': 'D',
+            'formatter': 'standard',
+            'encoding': 'utf-8',
+        },
+        'token': {
+            'level': 'INFO',
+            'class': 'logging.handlers.TimedRotatingFileHandler',
+            'filename': BASE_DIR + '/static/log/token/token.log',
+            'backupCount': 60,
             'when': 'D',
             'formatter': 'standard',
             'encoding': 'utf-8',
@@ -238,8 +264,6 @@ LOGGING = {
     'loggers': {
         'django': {
             'handlers': ['default', 'console'],
-            # 'handlers': ['mail_admins','default','console'],
-            # 'level': 'ERROR',
             'level': 'ERROR',
             'propagate': False
         },
@@ -248,6 +272,21 @@ LOGGING = {
             'handlers': ['info'],
             'level': 'INFO',
             'propagate': False
-        }
+        },
+        'error_code': {
+            'handlers': ['error_code'],
+            'level': 'INFO',
+            'propagate': False
+        },
+        'pay': {
+            'handlers': ['pay'],
+            'level': 'INFO',
+            'propagate': False
+        },
+        'token': {
+            'handlers': ['token'],
+            'level': 'INFO',
+            'propagate': False
+        },
     }
 }

+ 30 - 2
Controller/TestApi.py

@@ -49,7 +49,7 @@ from django.contrib.auth.hashers import make_password  # 对密码加密模块
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_KEY_ID, \
     AWS_SECRET_ACCESS_KEY, SERVER_TYPE, AWS_SES_ACCESS_REGION
 from Model.models import Order_Model, Store_Meal, DeviceLogModel, VodBucketModel, \
-    TestSerialRepetition, UIDCompanySerialModel, CompanySerialModel, LogModel
+    TestSerialRepetition, UIDCompanySerialModel, CompanySerialModel, LogModel, AbnormalOrder
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
 from Service.CommonService import CommonService
@@ -174,6 +174,8 @@ class testView(View):
             return self.get_serial_details(request_dict, response, request)
         elif operation == 'checkOrderExist':  # 检查paypal订单是否存在
             return self.checkOrderExist(request_dict, response)
+        elif operation == 'handlePaypalOrder':  # 处理paypal订单
+            return self.handlePaypalOrder(request_dict, response)
         elif operation == 'getDomainName':
             return self.get_domain_name(response)
         else:
@@ -1102,4 +1104,30 @@ class testView(View):
         except Exception as e:
             LOGGER.info(
                 'APP扫码工具获取域名异常, error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-            return response.json(0, "https://www.dvema.com/")
+            return response.json(0, "https://www.dvema.com/")
+
+    @staticmethod
+    def handlePaypalOrder(request_dict, response):
+        try:
+            ab_order_id = ''
+            order_qs = AbnormalOrder.objects.filter(id__gt=ab_order_id).values('order_id', 'agreement_id')
+            if order_qs.exists():
+                for order in order_qs:
+                    order_id, agreement_id = order['order_id'], order['agreement_id']
+                    # 根据agreement_id查询最后一条订单
+                    orders_qs = Order_Model.objects.filter(agreement_id=agreement_id).first()
+                    # 更新订单id
+                    if orders_qs:
+                        old_order_id = orders_qs.orderID
+                        UID_Bucket.objects.filter(orderId=old_order_id).update(orderId=order_id)
+                        Order_Model.objects.filter(orderID=old_order_id).update(orderID=order_id)
+
+                        # orders_qs.orderID = order_id
+                        # orders_qs.save()
+                        LOGGER.info('{} -> {}'.format(old_order_id, order_id))
+                    else:
+                        LOGGER.info('订单不存在: {}'.format(order_id))
+            return response.json(0)
+        except Exception as e:
+            print(old_order_id, order_id)
+            return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))