# -*- coding: utf-8 -*- """ @Time : 2022/5/9 10:51 @Auth : Locky @File :gatewayController.py @IDE :PyCharm """ import logging import time from django.views.generic.base import View from Object.ResponseObject import ResponseObject from Service.EquipmentInfoService import EquipmentInfoService class GatewayView(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 validation(self, request_dict, request, operation): response = ResponseObject() if operation == 'gatewayPush': # 网关推送 return self.gateway_push(request_dict, response) else: return response.json(414) def gateway_push(self, request_dict, response): logger = logging.getLogger('info') src_addr = request_dict.get('src_addr', None) event_type = request_dict.get('event_type', None) alarm = request_dict.get('alarm', None) logger.info('---调用网关推送接口--- request_dict:{}'.format(request_dict)) if not all([src_addr, event_type, alarm]): return response.json(444) equipment_info_list = [] now_time = int(time.time()) device_user_id = '160879593527813800138000' try: equipment_info_list.append(EquipmentInfoService.get_equipment_info_obj( now_time, add_time=now_time, event_time=now_time, receive_time=now_time, device_uid=src_addr, event_type=event_type, alarm=alarm, device_nick_name=src_addr, device_user_id=device_user_id, )) return response.json(0) except Exception as e: return response.json(500, repr(e))