Browse Source

新增汇总查询序列号信息查询接口

guanhailong 2 years ago
parent
commit
c51f1850c4
1 changed files with 49 additions and 21 deletions
  1. 49 21
      Controller/TestApi.py

+ 49 - 21
Controller/TestApi.py

@@ -19,6 +19,8 @@ import cv2
 from botocore import client
 from django.db import transaction
 
+from Ansjer.config import CONFIG_INFO
+from Ansjer.cn_config.config_formal import CONFIG_INFO
 from Controller.DeviceConfirmRegion import Device_Region
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.RedisObject import RedisObject
@@ -161,8 +163,10 @@ class testView(View):
         elif operation == 'serial-repetition':  # 用与测试序列号重复接口
             response = ResponseObject('cn')
             return self.serial_repetition_test(request_dict, response)
-        if operation == 'getSerialNumberInfo':  # 序列号信息查询
-            return self.getSerialNumberInfo(request_dict, response, requests)
+        elif operation == 'getSerialNumberInfo':  # 序列号信息查询
+            return self.getSerialNumberInfo(request_dict, response)
+        elif operation == 'get-serial-details':  # 序列号信息查询
+            return self.get_serial_details(request_dict, response)
         else:
             return 123
 
@@ -859,14 +863,27 @@ class testView(View):
             return response.json(500, repr(e))
 
     @staticmethod
-    def getSerialNumberInfo(request_dict, response, requests):
+    def getSerialNumberInfo(request_dict, response):
         logger = logging.getLogger('info')
-        serial_number = request_dict.get("serialNumber", None)
+        serial_number = request_dict.get('serialNumber', None)
         if not serial_number:
             return response.json(444)
+        serialNumber = serial_number[:9]
         serial_number = serial_number[:6]
         try:
-            data = {}
+            uid_user_message = {
+                    "uid": "",
+                    "serialNumber": "",
+                    "userID": "",
+                    "username": "",
+                    "primaryUserID": ""
+            }
+            data = {
+                "uid": "",
+                "serialNumber": serialNumber,
+                "status": "",
+                "uid_user_message": uid_user_message
+                }
             company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number).values('status')
             if not company_serial_qs.exists():
                 return response.json(173)
@@ -876,7 +893,6 @@ class testView(View):
                 company_serial__serial_number=serial_number).values('uid__uid', 'uid__status',
                                                                     'company_serial__serial_number')
             if not uid_company_serial_qs.exists() and company_serial_qs[0]['status'] != 0:
-                data['serial_number'] = serial_number
                 if company_serial_qs[0]['status'] == 1:
                     data['status'] = '已分配'
                 if company_serial_qs[0]['status'] == 2:
@@ -885,11 +901,9 @@ class testView(View):
                     data['status'] = '已占用'
                 return response.json(0, data)
             for uid_company_serial in uid_company_serial_qs:
-                data = {
-                    'uid': uid_company_serial['uid__uid'],
-                    'serialNumber': uid_company_serial['company_serial__serial_number'],
-                    'status': uid_company_serial['uid__status'],
-                }
+                data['uid'] = uid_company_serial['uid__uid']
+                data['serialNumber'] = serialNumber
+                data['status'] =  uid_company_serial['uid__status']
                 if company_serial_qs[0]['status'] == 1:
                     data['status'] = '已分配'
                 if company_serial_qs[0]['status'] == 2:
@@ -902,24 +916,38 @@ class testView(View):
                     'serial_number',
                     'userID_id',
                     'primaryUserID',
-                    'NickName', )
+                    'userID__username')
                 uid_user_message = {
                     'uid': device_info_qs[0]['UID'] if device_info_qs.exists() else '',
                     'serialNumber': device_info_qs[0]['serial_number'] if device_info_qs.exists() else '',
                     'userID': device_info_qs[0]['userID_id'] if device_info_qs.exists() else '',
-                    'username': device_info_qs[0]['NickName'] if device_info_qs.exists() else '',
+                    'username': device_info_qs[0]['userID__username'] if device_info_qs.exists() else '',
                     'primaryUserID': device_info_qs[0]['primaryUserID'] if device_info_qs.exists() else ''
                 }
                 data['uid_user_message'] = uid_user_message
-            # url = 'http://www.dvema.com/testApi/getSerialNumberInfo'
-            # requests_data = {'serialNumber':serial_number}
-            # res = requests.post(url=url, data=requests_data)
-            # if res.status_code != 200:
-            #     fail_reason = '请求国外服务器序列号信息查询响应状态码异常'
-            #     logger.info('查询异常:{}'.format(fail_reason))
-            #     return response.json(500)
-
             return response.json(0, data)
         except Exception as e:
             logger.info('查询异常:{}'.format(e))
             return response.json(500)
+
+    @classmethod
+    def get_serial_details(cls, request_dict, response):
+        serial_number = request_dict.get("serialNumber", None)
+        results_data = []
+        if CONFIG_INFO == 'cn':
+            local_response = cls.getSerialNumberInfo(request_dict, response)
+            res = json.loads(local_response.content)
+            res['result']['server'] = 1
+            results_data.append(res['result'])
+            res1 = requests.post("http://www.dvema.com/testApi/getSerialNumberInfo",
+                                 data={'serialNumber': serial_number}, timeout=3)
+            results1 = json.loads(res1.text)
+            results1['result']['server'] = 2
+            results_data.append(results1['result'])
+            res2 = requests.post("https://api.zositeche.com/testApi/getSerialNumberInfo",
+                                 data={'serialNumber': serial_number}, timeout=3)
+            results2 = json.loads(res2.text)
+            results2['result']['server'] = 3
+            results_data.append(results2['result'])
+            return response.json(0, results_data)
+        return response.json(0)