|
@@ -79,9 +79,10 @@ class DeviceManagement(View):
|
|
|
return self.edit_app_device_type(request_dict, response)
|
|
|
elif operation == 'deleteAppDeviceType': # 删除app设备类型数据
|
|
|
return self.delete_app_device_type(request_dict, response)
|
|
|
-
|
|
|
elif operation == 'getAppBundle': # 获取app版本包
|
|
|
return self.get_app_bundle(response)
|
|
|
+ elif operation == 'resetAll': # 重置设备主用户/云存/AI
|
|
|
+ return self.reset_all(request, request_dict, response)
|
|
|
else:
|
|
|
return response.json(444, 'operation')
|
|
|
|
|
@@ -445,12 +446,19 @@ class DeviceManagement(View):
|
|
|
def del_device_data(request_dict, response):
|
|
|
uidList = request_dict.get('uidList', None)
|
|
|
delDataOptions = request_dict.get('delDataOptions', None)
|
|
|
-
|
|
|
- if not all([uidList, delDataOptions]):
|
|
|
+ serialNumberList = request_dict.get('serialNumberList', None)
|
|
|
+ if not all([uidList or serialNumberList, delDataOptions]):
|
|
|
return response.json(444)
|
|
|
try:
|
|
|
with transaction.atomic():
|
|
|
- uidList = uidList.splitlines() # 按行('\r', '\r\n', \n')切割字符串返回列表
|
|
|
+ if uidList:
|
|
|
+ # uid
|
|
|
+ uidList = uidList.splitlines() # 按行('\r', '\r\n', \n')切割字符串返回列表
|
|
|
+ else:
|
|
|
+ # 序列号
|
|
|
+ serialNumberList = serialNumberList.splitlines() # 按行('\r', '\r\n', \n')切割字符串返回列表
|
|
|
+ uid_qs = Device_Info.objects.filter(serial_number__in=serialNumberList).values_list('UID')
|
|
|
+ uidList = [uid_qs]
|
|
|
# 根据删除项删除相关数据
|
|
|
if '设备信息数据' in delDataOptions:
|
|
|
Device_Info.objects.filter(UID__in=uidList).delete()
|
|
@@ -707,3 +715,43 @@ class DeviceManagement(View):
|
|
|
except Exception as e:
|
|
|
print(e)
|
|
|
return response.json(500, repr(e))
|
|
|
+
|
|
|
+ @staticmethod
|
|
|
+ def reset_all(request, request_dict, response):
|
|
|
+ uid = request_dict.get('uid', None)
|
|
|
+ if not uid:
|
|
|
+ return response.json(444)
|
|
|
+ try:
|
|
|
+ # 记录操作日志
|
|
|
+ ip = CommonService.get_ip_address(request)
|
|
|
+ content = json.loads(json.dumps(request_dict))
|
|
|
+ log = {
|
|
|
+ 'ip': ip,
|
|
|
+ 'user_id': 2,
|
|
|
+ 'status': 200,
|
|
|
+ 'time': int(time.time()),
|
|
|
+ 'url': 'deviceManagement/resetVod',
|
|
|
+ 'content': json.dumps(content),
|
|
|
+ 'operation': '{}重置所有'.format(uid),
|
|
|
+ }
|
|
|
+ with transaction.atomic():
|
|
|
+ LogModel.objects.create(**log)
|
|
|
+ # 删除主用户
|
|
|
+ Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID='', vodPrimaryMaster='')
|
|
|
+ # 删除云存
|
|
|
+ UID_Bucket.objects.filter(uid=uid).delete()
|
|
|
+ Unused_Uid_Meal.objects.filter(uid=uid).delete()
|
|
|
+ Order_Model.objects.filter(UID=uid, order_type=0).delete()
|
|
|
+ StsCrdModel.objects.filter(uid=uid).delete()
|
|
|
+ VodHlsModel.objects.filter(uid=uid).delete()
|
|
|
+ # 删除vod_hls分表数据
|
|
|
+ split_vod_hls_obj = SplitVodHlsObject()
|
|
|
+ split_vod_hls_obj.del_vod_hls_data(uid=uid)
|
|
|
+ ExperienceContextModel.objects.filter(uid=uid).delete()
|
|
|
+ # 删除AI
|
|
|
+ ExperienceAiModel.objects.filter(uid=uid).delete()
|
|
|
+ AiService.objects.filter(uid=uid).delete()
|
|
|
+ return response.json(0)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return response.json(500, repr(e))
|