浏览代码

修改更新子设备在线状态接口,测试服和国内服token过期时间改为60天

locky 1 年之前
父节点
当前提交
8fd2c0c393

+ 1 - 31
Controller/SensorGateway/SmartSceneController.py

@@ -7,16 +7,14 @@
 import json
 import json
 import time
 import time
 
 
-import requests
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.exceptions import ObjectDoesNotExist
 from django.db import transaction
 from django.db import transaction
 from django.db.models import F, Q, Count
 from django.db.models import F, Q, Count
 from django.views import View
 from django.views import View
 
 
-from Ansjer.config import DETECT_PUSH_DOMAINS
 from Ansjer.Config.gatewaySensorConfig import SMART_SCENE_TOPIC, SENSOR_TYPE, EVENT_TYPE, SCENE_EVENT_CREATE, \
 from Ansjer.Config.gatewaySensorConfig import SMART_SCENE_TOPIC, SENSOR_TYPE, EVENT_TYPE, SCENE_EVENT_CREATE, \
     SCENE_EVENT_EDIT, SCENE_EVENT_DELETE, SCENE_STATUS_ON, SCENE_STATUS_OFF, SCENE_EVENT_EDIT_STATUS, \
     SCENE_EVENT_EDIT, SCENE_EVENT_DELETE, SCENE_STATUS_ON, SCENE_STATUS_OFF, SCENE_EVENT_EDIT_STATUS, \
-    VOICE_AUDITION_TOPIC, SMART_SOCKET_TOPIC, DEVICE_TYPE, SMART_SCENE_TASK
+    VOICE_AUDITION_TOPIC, DEVICE_TYPE, SMART_SCENE_TASK
 from Model.models import FamilyRoomDevice, GatewaySubDevice, FamilyRoom, SmartScene, EffectiveTime, Device_Info, \
 from Model.models import FamilyRoomDevice, GatewaySubDevice, FamilyRoom, SmartScene, EffectiveTime, Device_Info, \
     SceneLog
     SceneLog
 from Object.CeleryBeatObject import CeleryBeatObj
 from Object.CeleryBeatObject import CeleryBeatObj
@@ -1385,34 +1383,6 @@ class SmartSceneView(View):
         # 删除最后一个逗号并返回结果
         # 删除最后一个逗号并返回结果
         return weeks[:-1]
         return weeks[:-1]
 
 
-    @staticmethod
-    def pub_mqtt(device_type, event_type, serial_number, scene_id=0):
-        """
-        发布mqtt消息
-        @param device_type: 设备类型
-        @param event_type: 事件类型
-        @param serial_number: 序列号
-        @param scene_id: 场景id
-        @return:
-        """
-        if device_type == DEVICE_TYPE['socket']:
-            topic_name = SMART_SOCKET_TOPIC.format(serial_number)
-            status = 1 if event_type == EVENT_TYPE['socket_power_on'] else 0
-            msg = {
-                'type': 1,
-                'data': {'deviceSwitch': status}
-            }
-            CommonService.req_publish_mqtt_msg(serial_number, topic_name, msg)
-
-        # 没有设备任务时,最后一个任务上报场景日志
-        if scene_id:
-            data = {
-                'sceneId': scene_id,
-                'status': 1
-            }
-            url = DETECT_PUSH_DOMAINS + 'gatewayService/sceneLogPush'
-            requests.post(url=url, data=data, timeout=8)
-
     @staticmethod
     @staticmethod
     def del_celery_task(scene_data_dict):
     def del_celery_task(scene_data_dict):
         """
         """

+ 7 - 4
Controller/SensorGateway/SubDeviceController.py

@@ -622,13 +622,15 @@ class GatewaySubDeviceView(View):
         """
         """
         online = request_dict.get('online', None)
         online = request_dict.get('online', None)
         ieee_addr = request_dict.get('ieee_addr', None)
         ieee_addr = request_dict.get('ieee_addr', None)
+        serial_number = request_dict.get('serial_number')
 
 
-        if not all([online, ieee_addr]):
-            return response.json(444, {'error param': 'online or ieee_addr'})
+        if not all([online, ieee_addr, serial_number]):
+            return response.json(444, {'error param': 'online or ieee_addr or serial_number'})
         online = int(online)
         online = int(online)
         try:
         try:
             if online == 2:     # 复位删除设备
             if online == 2:     # 复位删除设备
-                gateway_sub_device_qs = GatewaySubDevice.objects.filter(ieee_addr=ieee_addr)
+                gateway_sub_device_qs = GatewaySubDevice.objects.filter(
+                    ieee_addr=ieee_addr, device__serial_number=serial_number)
                 if not gateway_sub_device_qs.exists():
                 if not gateway_sub_device_qs.exists():
                     return response.json(0)
                     return response.json(0)
                 sub_device_id = gateway_sub_device_qs.values('id')[0]['id']
                 sub_device_id = gateway_sub_device_qs.values('id')[0]['id']
@@ -639,7 +641,8 @@ class GatewaySubDeviceView(View):
                     SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id).delete()
                     SensorRecord.objects.filter(gateway_sub_device_id=sub_device_id).delete()
                     gateway_sub_device_qs.delete()
                     gateway_sub_device_qs.delete()
             else:
             else:
-                GatewaySubDevice.objects.filter(ieee_addr=ieee_addr).update(status=online)
+                GatewaySubDevice.objects.filter(ieee_addr=ieee_addr, device__serial_number=serial_number).\
+                    update(status=online)
             return response.json(0)
             return response.json(0)
         except Exception as e:
         except Exception as e:
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
             return response.json(500, 'error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))

+ 15 - 5
Object/TokenObject.py

@@ -1,7 +1,9 @@
+import datetime
+
 import jwt
 import jwt
 import time
 import time
 from Ansjer.config import OAUTH_ACCESS_TOKEN_SECRET, OAUTH_REFRESH_TOKEN_SECRET, OAUTH_ACCESS_TOKEN_TIME, \
 from Ansjer.config import OAUTH_ACCESS_TOKEN_SECRET, OAUTH_REFRESH_TOKEN_SECRET, OAUTH_ACCESS_TOKEN_TIME, \
-    OAUTH_REFRESH_TOKEN_TIME
+    OAUTH_REFRESH_TOKEN_TIME, CONFIG_INFO, CONFIG_TEST, CONFIG_CN
 
 
 
 
 class TokenObject:
 class TokenObject:
@@ -58,8 +60,12 @@ class TokenObject:
         if data is None:
         if data is None:
             data = {}
             data = {}
         try:
         try:
-            access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
-            refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
+            if CONFIG_INFO == CONFIG_TEST or CONFIG_INFO == CONFIG_CN:
+                access_expire = int(datetime.timedelta(days=60).total_seconds())
+                refresh_expire = int(datetime.timedelta(days=60).total_seconds())
+            else:
+                access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
+                refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
             now_stamp = int(time.time())
             now_stamp = int(time.time())
             access_data = data
             access_data = data
             refresh_data = data
             refresh_data = data
@@ -99,8 +105,12 @@ class TokenObject:
         if data is None:
         if data is None:
             data = {}
             data = {}
         try:
         try:
-            access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
-            refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
+            if CONFIG_INFO == CONFIG_TEST or CONFIG_INFO == CONFIG_CN:
+                access_expire = int(datetime.timedelta(days=60).total_seconds())
+                refresh_expire = int(datetime.timedelta(days=60).total_seconds())
+            else:
+                access_expire = int(OAUTH_ACCESS_TOKEN_TIME.total_seconds())
+                refresh_expire = int(OAUTH_REFRESH_TOKEN_TIME.total_seconds())
             now_stamp = int(time.time())
             now_stamp = int(time.time())
             access_data = data
             access_data = data
             refresh_data = data
             refresh_data = data