Bläddra i källkod

Merge branch 'test' of http://192.168.136.99:3000/servers/ASJServer into locky

locky 2 år sedan
förälder
incheckning
eeb06da9d3

+ 32 - 1
Controller/SensorGateway/SmartSocketController.py

@@ -6,10 +6,10 @@
 @Email   : zhangdongming@asj6.wecom.work
 @Software: PyCharm
 """
+import calendar
 import datetime
 import logging
 import time
-import calendar
 from decimal import Decimal
 
 from dateutil.parser import parse
@@ -56,6 +56,8 @@ class SmartSocketView(View):
         ResponseObject('cn')
         if operation == 'savePowerStatistics':  # 保存电量上报统计
             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 \
             .verify_token_get_user_id(request_dict, request)
         if token_code != 0:
@@ -78,6 +80,35 @@ class SmartSocketView(View):
             return self.del_socket_schedule(request_dict, response, user_id)
         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
     def save_power_statistics(cls, request_dict, response):
         """

+ 6 - 6
Controller/TestApi.py

@@ -985,12 +985,12 @@ class testView(View):
             results1 = json.loads(res1.text)
             results1['result']['server'] = 2
             results_data.append(results1['result'])
-            res2 = requests.post("https://api.zositeche.com/testApi/getSerialNumberInfo",
-                                 data={'serialNumber': serial_number}, timeout=3)
-            results2 = json.loads(res2.text)
-            results2['result']['server'] = 3
-            results2['result']['status'] = '已分配'
-            results_data.append(results2['result'])
+            # res2 = requests.post("https://api.zositeche.com/testApi/getSerialNumberInfo",
+            #                      data={'serialNumber': serial_number}, timeout=5)
+            # results2 = {}
+            # results2['result']['server'] = 3
+            # results2['result']['status'] = '已分配'
+            # results_data.append(results2['result'])
             is_ok = True
             operation = ''
             status_log = ''

+ 4 - 4
Controller/UserController.py

@@ -3226,9 +3226,11 @@ class alexaUidView(TemplateView):
 
         if sid != 'admin' or sst != 'admin':
             return response.json(107)
-        uid_qs = Device_Info.objects.filter(userID_id=userID, isExist=1).values('UID', 'NickName', 'View_Password')
+        uid_qs = Device_Info.objects.filter(userID_id=userID, isExist=1).values('UID', 'NickName', 'View_Password',
+                                                                                'userID__region_country')
         if not uid_qs.exists():
             return response.json(107)
+        country_qs = CountryModel.objects.filter(id=uid_qs[0]['userID__region_country']).values('region__continent_code')
 
         try:
             uid_dict = {}
@@ -3249,9 +3251,7 @@ class alexaUidView(TemplateView):
                 uid = us['uid']
                 channel = us['channel']
                 # 设备alexa区域
-                region_alexa = us['region_alexa']
-                if region_alexa == '':
-                    region_alexa = 'EN'
+                region_alexa = country_qs[0]['region__continent_code'] if country_qs.exists() else 'EN'
 
                 # 多通道设备获取通道名
                 if channel > 1: