|
@@ -38,6 +38,7 @@ class DeviceManagement(View):
|
|
|
elif operation == 'delDeviceData': # 删除设备数据
|
|
|
return self.del_device_data(request_dict, response)
|
|
|
elif operation == 'getDeviceIcon': # app获取设备图标
|
|
|
+ response = ResponseObject(language)
|
|
|
return self.get_device_icon(request_dict, response)
|
|
|
else:
|
|
|
tko = TokenObject(
|
|
@@ -63,6 +64,8 @@ class DeviceManagement(View):
|
|
|
return self.getDeviceTypeList(request_dict, response)
|
|
|
elif operation == 'deleteDeviceType':
|
|
|
return self.deleteDeviceType(request_dict, response)
|
|
|
+ elif operation == 'getAppDeviceTypeList': # 获取app设备类型数据
|
|
|
+ return self.get_app_device_type_list(request_dict, response)
|
|
|
else:
|
|
|
return response.json(444, 'operation')
|
|
|
|
|
@@ -367,3 +370,36 @@ class DeviceManagement(View):
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def get_app_device_type_list(request_dict, response):
|
|
|
+ lang = request_dict.get('lang', 'cn')
|
|
|
+ app_bundle_id = request_dict.get('appBundleId', None)
|
|
|
+ pageNo = request_dict.get('pageNo', None)
|
|
|
+ pageSize = request_dict.get('pageSize', None)
|
|
|
+
|
|
|
+ if not all([pageNo, pageSize]):
|
|
|
+ return response.json(444)
|
|
|
+
|
|
|
+ page = int(pageNo)
|
|
|
+ line = int(pageSize)
|
|
|
+ try:
|
|
|
+ app_bundle_qs = AppBundle.objects.filter()
|
|
|
+ if app_bundle_id:
|
|
|
+ app_bundle_qs = app_bundle_qs.filter(app_bundle_id=app_bundle_id)
|
|
|
+ if lang:
|
|
|
+ app_bundle_qs = app_bundle_qs.filter(app_device_type__devicenamelanguage__lang=lang)
|
|
|
+
|
|
|
+ total = app_bundle_qs.count()
|
|
|
+ app_bundle_qs = app_bundle_qs.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')).values('model', 'type', 'icon', 'name', 'sort')[
|
|
|
+ (page - 1) * line:page * line]
|
|
|
+ if not app_bundle_qs.exists():
|
|
|
+ return response.json(173)
|
|
|
+ app_device_type_list = [app_bundle for app_bundle in app_bundle_qs]
|
|
|
+ return response.json(0, {'list': app_device_type_list, 'total': total})
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|