Bladeren bron

新增网关推送接口

locky 3 jaren geleden
bovenliggende
commit
87c02ca074
2 gewijzigde bestanden met toevoegingen van 40 en 1 verwijderingen
  1. 3 1
      AnsjerPush/urls.py
  2. 37 0
      Controller/gatewayController.py

+ 3 - 1
AnsjerPush/urls.py

@@ -15,7 +15,8 @@ Including another URLconf
 """
 from django.contrib import admin
 from django.urls import path
-from Controller import DetectController, ShadowController, TestDetectController, EquipmentInfo, DetectControllerV2, AiController, TestController
+from Controller import DetectController, ShadowController, TestDetectController, EquipmentInfo, DetectControllerV2, \
+    AiController, TestController, gatewayController
 from django.conf.urls import url
 
 urlpatterns = [
@@ -31,6 +32,7 @@ urlpatterns = [
     path('notifyV2/push', DetectControllerV2.NotificationView.as_view()),
     url(r'^notifyV2/(?P<operation>.*)$', DetectControllerV2.NotificationView.as_view()),
     url(r'^AiService/(?P<operation>.*)$', AiController.AiView.as_view()),
+    url(r'^gatewayService/(?P<operation>.*)$', gatewayController.GatewayView.as_view()),
 
     url('testDetect/testJpush', TestController.testDetect),
     url('testDetect/testApns', TestController.testDetectApns),

+ 37 - 0
Controller/gatewayController.py

@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+"""
+@Time : 2022/5/9 10:51
+@Auth : Locky
+@File :gatewayController.py
+@IDE :PyCharm
+"""
+from django.views.generic.base import View
+
+from Object.ResponseObject import ResponseObject
+
+
+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.gatewayPush(request_dict, response)
+        else:
+            return response.json(414)
+
+    def gatewayPush(self, request_dict, response):
+        serial_number = request_dict.get('serial_number', None)
+
+        try:
+            return response.json(0)
+        except Exception as e:
+            return response.json(500, repr(e))