| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218 | 
							- from django.views.generic.base import View
 
- from django.utils.decorators import method_decorator
 
- from django.views.decorators.csrf import csrf_exempt
 
- from Service.ModelService import ModelService
 
- from Service.CommonService import CommonService
 
- from Model.models import Device_Info, Equipment_Sensor
 
- import traceback
 
- from Object.TokenObject import TokenObject
 
- from Object.ResponseObject import ResponseObject
 
- '''
 
- 增加,关联设备传感器:
 
- params:{
 
-     did:设备主键did
 
-     name:传感器名称
 
-     status:设备状态值
 
-     type:设备类型
 
-     token:令牌
 
-     operation:add
 
- }
 
- http://192.168.136.40:8077/equipment/sensor?token=test&name=1&status=1&did=138001380001515727362917767&type=1&operation=add
 
- 删除设备关联的传感器:
 
- params:{
 
-     id:传感器主键id
 
-     token:令牌
 
-     operation:delete
 
-      did:设备主键did
 
- }
 
- http://192.168.136.40:8077/equipment/sensor?token=test&id=2&id=3&operation=delete&did=did
 
- 改,状态名称:
 
- params:{
 
-     id:传感器主键id
 
-     token:令牌
 
-     status:状态值
 
-     operation:update
 
-     name:name
 
-     did:设备主键did
 
- }
 
- http://192.168.136.40:8077/equipment/sensor?token=test&id=19&did=138001380001515727362917767&status=1&name=555&operation=update
 
- 查找当前指定用户所有传感器
 
- params:{
 
-     token:令牌
 
-     operation:query
 
-     did:设备主键did
 
- }
 
- http://192.168.136.40:8077/equipment/sensor?token=test&operation=query&did=138001380001515727362917767
 
- 后台
 
- 查找所有传感器信息
 
- http://192.168.136.40:8077/equipment/sensor?token=test&page=1&line=5&operation=queryall
 
- '''
 
- class EquipmentSensor(View):
 
-     @method_decorator(csrf_exempt)
 
-     def dispatch(self, *args, **kwargs):
 
-         return super(EquipmentSensor, self).dispatch(*args, **kwargs)
 
-     def get(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         return self.validation(request_dict=request.GET)
 
-     def post(self, request, *args, **kwargs):
 
-         request.encoding = 'utf-8'
 
-         return self.validation(request_dict=request.POST)
 
-     def validation(self, request_dict, *args, **kwargs):
 
-         response = ResponseObject()
 
-         token = request_dict.get('token', None)
 
-         if token is not None:
 
-             tko = TokenObject(token)
 
-             tko.valid()
 
-             response.lang = tko.lang
 
-             if tko.code == 0:
 
-                 userID = tko.userID
 
-                 if userID is not None:
 
-                     operation = request_dict.get('operation', None)
 
-                     if operation == 'add':
 
-                         return self.add_sensor(request_dict, userID,response)
 
-                     elif operation == 'delete':
 
-                         return self.delete_sensor(request_dict, userID,response)
 
-                     elif operation == 'update':
 
-                         return self.update_sensor(request_dict, userID,response)
 
-                     elif operation == 'query':
 
-                         return self.query_sensor(request_dict, userID,response)
 
-                     elif operation == 'queryall':
 
-                         return self.admin_query_all_sensor(request_dict, userID,response)
 
-                 else:
 
-                     return response.json(310)
 
-             else:
 
-                 return response.json(tko.code)
 
-         else:
 
-             return response.json(311)
 
-     def add_sensor(self, request_dict,userID,response):
 
-         # 设备PK
 
-         did = request_dict.get('did', None)
 
-         name = request_dict.get('name', None)
 
-         status = request_dict.get('status', None)
 
-         type = request_dict.get('type', None)
 
-         if did is not None and name is not None and status is not None and type is not None:
 
-             is_user = ModelService.check_user_own_device(userID=userID,deviceID=did)
 
-             if is_user is True:
 
-                 try:
 
-                     device_info = Device_Info.objects.get(id=did)
 
-                 except Exception as e:
 
-                     errorInfo = traceback.format_exc()
 
-                     print('database error: %s' % errorInfo)
 
-                     return response.json(424)
 
-                 else:
 
-                     if device_info:
 
-                         equipment_sensor = Equipment_Sensor(name=name, status=status, type=type, uid=device_info.UID)
 
-                         equipment_sensor.save()
 
-                         if equipment_sensor.id:
 
-                             return response.json(0,
 
-                                                                              {'id': equipment_sensor.id,
 
-                                                                                        'status': equipment_sensor.status,
 
-                                                                                        'name': equipment_sensor.name,
 
-                                                                                        'type': equipment_sensor.type})
 
-                         else:
 
-                             return response.json(4)
 
-             else:
 
-                 return response.json(14)
 
-         return response.json(444)
 
-     def delete_sensor(self, request_dict,userID,response):
 
-         # deletelist
 
-         did = request_dict.get('did',None)
 
-         id_list = request_dict.getlist('id', None)
 
-         if len(id_list)>0 and id_list is not None and did is not None:
 
-             is_user = ModelService.check_user_own_device(userID=userID, deviceID=did)
 
-             is_superadmin = ModelService.check_permission(userID=userID, permID=10)
 
-             if is_user is True or is_superadmin is True:
 
-                 try:
 
-                     device_info = Device_Info.objects.get(id=did)
 
-                 except Exception as e:
 
-                     errorInfo = traceback.format_exc()
 
-                     print('database error: %s' % errorInfo)
 
-                     return response.json(424)
 
-                 else:
 
-                     if device_info:
 
-                         for id in id_list:
 
-                             Equipment_Sensor.objects.filter(id=id, uid=device_info.UID).delete()
 
-                         return response.json(0)
 
-             else:
 
-                 return response.json(14)
 
-         return response.json(444)
 
-     def update_sensor(self,request_dict,userID,response):
 
-         id = request_dict.get('id', None)
 
-         did = request_dict.get('did',None)
 
-         status = request_dict.get('status', None)
 
-         name = request_dict.get('name', None)
 
-         if id is not None and status is not None:
 
-             is_user = ModelService.check_user_own_device(userID=userID, deviceID=did)
 
-             is_superadmin = ModelService.check_permission(userID=userID, permID=50)
 
-             if is_user is True or is_superadmin is True:
 
-                 try:
 
-                     device_info = Device_Info.objects.get(id=did)
 
-                 except Exception as e:
 
-                     errorInfo = traceback.format_exc()
 
-                     print('database error: %s' % errorInfo)
 
-                     return response.json(424)
 
-                 else:
 
-                     is_update = Equipment_Sensor.objects.filter(id=id, uid=device_info.UID).update(status=status,
 
-                                                                                                   name=name)
 
-                     if is_update:
 
-                         return response.json(0, {'id': id, 'status': status,
 
-                                                                                            'name': name})
 
-                 return response.json(4)
 
-             else:
 
-                 return response.json(14)
 
-         else:
 
-             return response.json(444)
 
-     def query_sensor(self,request_dict,userID,response):
 
-         did = request_dict.get('did', None)
 
-         if did is not None:
 
-             is_user = ModelService.check_user_own_device(userID=userID, deviceID=did)
 
-             is_superadmin = ModelService.check_permission(userID=userID,permID=30)
 
-             if is_user is True or is_superadmin is True:
 
-                 try:
 
-                     device_info = Device_Info.objects.get(id=did)
 
-                 except Exception as e:
 
-                     errorInfo = traceback.format_exc()
 
-                     print('database error: %s' % errorInfo)
 
-                     return response.json(424)
 
-                 else:
 
-                     equipment_sensor_queryset = Equipment_Sensor.objects.filter(uid=device_info.UID)
 
-                     if equipment_sensor_queryset.exists():
 
-                         send_json = CommonService.qs_to_dict(equipment_sensor_queryset)
 
-                         return response.json(0, send_json)
 
-                     else:
 
-                         return response.json(0, {})
 
-             return response.json(14)
 
-         else:
 
-             return response.json(444)
 
-     def admin_query_all_sensor(self,request_dict,userID,response):
 
-         page = int(request_dict.get('page', None))
 
-         line = int(request_dict.get('line', None))
 
-         if userID is not None:
 
-             is_own = ModelService.check_permission(userID=userID, permID=30)
 
-             if is_own is True:
 
-                 equipment_sensor_queryset = Equipment_Sensor.objects.all()
 
-                 if equipment_sensor_queryset.exists():
 
-                     equipment_stream_count = equipment_sensor_queryset.count()
 
-                     equipment_stream_res = equipment_sensor_queryset[(page - 1) * line:page * line]
 
-                     send_json = CommonService.qs_to_dict(equipment_stream_res)
 
-                     send_json['count'] = equipment_stream_count
 
-                     return response.json(0, send_json)
 
-                 else:
 
-                     return response.json(0, {})
 
-             return response.json(604)
 
-         else:
 
-             return response.json(444)
 
 
  |