Explorar el Código

新增设备复位接口

zhangdongming hace 2 años
padre
commit
8a453987d7
Se han modificado 1 ficheros con 32 adiciones y 1 borrados
  1. 32 1
      Controller/SensorGateway/SmartSocketController.py

+ 32 - 1
Controller/SensorGateway/SmartSocketController.py

@@ -6,10 +6,10 @@
 @Email   : zhangdongming@asj6.wecom.work
 @Email   : zhangdongming@asj6.wecom.work
 @Software: PyCharm
 @Software: PyCharm
 """
 """
+import calendar
 import datetime
 import datetime
 import logging
 import logging
 import time
 import time
-import calendar
 from decimal import Decimal
 from decimal import Decimal
 
 
 from dateutil.parser import parse
 from dateutil.parser import parse
@@ -56,6 +56,8 @@ class SmartSocketView(View):
         ResponseObject('cn')
         ResponseObject('cn')
         if operation == 'savePowerStatistics':  # 保存电量上报统计
         if operation == 'savePowerStatistics':  # 保存电量上报统计
             return self.save_power_statistics(request_dict, ResponseObject('cn'))
             return self.save_power_statistics(request_dict, ResponseObject('cn'))
+        elif operation == 'reset':  # 设备复位
+            return self.socket_reset(request_dict, ResponseObject('cn'))
         token_code, user_id, response = CommonService \
         token_code, user_id, response = CommonService \
             .verify_token_get_user_id(request_dict, request)
             .verify_token_get_user_id(request_dict, request)
         if token_code != 0:
         if token_code != 0:
@@ -78,6 +80,35 @@ class SmartSocketView(View):
             return self.del_socket_schedule(request_dict, response, user_id)
             return self.del_socket_schedule(request_dict, response, user_id)
         return response.json(404)
         return response.json(404)
 
 
+    @classmethod
+    def socket_reset(cls, request_dict, response):
+        """
+        智能插座复位删除数据
+        """
+        try:
+            with transaction.atomic():
+                serial_number = request_dict.get('serialNumber', None)
+                if not serial_number:
+                    return response.json(444)
+                socket_info_qs = SocketInfo.objects.filter(serial_number=serial_number, type_switch=0)
+                if not socket_info_qs.exists():
+                    return response.json(173)
+                device_id = socket_info_qs.first().device_id
+                if socket_info_qs.first().status == 1:  # 设备电源开时 恢复为关闭状态
+                    socket_info_qs.update(status=0, updated_time=int(time.time()))
+                # 删除插座倒计时
+                SocketInfo.objects.filter(device_id=device_id, type_switch=1).delete()
+                # 删除插座电量统计
+                SocketPowerStatistics.objects.filter(device_id=device_id).delete()
+                # 删除插座排程
+                SocketSchedule.objects.filter(device_id=device_id).delete()
+                # 删除插座开关日志
+                SceneLog.objects.filter(device_id=serial_number).delete()
+                return response.json(0)
+        except Exception as e:
+            LOGGER.info('插座复位删除数据异常,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
+            return response.json(177)
+
     @classmethod
     @classmethod
     def save_power_statistics(cls, request_dict, response):
     def save_power_statistics(cls, request_dict, response):
         """
         """