| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | 
							- #!/usr/bin/env python3  
 
- # -*- coding: utf-8 -*-  
 
- """
 
- @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
 
- @AUTHOR: ASJRD018
 
- @NAME: Ansjer
 
- @software: PyCharm
 
- @DATE: 2018/6/15 16:47
 
- @Version: python3.6
 
- @MODIFY DECORD:ansjer dev
 
- @file: DeviceLog.py
 
- @Contact: chanjunkai@163.com
 
- """
 
- import datetime
 
- import simplejson as json
 
- from django.views.decorators.csrf import csrf_exempt
 
- from Model.models import Device_Info
 
- from Object.ResponseObject import ResponseObject
 
- from Object.TokenObject import TokenObject
 
- from Object.mongodb import mongodb
 
- from Service.CommonService import CommonService
 
- from Service.DeviceOperation import DeviceOperation
 
- from Service.ModelService import ModelService
 
- '''
 
- curl http://192.168.136.45:8077/devices/C2887N9EBS87ZAT1111A/logs -d "deviceData={\"UID\":\"C2887N9EBS87ZAT1111A\",\"type\":\"0x10014\",\"UserIP\":\"127.0.0.1\",\"time\":1529474865,\"name\":\"admin\"}"
 
- http://192.168.136.40:8077/devices/2N1K3LE78TYJ38CE111A/logs?type=All&starttime=1529462169&endtime=1529462169
 
- '''
 
- @csrf_exempt
 
- def DeviceLog(request, uid):
 
-     # 存储设备日志
 
-     response = ResponseObject()
 
-     if request.method == 'POST':
 
-         request.encoding = 'utf-8'
 
-         deviceData = request.POST.get('deviceData', None)
 
-         device_info = Device_Info.objects.filter(UID=uid)
 
-         if device_info.exists():
 
-             try:
 
-                 data = json.loads(deviceData)
 
-                 mdb = mongodb()
 
-                 data['et'] = datetime.datetime.utcnow()
 
-                 col = "log_device_operation"
 
-                 mdb.insert_one(col=col, data=data)
 
-                 return response.json(0)
 
-             except Exception as e:
 
-                 print(repr(e))
 
-                 return response.json(48,repr(e))
 
-         else:
 
-             return response.json(13)
 
-     # 查找设备日志
 
-     if request.method == 'GET':
 
-         request.encoding = 'utf-8'
 
-         token = request.GET.get('token', None)
 
-         page = request.GET.get('page', None)
 
-         line = request.GET.get('line', None)
 
-         type = request.GET.get('type', None)
 
-         search_class = request.GET.get('class', None)
 
-         starttime = request.GET.get('starttime', None)
 
-         endtime = request.GET.get('endtime', None)
 
-         if token is not None:
 
-             tko = TokenObject(token)
 
-             tko.valid()
 
-             response.lang = tko.lang
 
-             if tko.code == 0:
 
-                 userID = tko.userID
 
-                 if page is None and line is None:
 
-                     page = 1
 
-                     line = 10000
 
-                 param_flag = CommonService.get_param_flag(data=[userID, page, line, uid])
 
-                 own_dev = ModelService.check_own_device(userID=userID, UID=uid)
 
-                 own_per = ModelService.check_permission(userID=userID, permID=30)
 
-                 if own_dev is True or own_per is True:
 
-                     if param_flag is True:
 
-                         query = {'uid': uid}
 
-                         if search_class == 'All' or type == 'All':
 
-                             pass
 
-                         else:
 
-                             try:
 
-                                 class_data= DeviceOperation.getODla(search_class=search_class)
 
-                                 query['type'] = {'$gte': class_data[0], '$lte': class_data[1]}
 
-                             except Exception as e:
 
-                                 if type is not None:
 
-                                     query['type'] = type
 
-                         if starttime is not None and starttime != '' and endtime is not None and endtime != '':
 
-                             query['time'] = {'$gte': int(starttime), '$lte': int(endtime)}
 
-                         elif starttime is not None and starttime != '':
 
-                             query['time'] = {'$gte': int(starttime)}
 
-                         elif endtime is not None and endtime != '':
 
-                             query['time'] = {'$lte': int(endtime)}
 
-                         print('___________query____________')
 
-                         print(query)
 
-                         print('___________query____________')
 
-                         mdb = mongodb()
 
-                         col = "log_device_operation"
 
-                         qs = mdb.findAll(col=col, page=int(page), line=int(line), query=query)
 
-                         if qs is not False:
 
-                             data_list = []
 
-                             for i in qs['data']:
 
-                                 i['type'] = DeviceOperation.getOperation(type=i['type'])
 
-                                 data_list.append(i)
 
-                             qs['data'] = data_list
 
-                         return response.json(0,qs)
 
-                 else:
 
-                     return response.json(404)
 
-                 return response.json(444)
 
-             else:
 
-                 return response.json(tko.code)
 
-         else:
 
-             return response.json(309)
 
 
  |