|
@@ -0,0 +1,97 @@
|
|
|
+#!/usr/bin/python3.6
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+#
|
|
|
+# Copyright (C) 2022 #
|
|
|
+# @Time : 2022/3/9 9:20
|
|
|
+# @Author : ming
|
|
|
+# @Email : zhangdongming@asj6.wecom.work
|
|
|
+# @File : SurveysManageController.py
|
|
|
+# @Software: PyCharm
|
|
|
+
|
|
|
+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
|
|
|
+from Object.ResponseObject import ResponseObject
|
|
|
+from Object.TokenObject import TokenObject
|
|
|
+
|
|
|
+
|
|
|
+class SerialView(View):
|
|
|
+ @method_decorator(csrf_exempt)
|
|
|
+ def dispatch(self, *args, **kwargs):
|
|
|
+ return super(SerialView, self).dispatch(*args, **kwargs)
|
|
|
+
|
|
|
+ def get(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ operation = kwargs.get('operation')
|
|
|
+ return self.validation(request.GET, request, operation)
|
|
|
+
|
|
|
+ def post(self, request, *args, **kwargs):
|
|
|
+ request.encoding = 'utf-8'
|
|
|
+ operation = kwargs.get('operation')
|
|
|
+ return self.validation(request.POST, request, operation)
|
|
|
+
|
|
|
+ def validation(self, request_dict, request, operation):
|
|
|
+ token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
|
|
|
+ response = ResponseObject()
|
|
|
+ if token.code != 0:
|
|
|
+ return response.json(token.code)
|
|
|
+ response = ResponseObject(returntype='pc')
|
|
|
+ if operation == 'company-page':
|
|
|
+ return self.company_page(request_dict, response)
|
|
|
+ if operation == 'number/page':
|
|
|
+ return self.serial_page(request_dict, response)
|
|
|
+ return response.json(0)
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def company_page(cls, request_dict, response):
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+ try:
|
|
|
+ request_qs = CompanyModel.objects.all()
|
|
|
+ if not request_qs.exists():
|
|
|
+ return response.json(0, {'list': '', 'total': 0})
|
|
|
+ total = request_qs.count()
|
|
|
+ company_page = request_qs.order_by('-add_time')[(page - 1) * line:page * line].values()
|
|
|
+ return response.json(0, {'list': list(company_page), 'total': total})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @classmethod
|
|
|
+ def serial_page(cls, request_dict, response):
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+ serial_number = request_dict.get('serialNumber', None)
|
|
|
+ status = request_dict.get('status', None)
|
|
|
+ use = request_dict.get('useStatus', None)
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+ try:
|
|
|
+ query = SerialNumberModel.objects.filter()
|
|
|
+ if serial_number:
|
|
|
+ query = query.filter(serial_number__contains=serial_number)
|
|
|
+ if status:
|
|
|
+ status = int(status)
|
|
|
+ query = query.filter(status=status)
|
|
|
+ if use:
|
|
|
+ use_status = int(use)
|
|
|
+ query = query.filter(use_status=use_status)
|
|
|
+ if not query.exists():
|
|
|
+ return response.json(0, {'list': '', 'total': 0})
|
|
|
+ total = query.count()
|
|
|
+ serial_number_page = query.order_by('-add_time')[(page - 1) * line:page * line].values()
|
|
|
+ if serial_number_page.exists():
|
|
|
+ return response.json(0, {'list': list(serial_number_page), 'total': total})
|
|
|
+ return response.json(173)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|