Browse Source

修改app图标查询,添加app版本号

guanhailong 3 years ago
parent
commit
2a7c9015c7
1 changed files with 13 additions and 5 deletions
  1. 13 5
      AdminController/DeviceManagementController.py

+ 13 - 5
AdminController/DeviceManagementController.py

@@ -12,7 +12,7 @@ from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_
     AWS_SES_ACCESS_REGION
 from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
     VodHlsModel, ExperienceContextModel, DeviceTypeModel, Equipment_Info, UidUserModel, ExperienceAiModel, AiService, \
-    AppBundle, App_Info, AppDeviceType, DeviceNameLanguage
+    AppBundle, App_Info, AppDeviceType, DeviceNameLanguage, AppVersionNumber
 from Object.AWS.AmazonS3Util import AmazonS3Util
 from Object.ResponseObject import ResponseObject
 from Object.TokenObject import TokenObject
@@ -21,6 +21,7 @@ from Service.EquipmentInfoService import EquipmentInfoService
 from Service.ModelService import ModelService
 
 
+
 class DeviceManagement(View):
     def get(self, request, *args, **kwargs):
         request.encoding = 'utf-8'
@@ -450,16 +451,23 @@ class DeviceManagement(View):
     def get_device_icon(request_dict, response):
         lang = request_dict.get('lang', None)
         app_bundle_id = request_dict.get('appBundleId', None)
+        version_number = request_dict.get('versionNumber', None)
 
-        if not all([lang, app_bundle_id]):
+        if not all([lang, app_bundle_id, version_number]):
             return response.json(444)
+        version_number_qs = AppVersionNumber.objects.filter(version_number=version_number).values('id')
         try:
+            version_number_id = version_number_qs[0]['id']
             app_bundle_qs = AppBundle.objects.filter(app_bundle_id=app_bundle_id,
-                                                     app_device_type__devicenamelanguage__lang=lang).annotate(
+                                                     app_device_type__devicenamelanguage__lang=lang,
+                                                     app_device_type__app_version_number_id__lte=version_number_id). \
+                annotate(
                 model=F('app_device_type__model'), type=F('app_device_type__type'), icon=F('app_device_type__icon'),
                 name=F('app_device_type__devicenamelanguage__name'),
-                sort=F('app_device_type__devicenamelanguage__sort')).order_by(
-                'app_device_type__devicenamelanguage__sort').values('model', 'type', 'icon', 'name', 'sort')
+                sort=F('app_device_type__devicenamelanguage__sort'),
+                app_version_number_id=F('app_device_type__app_version_number_id')).order_by(
+                'app_device_type__devicenamelanguage__sort').values('model', 'type', 'icon', 'name', 'sort',
+                                                                    'app_device_type__app_version_number_id')
             dvr_list = [app_bundle for app_bundle in app_bundle_qs if app_bundle['model'] == 1]
             ipc_list = [app_bundle for app_bundle in app_bundle_qs if app_bundle['model'] == 2]
             print(dvr_list, ipc_list)