123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- #!/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, VPGModel
- 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)
- if operation == 'vpg_info/page':
- return self.vpg_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))
- @classmethod
- def vpg_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:
- query = VPGModel.objects.filter()
- if not query.exists():
- return response.json(0, {'list': '', 'total': 0})
- total = query.count()
- vpg_page = query.order_by('-add_time')[(page - 1) * line:page * line] \
- .values('id', 'name',
- 'region__name',
- 'region_id',
- 'company__name',
- 'add_time',
- 'update_time',
- 'company__secret',
- 'uid_count')
- if vpg_page.exists():
- return response.json(0, {'list': list(vpg_page), 'total': total})
- return response.json(173)
- except Exception as e:
- print(e)
- return response.json(500, repr(e))
|