|
@@ -12,7 +12,7 @@ from Ansjer.config import OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET, AWS_ACCESS_
|
|
AWS_SES_ACCESS_REGION
|
|
AWS_SES_ACCESS_REGION
|
|
from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
|
|
from Model.models import Device_Info, UidSetModel, LogModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
|
|
VodHlsModel, ExperienceContextModel, DeviceTypeModel, Equipment_Info, UidUserModel, ExperienceAiModel, AiService, \
|
|
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.AWS.AmazonS3Util import AmazonS3Util
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
@@ -21,6 +21,7 @@ from Service.EquipmentInfoService import EquipmentInfoService
|
|
from Service.ModelService import ModelService
|
|
from Service.ModelService import ModelService
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
class DeviceManagement(View):
|
|
class DeviceManagement(View):
|
|
def get(self, request, *args, **kwargs):
|
|
def get(self, request, *args, **kwargs):
|
|
request.encoding = 'utf-8'
|
|
request.encoding = 'utf-8'
|
|
@@ -450,16 +451,23 @@ class DeviceManagement(View):
|
|
def get_device_icon(request_dict, response):
|
|
def get_device_icon(request_dict, response):
|
|
lang = request_dict.get('lang', None)
|
|
lang = request_dict.get('lang', None)
|
|
app_bundle_id = request_dict.get('appBundleId', 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)
|
|
return response.json(444)
|
|
|
|
+ version_number_qs = AppVersionNumber.objects.filter(version_number=version_number).values('id')
|
|
try:
|
|
try:
|
|
|
|
+ version_number_id = version_number_qs[0]['id']
|
|
app_bundle_qs = AppBundle.objects.filter(app_bundle_id=app_bundle_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'),
|
|
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'),
|
|
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]
|
|
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]
|
|
ipc_list = [app_bundle for app_bundle in app_bundle_qs if app_bundle['model'] == 2]
|
|
print(dvr_list, ipc_list)
|
|
print(dvr_list, ipc_list)
|