1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- # -*- encoding: utf-8 -*-
- """
- @File : SmartSocketController.py
- @Time : 2023/3/17 11:52
- @Author : stephen
- @Email : zhangdongming@asj6.wecom.work
- @Software: PyCharm
- """
- import time
- from django.http import QueryDict
- from django.views import View
- from Model.models import SocketInfo
- from Object.ResponseObject import ResponseObject
- class SmartSocketView(View):
- 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 delete(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- delete = QueryDict(request.body)
- if not delete:
- delete = request.GET
- return self.validation(delete, request, operation)
- def put(self, request, *args, **kwargs):
- request.encoding = 'utf-8'
- operation = kwargs.get('operation')
- put = QueryDict(request.body)
- return self.validation(put, request, operation)
- def validation(self, request_dict, request, operation):
- response = ResponseObject('cn')
- if operation == 'getSocketDetails':
- return self.getSocketDetails(request_dict, response)
- @classmethod
- def getSocketDetails(cls, request_dict, response):
- return response.json(0)
- @staticmethod
- def save_socket_switch(device_id, serial_number, status, type_switch=0):
- if not device_id:
- return False
- socket_info_qs = SocketInfo.objects.filter(device_id=device_id, type_switch=type_switch)
- now_time = int(time.time())
- if not socket_info_qs.exists():
- socket_dict = {"device_id": device_id,
- "serial_number": serial_number,
- "status": status,
- "type_switch": type_switch,
- "created_time": now_time,
- "updated_time": now_time}
- SocketInfo.objects.create(**socket_dict)
- if socket_info_qs.first().status == status:
- return True
- pass
|