Selaa lähdekoodia

根据序列号查询各个服绑定状态,添加返回主用户

linhaohong 8 kuukautta sitten
vanhempi
commit
3a86aa0fe5
1 muutettua tiedostoa jossa 53 lisäystä ja 43 poistoa
  1. 53 43
      Controller/TestApi.py

+ 53 - 43
Controller/TestApi.py

@@ -901,10 +901,12 @@ class testView(View):
 
     @classmethod
     def getSerialNumberInfo(cls, request_dict, response):
-        logger = logging.getLogger('info')
-        serial_number = request_dict.get('serialNumber', None)
+        logger = logging.getLogger("info")
+        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:
             uid_user_message = {
                 "uid": "",
@@ -915,55 +917,63 @@ class testView(View):
             }
             data = {
                 "uid": "",
-                "serialNumber": serial_number[:9],
+                "serialNumber": serialNumber,
                 "status": "",
-                "add_time": "",
-                "uid_user_message": uid_user_message
+                "uid_user_message": uid_user_message,
             }
-            # 获取序列哈状态
-            company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number[:6]).values('status')
+            company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number).values("status")
             if not company_serial_qs.exists():
                 return response.json(173)
-            company_serial_qs = company_serial_qs.first()
-            if company_serial_qs['status'] == 0:
-                return response.json(0, {'contents': '序列号未分配'})
+            if company_serial_qs[0]["status"] == 0:
+                return response.json(0, {"contents": "序列号未分配"})
             uid_company_serial_qs = UIDCompanySerialModel.objects.filter(
-                company_serial__serial_number=serial_number[:6]).values('uid__uid', 'uid__status',
-                                                                        'company_serial__serial_number', 'add_time')
-            if not uid_company_serial_qs.exists():
-                data['status'] = cls.serial_number_status(company_serial_qs['status'])
+                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:
+                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)
-            uid_company_serial = uid_company_serial_qs.first()
-            data['uid'] = uid_company_serial['uid__uid']
-            data['status'] = uid_company_serial['uid__status']
-            data['add_time'] = CommonService.timestamp_to_str(uid_company_serial['add_time'])
-            data['status'] = cls.serial_number_status(company_serial_qs['status'])
-            device_info_qs = Device_Info.objects.filter(UID=data['uid']).values(
-                'UID',
-                'serial_number',
-                'userID_id',
-                'primaryUserID',
-                'userID__username',
-                'data_joined').order_by('-data_joined')
-            if device_info_qs.exists():
-                # 判断主用户是否存在
-                primary_qs = device_info_qs.exclude(primaryUserID='')
-                if primary_qs.exists():
-                    uid_user_message['uid'] = primary_qs[0]['UID'],
-                    uid_user_message['serialNumber'] = primary_qs[0]['serial_number']
-                    uid_user_message['userID'] = primary_qs[0]['userID_id']
-                    uid_user_message['username'] = primary_qs[0]['userID__username']
-                    uid_user_message['primaryUserID'] = primary_qs[0]['primaryUserID']
-                else:
-                    device_info = device_info_qs.first()
-                    uid_user_message['uid'] = device_info['UID']
-                    uid_user_message['serialNumber'] = device_info['serial_number']
-                    uid_user_message['userID'] = device_info['userID_id']
-                    uid_user_message['username'] = device_info['userID__username']
-                    uid_user_message['primaryUserID'] = device_info['primaryUserID']
+            for uid_company_serial in uid_company_serial_qs:
+                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:
+                    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",
+                    "userID__username",
+                    "vodPrimaryMaster"
+                )
+                primaryUserID = ""
+                if device_info_qs.exists():
+                    primaryUserID = device_info_qs[0]["primaryUserID"]
+                    if not primaryUserID:
+                        primaryUserID = device_info_qs[0]["vodPrimaryMaster"]
+                    if not primaryUserID:
+                        primaryUserID = device_info_qs[0]["userID_id"]
+                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]["userID__username"] if device_info_qs.exists() else "",
+                    "primaryUserID": primaryUserID
+                }
+                data["uid_user_message"] = uid_user_message
             return response.json(0, data)
         except Exception as e:
-            logger.error('序列号:{}, 查询异常:{}'.format(serial_number, e))
+            logger.info("查询异常:{}".format(e))
             return response.json(500)
 
     @staticmethod