|
@@ -19,11 +19,13 @@ from django.utils.decorators import method_decorator
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
from django.views.generic.base import View
|
|
from django.views.generic.base import View
|
|
|
|
|
|
-from Model.models import UidSetModel, Device_User, Device_Info,UidPushModel
|
|
|
|
|
|
+from Model.models import UidSetModel, Device_User, Device_Info, UidPushModel, Equipment_Info, UID_Preview, UID_Bucket, \
|
|
|
|
+ VodHlsModel, Order_Model, OssCrdModel
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.ResponseObject import ResponseObject
|
|
from Object.TokenObject import TokenObject
|
|
from Object.TokenObject import TokenObject
|
|
from Service.CommonService import CommonService
|
|
from Service.CommonService import CommonService
|
|
from Service.ModelService import ModelService
|
|
from Service.ModelService import ModelService
|
|
|
|
+from django.db import transaction
|
|
|
|
|
|
'''
|
|
'''
|
|
# 管理员获取信息
|
|
# 管理员获取信息
|
|
@@ -91,43 +93,96 @@ class UidSetView(View):
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
|
|
def do_admin_queryAll(self, request_dict, userID, response):
|
|
def do_admin_queryAll(self, request_dict, userID, response):
|
|
- uid_list = Device_Info.objects.filter(userID_id=userID).values_list('UID', flat=True)
|
|
|
|
- print (uid_list)
|
|
|
|
- id = request_dict.get('id', None)
|
|
|
|
- uid_set_qs = UidPushModel.objects.filter(uid_set__id=id).values('addTime',
|
|
|
|
- 'appBundleId','app_type','lang','m_code','push_type','token_val','tz','uid_set',
|
|
|
|
- 'updTime','userID','userID__username'
|
|
|
|
- , 'userID__userEmail', 'userID__NickName'
|
|
|
|
- , 'userID__is_active', 'userID__phone'
|
|
|
|
- , 'uid_set__channel', 'uid_set__uid'
|
|
|
|
- , 'uid_set__detect_status'
|
|
|
|
- ,'uid_set__detect_interval', 'uid_set__ucode'
|
|
|
|
- , 'uid_set__version'
|
|
|
|
- , 'uid_set__p2p_region'
|
|
|
|
- ,'uid_set__cloud_vod', 'uid_set__tz'
|
|
|
|
- , 'uid_set__video_code'
|
|
|
|
- ,'uid_set__nickname'
|
|
|
|
- ,'uid_set__ip'
|
|
|
|
- )
|
|
|
|
-
|
|
|
|
- return response.json(0, list(uid_set_qs))
|
|
|
|
|
|
+ uid_list = Device_Info.objects.filter(userID_id=userID).values_list('UID', flat=True)
|
|
|
|
+ id = request_dict.get('id', None)
|
|
|
|
+ uid_set_qs = UidPushModel.objects.filter(uid_set__id=id).values('addTime',
|
|
|
|
+ 'appBundleId','app_type','lang','m_code','push_type','token_val','tz','uid_set',
|
|
|
|
+ 'updTime','userID','userID__username'
|
|
|
|
+ , 'userID__userEmail', 'userID__NickName'
|
|
|
|
+ , 'userID__is_active', 'userID__phone'
|
|
|
|
+ )
|
|
|
|
|
|
- # 管理员删除
|
|
|
|
|
|
+ return response.json(0, list(uid_set_qs))
|
|
|
|
|
|
|
|
+ # 管理员删除
|
|
def do_admin_delete(self, request_dict, userID, response):
|
|
def do_admin_delete(self, request_dict, userID, response):
|
|
own_perm = ModelService.check_perm(userID, 20)
|
|
own_perm = ModelService.check_perm(userID, 20)
|
|
if own_perm is True:
|
|
if own_perm is True:
|
|
- id = request_dict.get('id')
|
|
|
|
|
|
+ uid = request_dict.getlist('uid', None)
|
|
|
|
+ id_list = request_dict.get('id_list', None)
|
|
try:
|
|
try:
|
|
- list = UidSetModel.objects.filter(id=id)
|
|
|
|
- if list.exists():
|
|
|
|
- list.delete()
|
|
|
|
|
|
+ # 删除回滚
|
|
|
|
+ with transaction.atomic(): # 上下文格式,可以在python代码的任何位置使用
|
|
|
|
+ if 'UidSetModel' in id_list:
|
|
|
|
+ del_uid = UidSetModel.objects.filter(uid__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ print ('删除UidSetModel')
|
|
|
|
+ else:
|
|
|
|
+ print('UidSetModel表没有数据')
|
|
|
|
+ if 'Equipment_Info' in id_list:
|
|
|
|
+ del_uid = Equipment_Info.objects.filter(devUid__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ # print('删除Equipment_Info')
|
|
|
|
+ else:
|
|
|
|
+ print('Equipment_Info表没有数据')
|
|
|
|
+ if 'UID_Preview' in id_list:
|
|
|
|
+ del_uid = UID_Preview.objects.filter(uid__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ # print ('删除UID_Preview')
|
|
|
|
+ else:
|
|
|
|
+ print('UID_Preview表没有数据')
|
|
|
|
+ if 'UID_Bucket' in id_list:
|
|
|
|
+ del_uid = UID_Bucket.objects.filter(uid__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ # print ('删除UID_Bucket')
|
|
|
|
+ else:
|
|
|
|
+ print('UID_Bucket表没有数据')
|
|
|
|
+ if 'VodHlsModel' in id_list:
|
|
|
|
+ del_uid = VodHlsModel.objects.filter(uid__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ # del_uid.delete()
|
|
|
|
+ print ('删除VodHlsModel')
|
|
|
|
+ else:
|
|
|
|
+ print('VodHlsModel表没有数据')
|
|
|
|
+ if 'Order_Model' in id_list:
|
|
|
|
+ del_uid = Order_Model.objects.filter(UID__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ # print ('删除Order_Model')
|
|
|
|
+ else:
|
|
|
|
+ print('Order_Model表没有数据')
|
|
|
|
+ if 'Device_Info' in id_list:
|
|
|
|
+ del_uid = Device_Info.objects.filter(UID__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ # print ('删除Device_Info')
|
|
|
|
+ else:
|
|
|
|
+ print('Order_Model表没有数据')
|
|
|
|
+ if 'OssCrdModel' in id_list:
|
|
|
|
+ del_uid = OssCrdModel.objects.filter(uid__in=uid)
|
|
|
|
+ if del_uid.exists():
|
|
|
|
+ del_uid.delete()
|
|
|
|
+ # print ('删除OssCrdModel')
|
|
|
|
+ else:
|
|
|
|
+ print('OssCrdModel表没有数据')
|
|
|
|
+ #有后台管理 设备配置表UidSetModel ---uid --本身,
|
|
|
|
+ #有后台管理 设备关联用户推送表Equipment_Info --devUid --独立没有儿子的,
|
|
|
|
+ # 设备预览图表UID_Preview ---uid---孤立,
|
|
|
|
+ #有后台管理 设备关联套餐表UID_Bucket ---uid---孤立,
|
|
|
|
+ # 云存回放信息表VodHlsModel ---uid---孤立,
|
|
|
|
+ #有后台管理 订单信息表Order_Model --UID----独立没有儿子的,
|
|
|
|
+ #有后台管理 用户设备信息表(最多信息量的表)Device_Info ---UID---孤立,
|
|
|
|
+ # 设备证书OssCrdModel ---uid---孤立
|
|
|
|
+
|
|
|
|
+ #设备绑定UidPushModel---关联表---设备配置表UidSetModel---配置表的详情有显示
|
|
return response.json(0)
|
|
return response.json(0)
|
|
- else:
|
|
|
|
- return response.json(173)
|
|
|
|
- except Exception as e:
|
|
|
|
- print(repr(e))
|
|
|
|
- return response.json(424, repr(e))
|
|
|
|
|
|
+ # raise DatabaseError #测试用,检测是否能捕捉错误
|
|
|
|
+ except DatabaseError: # 自动回滚,不需要任何操作
|
|
|
|
+ pass
|
|
else:
|
|
else:
|
|
return response.json(404)
|
|
return response.json(404)
|
|
|
|
|
|
@@ -156,7 +211,7 @@ class UidSetView(View):
|
|
uidset_json['count'] = count
|
|
uidset_json['count'] = count
|
|
return response.json(0, uidset_json)
|
|
return response.json(0, uidset_json)
|
|
else:
|
|
else:
|
|
- omqs = UidSetModel.objects.all().order_by('-id')
|
|
|
|
|
|
+ omqs = UidSetModel.objects.all().order_by('id')
|
|
if not omqs.exists():
|
|
if not omqs.exists():
|
|
return response.json(0, [])
|
|
return response.json(0, [])
|
|
count = omqs.count()
|
|
count = omqs.count()
|