Bläddra i källkod

根据设备类型过滤设备音频

linhaohong 5 månader sedan
förälder
incheckning
d4df93aa36
2 ändrade filer med 6 tillägg och 0 borttagningar
  1. 5 0
      Controller/VoicePromptController.py
  2. 1 0
      Model/models.py

+ 5 - 0
Controller/VoicePromptController.py

@@ -3,6 +3,7 @@
 import time
 
 import oss2
+from django.db.models import Q
 from django.views import View
 
 from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
@@ -189,6 +190,10 @@ class VoicePromptView(View):
             if not system_qs.exists() and lang != 'en':
                 system_qs = VoicePromptModel.objects.filter(classification=0, language='en', status=1,
                                                             algorithm_type=algorithm_type)
+            if lang == 'cn' and algorithm_type == 10:
+                device_type = Device_Info.objects.filter(UID=uid).values('Type').first()['Type']
+                system_qs = system_qs.filter(Q(device_types=[]) | Q(device_types__contains=[device_type]))
+
             channel_qs = UidChannelSetModel.objects.filter(uid__uid=uid, channel=channel,
                                                            algorithm_type=algorithm_type)
 

+ 1 - 0
Model/models.py

@@ -2838,6 +2838,7 @@ class VoicePromptModel(models.Model):
     algorithm_type = models.SmallIntegerField(default=99, verbose_name='关联算法类型')
     channel = models.IntegerField(default=0, verbose_name='通道号')
     status = models.SmallIntegerField(default=1, verbose_name='是否启用。0:不启用,1:启用')
+    device_types = models.JSONField(default=list, verbose_name='设备类型列表(整数数组)')
 
     class Meta:
         db_table = 'voice_prompt'