|
@@ -8,7 +8,7 @@ import traceback
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from django.views.generic import TemplateView
|
|
from django.views.generic import TemplateView
|
|
-from Ansjer.config import UID_TOKEN_KEY,SERVER_DOMAIN
|
|
|
|
|
|
+from Ansjer.config import UID_TOKEN_KEY, SERVER_DOMAIN
|
|
import jwt
|
|
import jwt
|
|
|
|
|
|
'''
|
|
'''
|
|
@@ -229,6 +229,7 @@ class EquipmentInfo(View):
|
|
return response.json(404)
|
|
return response.json(404)
|
|
|
|
|
|
|
|
|
|
|
|
+# http://192.168.136.40:8077/detect/add?UID=FTSLL8HM437Z38WU111A&Channel=0&eventType=1&eventTime=1234567890
|
|
# 设备推送信息添加接口
|
|
# 设备推送信息添加接口
|
|
class AddDetectionView(TemplateView):
|
|
class AddDetectionView(TemplateView):
|
|
@method_decorator(csrf_exempt)
|
|
@method_decorator(csrf_exempt)
|
|
@@ -246,17 +247,18 @@ class AddDetectionView(TemplateView):
|
|
def validation(self, request_dict, *args, **kwargs):
|
|
def validation(self, request_dict, *args, **kwargs):
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
# 设备添加token
|
|
# 设备添加token
|
|
- UID = request_dict.get('UID', None)
|
|
|
|
|
|
+ uidToken = request_dict.get('uidToken', None)
|
|
Channel = request_dict.get('Channel', None)
|
|
Channel = request_dict.get('Channel', None)
|
|
eventType = request_dict.get('eventType', None)
|
|
eventType = request_dict.get('eventType', None)
|
|
eventTime = request_dict.get('eventTime', None)
|
|
eventTime = request_dict.get('eventTime', None)
|
|
-
|
|
|
|
|
|
+ res = jwt.decode(uidToken, UID_TOKEN_KEY, algorithms='HS256')
|
|
|
|
+ UID = res.get('uid',None)
|
|
if not UID or not Channel or not eventType or not eventTime:
|
|
if not UID or not Channel or not eventType or not eventTime:
|
|
return response.json(444, 'devUid, Channel, eventType, eventTime, alarm, receiveTime')
|
|
return response.json(444, 'devUid, Channel, eventType, eventTime, alarm, receiveTime')
|
|
# dv_qs = Device_Info.objects.filter(UID=UID, isShare=False)
|
|
# dv_qs = Device_Info.objects.filter(UID=UID, isShare=False)
|
|
- dv_qs = Device_Info.objects.filter(UID=UID,isDetector=True).values("userID_id","NickName")
|
|
|
|
|
|
+ dv_qs = Device_Info.objects.filter(UID=UID, iSNotification=True).values("userID_id", "NickName")
|
|
if not dv_qs.exists():
|
|
if not dv_qs.exists():
|
|
- return response.json(10,'device not detect')
|
|
|
|
|
|
+ return response.json(10, 'device not detect')
|
|
qs_list = []
|
|
qs_list = []
|
|
for dv in dv_qs:
|
|
for dv in dv_qs:
|
|
print(dv)
|
|
print(dv)
|
|
@@ -277,7 +279,8 @@ class AddDetectionView(TemplateView):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
|
|
|
|
|
|
-#设备推送开关
|
|
|
|
|
|
+# http://192.168.136.40:8077/detect/status?token=local&id=138001380001543918745881545&iSNotification=0
|
|
|
|
+# 设备推送开关
|
|
class DetectStatusView(View):
|
|
class DetectStatusView(View):
|
|
@method_decorator(csrf_exempt)
|
|
@method_decorator(csrf_exempt)
|
|
def dispatch(self, *args, **kwargs):
|
|
def dispatch(self, *args, **kwargs):
|
|
@@ -294,7 +297,7 @@ class DetectStatusView(View):
|
|
def validation(self, request_dict, *args, **kwargs):
|
|
def validation(self, request_dict, *args, **kwargs):
|
|
token = request_dict.get('token', None)
|
|
token = request_dict.get('token', None)
|
|
id = request_dict.get('id', None)
|
|
id = request_dict.get('id', None)
|
|
- status = request_dict.get('status', None)
|
|
|
|
|
|
+ iSNotification = request_dict.get('iSNotification', None)
|
|
response = ResponseObject()
|
|
response = ResponseObject()
|
|
if token is None:
|
|
if token is None:
|
|
return response.json(309)
|
|
return response.json(309)
|
|
@@ -304,14 +307,15 @@ class DetectStatusView(View):
|
|
if tko.code != 0:
|
|
if tko.code != 0:
|
|
return response.json(tko.code)
|
|
return response.json(tko.code)
|
|
userID = tko.userID
|
|
userID = tko.userID
|
|
- return self.do_update(userID,id,status,response)
|
|
|
|
-
|
|
|
|
|
|
+ return self.do_update(userID, id, iSNotification, response)
|
|
|
|
|
|
- def do_update(self, userID,id,status,response):
|
|
|
|
- qs = Device_Info.objects.filter(id=id,userID_id=userID)
|
|
|
|
|
|
+ def do_update(self, userID, id, iSNotification, response):
|
|
|
|
+ qs = Device_Info.objects.filter(id=id, userID_id=userID)
|
|
if qs.exists():
|
|
if qs.exists():
|
|
- qs.update(status)
|
|
|
|
- uid_token = jwt.encode(id,UID_TOKEN_KEY,algorithm='HS256').decode('utf-8')
|
|
|
|
- return response.json(0,{'uid_token':uid_token,'push_url':'{SERVER_DOMAIN}detet/add'.format(SERVER_DOMAIN=SERVER_DOMAIN)})
|
|
|
|
|
|
+ qs.update(iSNotification=iSNotification)
|
|
|
|
+ data = {'id': 'id', 'uid': qs[0].UID}
|
|
|
|
+ uid_token = jwt.encode(data, UID_TOKEN_KEY, algorithm='HS256').decode('utf-8')
|
|
|
|
+ return response.json(0, {'uid_token': uid_token,
|
|
|
|
+ 'push_url': '{SERVER_DOMAIN}detet/add'.format(SERVER_DOMAIN=SERVER_DOMAIN)})
|
|
else:
|
|
else:
|
|
- return response.json(13)
|
|
|
|
|
|
+ return response.json(13)
|