|
@@ -16,15 +16,15 @@ import json
|
|
|
import time
|
|
|
|
|
|
from django.views.generic.base import View
|
|
|
-from Object.RedisObject import RedisObject
|
|
|
+
|
|
|
from Ansjer.config import SERVER_DOMAIN
|
|
|
-from Model.models import Device_Info, Device_User
|
|
|
+from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
|
|
|
+from Model.models import Device_Info, Device_User, DeviceChannelUserSet, DeviceChannelUserPermission
|
|
|
from Model.models import UID_Bucket
|
|
|
from Object.RedisObject import RedisObject
|
|
|
from Object.ResponseObject import ResponseObject
|
|
|
from Object.TokenObject import TokenObject
|
|
|
from Service.CommonService import CommonService
|
|
|
-from Controller.SensorGateway.EquipmentFamilyController import EquipmentFamilyView
|
|
|
|
|
|
|
|
|
class DeviceShareView(View):
|
|
@@ -262,7 +262,32 @@ class DeviceShareView(View):
|
|
|
return response.json(444, 'id')
|
|
|
try:
|
|
|
Device_Info.objects.filter(id__in=ids.split(','), primaryUserID=userID).delete()
|
|
|
+
|
|
|
except Exception as e:
|
|
|
return response.json(10, repr(e))
|
|
|
else:
|
|
|
return response.json(0)
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def del_device_channel_permission(user_id, uid):
|
|
|
+ """
|
|
|
+ 删除设备通道权限
|
|
|
+ @param user_id: 用户ID
|
|
|
+ @param uid: 设备UID
|
|
|
+ @return: True | False
|
|
|
+ """
|
|
|
+ if user_id and uid:
|
|
|
+ user_channel_qs = DeviceChannelUserSet.objects.filter(user_id=user_id, uid=uid)
|
|
|
+ if user_channel_qs.exists():
|
|
|
+ DeviceChannelUserPermission.objects.filter(channel_user_id=user_channel_qs.first().id).delete()
|
|
|
+ user_channel_qs.delete()
|
|
|
+ return True
|
|
|
+ elif uid:
|
|
|
+ user_channel_qs = DeviceChannelUserSet.objects.filter(uid=uid)
|
|
|
+ if user_channel_qs.exists():
|
|
|
+ channels_user_list = [val.id for val in user_channel_qs]
|
|
|
+ DeviceChannelUserPermission.objects.filter(channel_user_id__in=channels_user_list).delete()
|
|
|
+ user_channel_qs.delete()
|
|
|
+ return True
|
|
|
+ else:
|
|
|
+ return False
|