|
@@ -10,7 +10,7 @@ import time
|
|
|
from django.views.generic.base import View
|
|
|
|
|
|
from AnsjerPush.Config.gatewaySensorConfig import SENSOR_TYPE, EVENT_TYPE
|
|
|
-from Model.models import SensorRecord, GatewaySubDevice, GatewayPush, Device_Info, SceneLog, SmartScene
|
|
|
+from Model.models import SensorRecord, GatewaySubDevice, GatewayPush, Device_Info, SceneLog, SmartScene, SocketInfo
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.utils import LocalDateTimeUtil
|
|
|
from Service.CommonService import CommonService
|
|
@@ -305,7 +305,6 @@ class GatewayView(View):
|
|
|
"""
|
|
|
logger = logging.getLogger('info')
|
|
|
try:
|
|
|
- t = time.time()
|
|
|
serial_number = request_dict.get('serialNumber', None)
|
|
|
status = request_dict.get('status', None)
|
|
|
if not all([serial_number, status]):
|
|
@@ -313,16 +312,16 @@ class GatewayView(View):
|
|
|
SceneLog.objects.create()
|
|
|
now_time = int(time.time())
|
|
|
LOGGER.info('已订阅成功接收:事件类型{},状态:{}'.format(serial_number, status))
|
|
|
+ socket_info_qs = SocketInfo.objects.filter(serial_number=serial_number).values('device_id')
|
|
|
+ if not socket_info_qs.exists():
|
|
|
+ return response.json(173)
|
|
|
# 获取主用户设备id
|
|
|
- device_qs = Device_Info.objects.filter(serial_number=serial_number, isShare=False).values('id')
|
|
|
- logger.info(f'coast:{time.time() - t:.4f}s')
|
|
|
log_dict = {
|
|
|
'status': int(status),
|
|
|
- 'device_id': device_qs[0]['id'],
|
|
|
+ 'device_id': socket_info_qs[0]['device_id'],
|
|
|
'created_time': now_time,
|
|
|
}
|
|
|
SceneLog.objects.create(**log_dict)
|
|
|
- logger.info(f'coast:{time.time() - t:.4f}s')
|
|
|
return response.json(0)
|
|
|
except Exception as e:
|
|
|
logger.info('---插座开关日志推送接口异常--- {}'.format(repr(e)))
|