|
@@ -812,10 +812,8 @@ def deleteInterface(request):
|
|
redisObj.del_data(key=ykey)
|
|
redisObj.del_data(key=ykey)
|
|
else:
|
|
else:
|
|
up_qs.delete()
|
|
up_qs.delete()
|
|
- # b.分享获得用户假删除
|
|
|
|
- ud_dv_qs = Device_Info.objects.filter(UID=uid, isShare=True, primaryUserID=userID)
|
|
|
|
- if ud_dv_qs.exists():
|
|
|
|
- ud_dv_qs.update(isExist=0)
|
|
|
|
|
|
+ # b.删除次用户设备
|
|
|
|
+ Device_Info.objects.filter(UID=uid, isShare=True, primaryUserID=userID).delete()
|
|
# 异步删除推送消息
|
|
# 异步删除推送消息
|
|
asy = threading.Thread(target=ModelService.del_eq_info, args=(userID, uid))
|
|
asy = threading.Thread(target=ModelService.del_eq_info, args=(userID, uid))
|
|
asy.start()
|
|
asy.start()
|
|
@@ -830,6 +828,71 @@ def deleteInterface(request):
|
|
else:
|
|
else:
|
|
return response.json(0)
|
|
return response.json(0)
|
|
|
|
|
|
|
|
+# 批量删除设备
|
|
|
|
+def batchDeleteInterface(request):
|
|
|
|
+ '''
|
|
|
|
+ 批量删除用户设备
|
|
|
|
+ :param request: token,ids
|
|
|
|
+ :return:
|
|
|
|
+ '''
|
|
|
|
+ response = ResponseObject()
|
|
|
|
+ request.encoding = 'utf-8'
|
|
|
|
+ if request.method == 'POST':
|
|
|
|
+ request_dict = request.POST
|
|
|
|
+ elif request.method == 'GET':
|
|
|
|
+ request_dict = request.GET
|
|
|
|
+ else:
|
|
|
|
+ return response.json(444)
|
|
|
|
+ token = request_dict.get('token', None)
|
|
|
|
+ ids = request_dict.get('ids', None)
|
|
|
|
+ if not ids:
|
|
|
|
+ return response.json(444, 'ids')
|
|
|
|
+ tko = TokenObject(token)
|
|
|
|
+ response.lang = tko.lang
|
|
|
|
+ if tko.code != 0:
|
|
|
|
+ return response.json(tko.code)
|
|
|
|
+ userID = tko.userID
|
|
|
|
+ # userID = request_dict.get('userID', None) # 调试
|
|
|
|
+ # 主用户删除设备全部删除
|
|
|
|
+ if not userID:
|
|
|
|
+ return response.json(309)
|
|
|
|
+ try:
|
|
|
|
+ deviceInfo_qs = Device_Info.objects.filter(userID_id=userID, id__in=ids.split(','))
|
|
|
|
+ if not deviceInfo_qs.exists():
|
|
|
|
+ return response.json(14)
|
|
|
|
+ for deviceInfo in deviceInfo_qs:
|
|
|
|
+ uid = deviceInfo.UID
|
|
|
|
+ asy = threading.Thread(target=ModelService.delete_log,
|
|
|
|
+ args=(CommonService.get_ip_address(request), userID, 'deleteV2', uid))
|
|
|
|
+ asy.start()
|
|
|
|
+ if userID == deviceInfo.vodPrimaryUserID:
|
|
|
|
+ Device_Info.objects.filter(UID=uid).update(vodPrimaryUserID='', vodPrimaryMaster='')
|
|
|
|
+
|
|
|
|
+ deviceInfo.delete()
|
|
|
|
+ if not deviceInfo.isShare:
|
|
|
|
+ # a.主用户删除设备
|
|
|
|
+ # 删除设备影子信息uid_set 外键关联删除设备推送配置信息 uid_push
|
|
|
|
+ up_qs = UidPushModel.objects.filter(uid_set__uid=uid)
|
|
|
|
+ DetectControllerView().do_delete_redis(uid)
|
|
|
|
+ if up_qs.count() > 1:
|
|
|
|
+ UidPushModel.objects.filter(uid_set__uid=uid, userID_id=userID).delete()
|
|
|
|
+ redisObj = RedisObject(db=6, SERVER_HOST='push.dvema.com')
|
|
|
|
+ ykey = '{uid}_redis_qs'.format(uid=uid)
|
|
|
|
+ if ykey:
|
|
|
|
+ redisObj.del_data(key=ykey)
|
|
|
|
+ else:
|
|
|
|
+ up_qs.delete()
|
|
|
|
+ # b.删除次用户设备
|
|
|
|
+ Device_Info.objects.filter(UID=uid, isShare=True, primaryUserID=userID).delete()
|
|
|
|
+ # 异步删除推送消息
|
|
|
|
+ asy = threading.Thread(target=ModelService.del_eq_info, args=(userID, uid))
|
|
|
|
+ asy.start()
|
|
|
|
+ except Exception as e:
|
|
|
|
+ errorInfo = traceback.format_exc()
|
|
|
|
+ print('删除数据库记录错误: %s' % errorInfo)
|
|
|
|
+ return response.json(176, repr(e))
|
|
|
|
+ else:
|
|
|
|
+ return response.json(0)
|
|
|
|
|
|
# 新查询设备字段
|
|
# 新查询设备字段
|
|
def queryInterface(request):
|
|
def queryInterface(request):
|