Эх сурвалжийг харах

优化序列号信息查询

guanhailong 2 жил өмнө
parent
commit
d36d51737a
1 өөрчлөгдсөн 37 нэмэгдсэн , 21 устгасан
  1. 37 21
      Controller/TestApi.py

+ 37 - 21
Controller/TestApi.py

@@ -867,36 +867,52 @@ class testView(View):
         try:
             # url = 'https://www.zositechc.cn/testApi/getSerialNumberInfo'
             # url = 'http://www.dvema.com/testApi/getSerialNumberInfo'
-            company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number).values('id', 'status')
+            data = {}
+            company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number).values('status')
             if company_serial_qs[0]['status'] == 0:
                 return response.json(0, {'contents': '序列号未分配'})
             uid_company_serial_qs = UIDCompanySerialModel.objects.filter(
-                company_serial_id=company_serial_qs[0]['id']).values('uid__uid','uid__status','company_serial__serial_number')
-            if not uid_company_serial_qs.exists():
-                return response.json(173)
-            count = uid_company_serial_qs.count()
-            data = {}
+                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:
+                    data['status'] = '已绑定uid'
+                if company_serial_qs[0]['status'] == 3:
+                    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'],
                 }
-                device_info_qs = Device_Info.objects.filter(UID=uid_company_serial_qs[0]['uid__uid']).values('UID',
-                                                                                                             'serial_number',
-                                                                                                             'userID_id',
-                                                                                                             'NickName',
-                                                                                                             'isShare')
-                for device_info in device_info_qs:
-                    uid_binding_message = {
-                                'uid': device_info['UID'],
-                                'serialNumber': device_info['serial_number'],
-                                'userID': device_info['userID_id'],
-                                'username': device_info['NickName'],
-                                'isShare': device_info['isShare']
-                            }
-                    data['uid_binding_message'] = uid_binding_message
-            data['count'] = count
+                if company_serial_qs[0]['status'] == 1:
+                    data['status'] = '已分配'
+                if company_serial_qs[0]['status'] == 2:
+                    data['status'] = '绑定uid'
+                if company_serial_qs[0]['status'] == 3:
+                    data['status'] = '已占用'
+                uid = uid_company_serial['uid__uid'] if uid_company_serial['uid__uid'] else ''
+                device_info_qs = Device_Info.objects.filter(UID=uid).values(
+                    'UID',
+                    'serial_number',
+                    'userID_id',
+                    'primaryUserID',
+                    'NickName',)
+                if not device_info_qs.exists():
+                    data['uid_binding'] = "设备信息不存在"
+                uid_binding_message = {
+                    'uid': device_info_qs[0]['UID'],
+                    'serialNumber': device_info_qs[0]['serial_number'],
+                    'userID': device_info_qs[0]['userID_id'],
+                    'username': device_info_qs[0]['NickName'],
+                    'primaryUserID': device_info_qs[0]['primaryUserID']
+                }
+                data['uid_binding_message'] = uid_binding_message
             return response.json(0, data)
         except Exception as e:
             logger.info('查询异常:{}'.format(e))
+            return response.json(500)