Pārlūkot izejas kodu

后台新增Uid信息功能,新增vpg信息功能

zhangdongming 3 gadi atpakaļ
vecāks
revīzija
0c6b1ce31e
1 mainītis faili ar 64 papildinājumiem un 2 dzēšanām
  1. 64 2
      AdminController/SerialManageController.py

+ 64 - 2
AdminController/SerialManageController.py

@@ -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))