CloudTest.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # -*- coding: utf-8 -*-
  2. """
  3. @Time : 2020/12/16 8:44
  4. @Auth : Locky
  5. @File :CloudTest.py
  6. @IDE :PyCharm
  7. """
  8. from django.views.generic.base import View
  9. from Model.models import Device_Info
  10. from Object.ResponseObject import ResponseObject
  11. from Object.TokenObject import TokenObject
  12. class cloudTestView(View):
  13. def get(self, request, *args, **kwargs):
  14. request.encoding = 'utf-8'
  15. operation = kwargs.get('operation')
  16. return self.validation(request.GET, request, operation)
  17. def post(self, request, *args, **kwargs):
  18. request.encoding = 'utf-8'
  19. operation = kwargs.get('operation')
  20. return self.validation(request.POST, request, operation)
  21. def validation(self, request_dict, request, operation):
  22. response = ResponseObject()
  23. if operation is None:
  24. return response.json(444, 'error path')
  25. else:
  26. token = request_dict.get('token', None)
  27. # 设备主键uid
  28. tko = TokenObject(token)
  29. response.lang = tko.lang
  30. if tko.code != 0:
  31. return response.json(tko.code)
  32. userID = tko.userID
  33. if operation == 'deviceTransfer':
  34. return self.deviceTransfer(request_dict, response)
  35. def deviceTransfer(self, request_dict, response):
  36. # 设备转移
  37. oldUserID = request_dict.get("oldUserID", None)
  38. newUserID = request_dict.get("newUserID", None)
  39. uid = request_dict.get('uid', None)
  40. # 查询设备是否存在且支持云存功能
  41. oldUserID_device_qs = Device_Info.objects.filter(userID_id=oldUserID, UID=uid, isVod=1, isExist=1)
  42. newUserID_device_qs = Device_Info.objects.filter(userID_id=newUserID, isVod=1, isExist=1)
  43. try:
  44. if oldUserID_device_qs[0] and newUserID_device_qs[0]:
  45. # 更新userID_id
  46. oldUserID_device_qs.update(userID_id=newUserID)
  47. except Exception as e:
  48. # print('更新失败')
  49. return response.json(500, repr(e))
  50. else:
  51. return response.json(0)