浏览代码

修改更新场景状态scene_event为4

locky 2 年之前
父节点
当前提交
7e8099019b
共有 3 个文件被更改,包括 35 次插入9 次删除
  1. 1 0
      Ansjer/Config/gatewaySensorConfig.py
  2. 2 2
      Controller/SensorGateway/SmartSceneController.py
  3. 32 7
      Controller/TestApi.py

+ 1 - 0
Ansjer/Config/gatewaySensorConfig.py

@@ -13,6 +13,7 @@ GET_SCENE_TOPIC = 'loocam/gateway_sensor/get_scene/{}'
 SCENE_EVENT_CREATE = 1
 SCENE_EVENT_EDIT = 2
 SCENE_EVENT_DELETE = 3
+SCENE_EVENT_EDIT_STATUS = 4
 
 # 智能场景状态
 SCENE_STATUS_ON = 1

+ 2 - 2
Controller/SensorGateway/SmartSceneController.py

@@ -13,7 +13,7 @@ from django.db.models import F, Q, Count
 from django.views import View
 
 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, SCENE_EVENT_DELETE, SCENE_STATUS_ON, SCENE_STATUS_OFF, SCENE_EVENT_EDIT_STATUS
 from Model.models import FamilyRoomDevice, GatewaySubDevice, FamilyRoom, SmartScene, EffectiveTime, Device_Info, \
     SceneLog
 from Object.ResponseObject import ResponseObject
@@ -470,7 +470,7 @@ class SmartSceneView(View):
             smart_scene_id = int(smart_scene_id)
             scene_status = SCENE_STATUS_ON if is_enable == 'True' else SCENE_STATUS_OFF
             msg = {
-                'scene_event': SCENE_EVENT_EDIT,
+                'scene_event': SCENE_EVENT_EDIT_STATUS,
                 'scene_id': smart_scene_id,
                 'scene_status': scene_status
             }

+ 32 - 7
Controller/TestApi.py

@@ -17,9 +17,8 @@ import traceback
 import botocore
 import cv2
 from botocore import client
-from django.db import transaction
+from django.db import transaction, connection
 
-from Ansjer.cn_config.config_formal import CONFIG_INFO
 from Ansjer.config import CONFIG_INFO
 from Controller.DeviceConfirmRegion import Device_Region
 from Object.AWS.AmazonS3Util import AmazonS3Util
@@ -142,6 +141,8 @@ class testView(View):
             return self.do_comb(request_dict, response)
         elif operation == 'count_ts':
             return self.count_ts(request_dict, response)
+        elif operation == 'tsCount':
+            return self.ts_count(request_dict, response)
         elif operation == 'upload-s3':
             return self.file_upload_s3(request, request_dict, response)
         elif operation == 'v2/upload-s3':
@@ -829,11 +830,35 @@ class testView(View):
                 sumSec += (fg >> shift) & 0xf
         size = 0
         return HttpResponse(
-            "{year}年{month}月 </br>上传的TS总数:{sumTs} </br> 总秒数:{sumSec} </br> 总大小:{size}GB (1秒约等150KB计算)".format(year=year,
-                                                                                                              month=month,
-                                                                                                              sumTs=sumTs,
-                                                                                                              sumSec=sumSec,
-                                                                                                              size=size))
+            "{year}年{month}月 </br>上传的TS总数:{sumTs} </br> 总秒数:{sumSec} </br> 总大小:{size}GB (1秒约等150KB计算)".format(
+                year=year,
+                month=month,
+                sumTs=sumTs,
+                sumSec=sumSec,
+                size=size))
+
+    @staticmethod
+    def ts_count(request_dict, response):
+        uid = request_dict.get('uid', None)
+        start_time = request_dict.get('start_time', None)
+        end_time = request_dict.get('end_time', None)
+
+        cursor = connection.cursor()
+        sql = 'SELECT fg FROM `vod_hls_mon` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800 UNION ALL SELECT fg FROM `vod_hls_tues` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800 UNION ALL SELECT fg FROM `vod_hls_wed` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800 UNION ALL SELECT fg FROM `vod_hls_thur` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800 UNION ALL SELECT fg FROM `vod_hls_fri` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800 UNION ALL SELECT fg FROM `vod_hls_sat` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800 UNION ALL SELECT fg FROM `vod_hls_sun` WHERE uid=%s AND start_time BETWEEN 1685289600 AND 1685548800'
+        print(sql)
+        try:
+            cursor.execute(sql, ['7TR9XE46NHXL5921111A', '7TR9XE46NHXL5921111A', '7TR9XE46NHXL5921111A',
+                                 '7TR9XE46NHXL5921111A', '7TR9XE46NHXL5921111A', '7TR9XE46NHXL5921111A',
+                                 '7TR9XE46NHXL5921111A'])
+            result = cursor.fetchall()
+            cursor.close()
+            ts_count = 0
+            for fg in result:
+                ts_count += int(fg[0]) & 0xf
+            return response.json(0, ts_count)
+        except Exception as e:
+            print(e)
+            return response.json(500, repr(e))
 
     @staticmethod
     def write_redis_list(response):