|
@@ -12,7 +12,7 @@ from django.utils.decorators import method_decorator
|
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Model.models import CompanyModel, SerialNumberModel, VPGModel
|
|
|
+from Model.models import CompanyModel, SerialNumberModel, VPGModel, UIDModel, UIDCompanySerialModel, CompanySerialModel
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
|
|
@@ -42,8 +42,10 @@ class SerialView(View):
|
|
|
return self.company_page(request_dict, response)
|
|
|
if operation == 'number/page':
|
|
|
return self.serial_page(request_dict, response)
|
|
|
- if operation == 'vpg_info/page':
|
|
|
+ if operation == 'vpg-info/page':
|
|
|
return self.vpg_page(request_dict, response)
|
|
|
+ if operation == 'uid-info/page':
|
|
|
+ return self.uid_page(request_dict, response)
|
|
|
return response.json(0)
|
|
|
|
|
|
@classmethod
|
|
@@ -126,3 +128,63 @@ class SerialView(View):
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def uid_page(cls, request_dict, response):
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+ status = request_dict.get('status', None)
|
|
|
+ serial_number = request_dict.get('serialNumber', None)
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
+ p2p_type = request_dict.get('p2pType', None)
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+ try:
|
|
|
+ query = UIDModel.objects.filter()
|
|
|
+ if serial_number:
|
|
|
+ company_serial_vos = CompanySerialModel.objects.filter(serial_number=serial_number).values()
|
|
|
+ if company_serial_vos.exists():
|
|
|
+ cs_id = str(company_serial_vos[0]['id'])
|
|
|
+ uid_vo = UIDCompanySerialModel.objects.filter(company_serial_id=cs_id).values('uid_id')
|
|
|
+ uid_id = uid_vo[0]['uid_id']
|
|
|
+ query = query.filter(id=uid_id)
|
|
|
+ if status:
|
|
|
+ query = query.filter(status=int(status))
|
|
|
+ if uid:
|
|
|
+ query = query.filter(uid__contains=uid)
|
|
|
+ if p2p_type:
|
|
|
+ query = query.filter(p2p_type=int(p2p_type))
|
|
|
+ if not query.exists():
|
|
|
+ return response.json(0, {'list': '', 'total': 0})
|
|
|
+ total = query.count()
|
|
|
+ uid_list = query.order_by('-add_time')[(page - 1) * line:page * line]
|
|
|
+ result_page = []
|
|
|
+ if uid_list.exists():
|
|
|
+ for vo in uid_list:
|
|
|
+ uid_vo = UIDCompanySerialModel.objects.filter(uid_id=vo.id).values('uid_id', 'company_serial_id')
|
|
|
+ serial = None
|
|
|
+ if uid_vo.exists():
|
|
|
+ serial_id = uid_vo[0]['company_serial_id']
|
|
|
+ company_serial_vos = CompanySerialModel.objects.filter(id=serial_id).values()
|
|
|
+ if company_serial_vos.exists():
|
|
|
+ serial = str(company_serial_vos[0]['serial_number'])
|
|
|
+ result_page.append({
|
|
|
+ 'id': vo.id,
|
|
|
+ 'uid': vo.uid,
|
|
|
+ 'mac': vo.mac,
|
|
|
+ 'extra': vo.uid_extra,
|
|
|
+ 'serial': serial,
|
|
|
+ 'status': vo.status,
|
|
|
+ 'area': vo.area,
|
|
|
+ 'p2pType': vo.p2p_type,
|
|
|
+ 'fullUidCode': vo.full_uid_code,
|
|
|
+ 'updateTime': vo.update_time,
|
|
|
+ 'addTime': vo.add_time
|
|
|
+ })
|
|
|
+ return response.json(0, {'list': result_page, 'total': total})
|
|
|
+ return response.json(0, {'list': '', 'total': 0})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|