|
@@ -898,15 +898,21 @@ class testView(View):
|
|
print(e)
|
|
print(e)
|
|
return response.json(500, repr(e))
|
|
return response.json(500, repr(e))
|
|
|
|
|
|
- @staticmethod
|
|
|
|
- def getSerialNumberInfo(request_dict, response):
|
|
|
|
|
|
+ @classmethod
|
|
|
|
+ def getSerialNumberInfo(cls, request_dict, response):
|
|
logger = logging.getLogger('info')
|
|
logger = logging.getLogger('info')
|
|
serial_number = request_dict.get('serialNumber', None)
|
|
serial_number = request_dict.get('serialNumber', None)
|
|
if not serial_number:
|
|
if not serial_number:
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
+ # 返回序列号
|
|
serialNumber = serial_number[:9]
|
|
serialNumber = serial_number[:9]
|
|
|
|
+ # 查询uid
|
|
serial_number = serial_number[:6]
|
|
serial_number = serial_number[:6]
|
|
try:
|
|
try:
|
|
|
|
+ company_serial_qs = CompanySerialModel.objects.filter(serial_number=serial_number).values('status')
|
|
|
|
+ if not company_serial_qs.exists():
|
|
|
|
+ return response.json(173)
|
|
|
|
+
|
|
uid_user_message = {
|
|
uid_user_message = {
|
|
"uid": "",
|
|
"uid": "",
|
|
"serialNumber": "",
|
|
"serialNumber": "",
|
|
@@ -920,52 +926,60 @@ class testView(View):
|
|
"status": "",
|
|
"status": "",
|
|
"uid_user_message": uid_user_message
|
|
"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)
|
|
|
|
- if company_serial_qs[0]['status'] == 0:
|
|
|
|
|
|
+
|
|
|
|
+ company_serial_qs = company_serial_qs.first()
|
|
|
|
+ if company_serial_qs['status'] == 0:
|
|
return response.json(0, {'contents': '序列号未分配'})
|
|
return response.json(0, {'contents': '序列号未分配'})
|
|
uid_company_serial_qs = UIDCompanySerialModel.objects.filter(
|
|
uid_company_serial_qs = UIDCompanySerialModel.objects.filter(
|
|
company_serial__serial_number=serial_number).values('uid__uid', 'uid__status',
|
|
company_serial__serial_number=serial_number).values('uid__uid', 'uid__status',
|
|
'company_serial__serial_number')
|
|
'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'] = '已占用'
|
|
|
|
|
|
+ if not uid_company_serial_qs.exists():
|
|
|
|
+ data['status'] = cls.serial_number_status(company_serial_qs['status'])
|
|
return response.json(0, data)
|
|
return response.json(0, data)
|
|
- 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')
|
|
|
|
- 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': device_info_qs[0]['primaryUserID'] if device_info_qs.exists() else ''
|
|
|
|
- }
|
|
|
|
- data['uid_user_message'] = uid_user_message
|
|
|
|
|
|
+ uid_company_serial = uid_company_serial_qs.first()
|
|
|
|
+ data['uid'] = uid_company_serial['uid__uid']
|
|
|
|
+ data['serialNumber'] = serialNumber
|
|
|
|
+ data['status'] = uid_company_serial['uid__status']
|
|
|
|
+ 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['UID'],
|
|
|
|
+ uid_user_message['serialNumber'] = primary_qs['serial_number']
|
|
|
|
+ uid_user_message['userID'] = primary_qs['userID_id']
|
|
|
|
+ uid_user_message['username'] = primary_qs['userID__username']
|
|
|
|
+ uid_user_message['primaryUserID'] = primary_qs['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']
|
|
return response.json(0, data)
|
|
return response.json(0, data)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
- logger.info('查询异常:{}'.format(e))
|
|
|
|
|
|
+ logger.error('序列号:{}, 查询异常:{}'.format(serial_number, e))
|
|
return response.json(500)
|
|
return response.json(500)
|
|
|
|
|
|
|
|
+ @staticmethod
|
|
|
|
+ def serial_number_status(status):
|
|
|
|
+ # 判断序号状态
|
|
|
|
+ if status == 1:
|
|
|
|
+ status = '已分配'
|
|
|
|
+ elif status == 2:
|
|
|
|
+ status = '绑定uid'
|
|
|
|
+ elif status == 3:
|
|
|
|
+ status = '已占用'
|
|
|
|
+ return status
|
|
|
|
+
|
|
@classmethod
|
|
@classmethod
|
|
def get_serial_details(cls, request_dict, response, request):
|
|
def get_serial_details(cls, request_dict, response, request):
|
|
"""
|
|
"""
|