소스 검색

重置门铃静音

chenshibin 4 년 전
부모
커밋
464f8a0711
2개의 변경된 파일45개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 1
      Controller/ShadowController.py
  2. 40 1
      Model/models.py

+ 5 - 1
Controller/ShadowController.py

@@ -20,7 +20,7 @@ from Object.LogUtil import LogUtil
 from Object.ResponseObject import ResponseObject
 from Object.ResponseObject import ResponseObject
 from Object.ETkObject import ETkObject
 from Object.ETkObject import ETkObject
 import time
 import time
-from Model.models import Device_Info, UidSetModel, UID_Preview, VoicePromptModel, UID_Bucket
+from Model.models import Device_Info, UidSetModel, UID_Preview, VoicePromptModel, UID_Bucket, UidChannelSetModel
 from Service.CommonService import CommonService
 from Service.CommonService import CommonService
 from django.http import JsonResponse
 from django.http import JsonResponse
 from Object.UidTokenObject import UidTokenObject
 from Object.UidTokenObject import UidTokenObject
@@ -86,6 +86,10 @@ def update_device_shadow(request):
             if voice_qs.exists():
             if voice_qs.exists():
                 voice_qs.delete()
                 voice_qs.delete()
 
 
+            uidc_qs = UidChannelSetModel.objects.filter(uid__uid=uid)
+            if uidc_qs.exists():
+                uidc_qs.update(voice_prompt_intelligent_mute=0)
+
         # return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
         # return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
         ucode = request_dict.get('ucode', None)
         ucode = request_dict.get('ucode', None)
         version = request_dict.get('version', None)
         version = request_dict.get('version', None)

+ 40 - 1
Model/models.py

@@ -490,4 +490,43 @@ class UID_Bucket(models.Model):
         db_table = 'vod_uid_bucket'
         db_table = 'vod_uid_bucket'
         verbose_name = '设备关联套餐表'
         verbose_name = '设备关联套餐表'
         verbose_name_plural = verbose_name
         verbose_name_plural = verbose_name
-        ordering = ('id',)
+        ordering = ('id',)
+
+
+# 设备通道配置
+class UidChannelSetModel(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name='自增id')
+    uid = models.ForeignKey(UidSetModel, to_field='id', on_delete=models.CASCADE)
+    channel = models.IntegerField(default=1, verbose_name='通道号')
+    channel_name = models.CharField(blank=True, default='', max_length=20, verbose_name=u'通道名')
+    pir_audio = models.SmallIntegerField(default=0, verbose_name='pir声音。0:关闭,1:开启')
+    mic_audio = models.SmallIntegerField(default=0, verbose_name='mic声音。0:关闭,1:开启')
+    battery_status = models.SmallIntegerField(default=0, verbose_name='低电量提醒状态。0:关闭,1:开启')
+    battery_level = models.SmallIntegerField(default=0, verbose_name='低电量提醒级别。0: 低于10%;1:低于25%;2:低于50%;3:低于75%')
+    sleep_status = models.SmallIntegerField(default=0, verbose_name='是否开启【休眠通知】。0:关闭;1:开启')
+    sleep_time = models.SmallIntegerField(default=0, verbose_name='摄像机进入休眠时间。0:不休眠;1:10秒;2:20秒;3:30秒')
+    light_night_model = models.IntegerField(default=0, verbose_name='夜视模式')  # 0:全彩模式,1:黑白模式,2:智能夜视模式
+    light_alarm_type = models.IntegerField(default=0, verbose_name='警报人形类型')  # 0为人形,1为移动,3是人形和移动侦测0x0f
+    # 声光报警级别: 0: 关闭,1:强烈声光告警,2:轻微声光告警,3: 强烈声告警,4:轻微声告警,5:强烈光告警
+    light_alarm_level = models.IntegerField(default=0, verbose_name='声光报警级别')
+    light_alarm_man_en = models.IntegerField(default=0, verbose_name='人为告警状态')  # 0:关,1:开
+    light_alarm_vol = models.IntegerField(default=0, verbose_name='报警音量')  # 音量值0-100
+    light_long_light = models.IntegerField(default=0, verbose_name='长亮')
+    voice_prompt_status = models.SmallIntegerField(default=0, verbose_name='个性语音提示快关。0:关闭,1:开启')
+    voice_prompt_enter = models.IntegerField(default=0, verbose_name='进入铃声id')
+    voice_prompt_leave = models.IntegerField(default=0, verbose_name='离开铃声id')
+    voice_prompt_intelligent_mute = models.SmallIntegerField(default=0, verbose_name='智能静音。0:关闭,1:开启')
+    voice_start_x = models.FloatField(default=0, verbose_name='起始坐标的x')
+    voice_start_y = models.FloatField(default=18, verbose_name='起始坐标的y')
+    voice_end_x = models.FloatField(default=44, verbose_name='结束坐标的x')
+    voice_end_y = models.FloatField(default=18, verbose_name='结束坐标的y')
+    voice_start_time = models.IntegerField(default=0, verbose_name='语音执行的起始时间')
+    voice_end_time = models.IntegerField(default=0, verbose_name='语音执行的结束时间')
+    voice_repeat_day = models.IntegerField(default=127, verbose_name='语音执行的日期,周几')
+    voice_direction = models.IntegerField(default=0, verbose_name='语音方向。')
+
+    class Meta:
+        db_table = 'uid_channel'
+        verbose_name = '设备通道设置'
+        verbose_name_plural = verbose_name
+        app_label = "db1"