|
@@ -12,7 +12,7 @@ import time
|
|
|
from django.db import transaction
|
|
|
from django.views import View
|
|
|
|
|
|
-from Model.models import DeviceSharePermission, DeviceChannelUserSet, DeviceChannelUserPermission
|
|
|
+from Model.models import DeviceSharePermission, DeviceChannelUserSet, DeviceChannelUserPermission, UidChannelSetModel
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
|
|
@@ -67,7 +67,7 @@ class UserDeviceShareView(View):
|
|
|
.values('permission_id', 'channel_user_id')
|
|
|
if not channel_permission_qs.exists():
|
|
|
return response.json(0, {})
|
|
|
- channel_list = list(range(1, int(channel_count)+1))
|
|
|
+ channel_list = list(range(1, int(channel_count) + 1))
|
|
|
share_channel_list = user_permission_qs[0]['channels'].split(',')
|
|
|
c_list = []
|
|
|
for channel in channel_list:
|
|
@@ -133,3 +133,42 @@ class UserDeviceShareView(View):
|
|
|
except Exception as e:
|
|
|
LOGGER.info('异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def qrcode_share_channel_permission_save(user_id, uid):
|
|
|
+ """
|
|
|
+ 二维码分享保存通道权限
|
|
|
+ @param user_id: 用户id
|
|
|
+ @param uid: 用户设备ID
|
|
|
+ @return: True | False
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ if not all([user_id, uid]):
|
|
|
+ return False
|
|
|
+ channel_qs = UidChannelSetModel.objects.filter(uid).values('channel')
|
|
|
+ if not channel_qs.exists():
|
|
|
+ return False
|
|
|
+ channel_list = list(channel_qs)
|
|
|
+ channel_str = ','.join(channel_list)
|
|
|
+ with transaction.atomic():
|
|
|
+ now_time = int(time.time())
|
|
|
+ device_set = {'uid': uid, 'user_id': user_id, 'channels': channel_str,
|
|
|
+ 'created_time': now_time, 'updated_time': now_time}
|
|
|
+ ds_qs = DeviceChannelUserSet.objects.filter(user_id=user_id, uid=uid)
|
|
|
+ if ds_qs.exists():
|
|
|
+ return True
|
|
|
+ device_user_set = DeviceChannelUserSet.objects.create(**device_set)
|
|
|
+ channel_permission_qs = DeviceSharePermission.objects \
|
|
|
+ .all().values('id', 'code').order_by('sort')
|
|
|
+ user_set_id = device_user_set.id
|
|
|
+ channel_permission_list = []
|
|
|
+ for item in channel_permission_qs:
|
|
|
+ channel_permission_list.append(DeviceChannelUserPermission(
|
|
|
+ permission_id=item['id'],
|
|
|
+ channel_user_id=user_set_id,
|
|
|
+ created_time=now_time))
|
|
|
+ DeviceChannelUserPermission.objects.bulk_create(channel_permission_list)
|
|
|
+ return True
|
|
|
+ except Exception as e:
|
|
|
+ LOGGER.info('异常详情,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|
|
|
+ return False
|