chanjunkai 5 жил өмнө
parent
commit
01d5f05723

+ 1 - 0
AnsjerPush/urls.py

@@ -20,6 +20,7 @@ from Controller import DetectController,ShadowController
 
 urlpatterns = [
     path('admin/', admin.site.urls),
+    # 摄像机推送消息到后台,后台推送到第三方平台
     path('notify/push', DetectController.NotificationView.as_view()),
     path('deviceShadow/update', ShadowController.update_device_shadow),
     path('deviceShadow/generateUTK', ShadowController.generate_utk),

+ 8 - 1
Controller/DetectController.py

@@ -68,6 +68,7 @@ class NotificationView(View):
         redisObj = RedisObject(db=6)
         pkey = '{uid}_ptl'.format(uid=uid)
         ykey = '{uid}_redis_qs'.format(uid=uid)
+        dkey = '{uid}_{event_type}_redis_qs'.format(uid=uid, event_type=event_type)
         if redisObj.get_data(key=pkey):
             res_data = {'code': 0, 'msg': 'success!'}
             return JsonResponse(status=200, data=res_data)
@@ -84,7 +85,7 @@ class NotificationView(View):
                 uid_push_qs = UidPushModel.objects.filter(uid_set__uid=uid, uid_set__detect_status=1). \
                     values('token_val', 'app_type', 'appBundleId',
                            'push_type', 'userID_id', 'lang',
-                           'tz', 'uid_set__nickname')
+                           'tz', 'uid_set__nickname', 'uid_set__detect_interval', 'uid_set__detect_group')
                 # 新建一个list接收数据
                 redis_list = []
                 # 把数据库数据追加进redis_list
@@ -92,6 +93,12 @@ class NotificationView(View):
                     redis_list.append(qs)
                 # 修改redis数据,并设置过期时间为10分钟
         if redis_list:
+            detect_interval = redis_list[0]['uid_set__detect_interval']
+            detect_group = redis_list[0]['uid_set__detect_group']
+            if detect_group:
+                detect_group_list = detect_group.split(',')
+                if event_type in detect_group_list:
+                    redisObj.set_data(key=dkey, val=1, expire=detect_interval)
             redisObj.set_data(key=ykey, val=str(redis_list), expire=600)
             nickname = redis_list[0]['uid_set__nickname']
             now_time = int(time.time())

+ 1 - 0
Model/models.py

@@ -333,6 +333,7 @@ class UidSetModel(models.Model):
     resetTime = models.IntegerField(default=0, verbose_name='设备重置时间')
     is_alexa = models.IntegerField(default=0, verbose_name='会否支持alexa') # 0:否,1:是
 
+    detect_group = models.CharField(default='',max_length=32,verbose_name=u'检测类型')
     class Meta:
         db_table = 'uid_set'
         verbose_name = u'设备配置表'