|
@@ -18,6 +18,10 @@ from Model.models import DeviceSharePermission, DeviceChannelUserSet, DeviceChan
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from Service.UserDeviceService import UserDeviceService
|
|
from Service.UserDeviceService import UserDeviceService
|
|
|
|
+from Ansjer.config import CONFIG_CN, CONFIG_INFO, CONFIG_TEST, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, \
|
|
|
|
+ AWS_SES_ACCESS_REGION, AWS_IOT_SES_ACCESS_CHINA_REGION
|
|
|
|
+from Model.models import DeviceWallpaper
|
|
|
|
+from Object.AWS.AmazonS3Util import AmazonS3Util
|
|
|
|
|
|
LOGGER = logging.getLogger('info')
|
|
LOGGER = logging.getLogger('info')
|
|
|
|
|
|
@@ -46,6 +50,8 @@ class UserDeviceShareView(View):
|
|
return self.user_channel_permission_save(request_dict, response)
|
|
return self.user_channel_permission_save(request_dict, response)
|
|
elif operation == 'permissions-test':
|
|
elif operation == 'permissions-test':
|
|
return self.synch_share_device_permission(response)
|
|
return self.synch_share_device_permission(response)
|
|
|
|
+ elif operation == 'getWallpaperList':
|
|
|
|
+ return self.get_wallpaper_list(request_dict, response)
|
|
else:
|
|
else:
|
|
return response.json(404)
|
|
return response.json(404)
|
|
|
|
|
|
@@ -193,3 +199,60 @@ class UserDeviceShareView(View):
|
|
for item in device_info_qs:
|
|
for item in device_info_qs:
|
|
UserDeviceShareView.qrcode_share_channel_permission_save(item['userID_id'], item['UID'])
|
|
UserDeviceShareView.qrcode_share_channel_permission_save(item['userID_id'], item['UID'])
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ @classmethod
|
|
|
|
+ def get_wallpaper_list(cls, request_dict, response):
|
|
|
|
+ """
|
|
|
|
+ 获取设备壁纸列表
|
|
|
|
+ @param request_dict:
|
|
|
|
+ @param response:
|
|
|
|
+ @return:
|
|
|
|
+ """
|
|
|
|
+ try:
|
|
|
|
+ device_type = int(request_dict.get('deviceType', None))
|
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
|
+ channel = int(request_dict.get('channel', 1))
|
|
|
|
+
|
|
|
|
+ if not all([device_type, uid]):
|
|
|
|
+ return response.json(444)
|
|
|
|
+
|
|
|
|
+ # 查询用户自定义壁纸
|
|
|
|
+ user_wallpaper_qs = DeviceWallpaper.objects.filter(channel=channel, uid=uid,
|
|
|
|
+ device_type=device_type, parent_id=0, status=1)
|
|
|
|
+
|
|
|
|
+ # 查询系统默认壁纸
|
|
|
|
+ def_wallpaper_qs = DeviceWallpaper.objects.filter(classification=1, device_type=device_type, status=1)
|
|
|
|
+
|
|
|
|
+ # 查询用户选中的壁纸
|
|
|
|
+ user_checked_qs = DeviceWallpaper.objects.filter(channel=channel, uid=uid,
|
|
|
|
+ device_type=device_type, parent_id__gt=0, status=1)
|
|
|
|
+ checked_id = user_checked_qs[0].parent_id if user_checked_qs.exists() else 0
|
|
|
|
+
|
|
|
|
+ wallpaper_list = []
|
|
|
|
+ if def_wallpaper_qs.exists() or user_wallpaper_qs.exists():
|
|
|
|
+ # 初始化存储桶客户端
|
|
|
|
+ s3 = AmazonS3Util(AWS_ACCESS_KEY_ID[0], AWS_SECRET_ACCESS_KEY[0], AWS_IOT_SES_ACCESS_CHINA_REGION) \
|
|
|
|
+ if CONFIG_CN == CONFIG_INFO or CONFIG_TEST == CONFIG_INFO \
|
|
|
|
+ else AmazonS3Util(AWS_ACCESS_KEY_ID[1], AWS_SECRET_ACCESS_KEY[1], AWS_SES_ACCESS_REGION)
|
|
|
|
+
|
|
|
|
+ bucket_name = "ansjerfilemanager"
|
|
|
|
+
|
|
|
|
+ # 处理系统默认壁纸和用户自定义壁纸
|
|
|
|
+ all_wallpapers_qs = def_wallpaper_qs.union(user_wallpaper_qs)
|
|
|
|
+ for item in all_wallpapers_qs:
|
|
|
|
+ obj_key = item.obj_prefix + item.obj_name
|
|
|
|
+ response_url = s3.generate_file_obj_url(bucket_name, obj_key)
|
|
|
|
+ wallpaper = {
|
|
|
|
+ 'id': item.id,
|
|
|
|
+ 'url': response_url,
|
|
|
|
+ 'state': 1 if checked_id == item.id else 0,
|
|
|
|
+ 'classification': item.classification
|
|
|
|
+ }
|
|
|
|
+ wallpaper_list.append(wallpaper)
|
|
|
|
+
|
|
|
|
+ return response.json(0, {'wallpapers': wallpaper_list})
|
|
|
|
+
|
|
|
|
+ except Exception as e:
|
|
|
|
+ LOGGER.error('查询设备壁纸异常:errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
|
+ return response.json(5)
|