VodBucket.py 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD018
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2018/12/15 15:30
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: VodBucket.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. import json
  15. import time
  16. from django.utils.decorators import method_decorator
  17. from django.views.decorators.csrf import csrf_exempt
  18. from django.views.generic.base import View
  19. from Model.models import VodBucketModel
  20. from Object.ResponseObject import ResponseObject
  21. from Object.TokenObject import TokenObject
  22. from Service.ModelService import ModelService
  23. class VodBucketView(View):
  24. @method_decorator(csrf_exempt)
  25. def dispatch(self, *args, **kwargs):
  26. return super(VodBucketView, self).dispatch(*args, **kwargs)
  27. def get(self, request, *args, **kwargs):
  28. request.encoding = 'utf-8'
  29. operation = kwargs.get('operation')
  30. return self.validation(request.GET, operation)
  31. def post(self, request, *args, **kwargs):
  32. request.encoding = 'utf-8'
  33. operation = kwargs.get('operation')
  34. request_dict = json.loads(request.body.decode('utf-8'))
  35. return self.validation(request_dict, operation)
  36. def validation(self, request_dict, operation):
  37. response = ResponseObject()
  38. if operation is None:
  39. return response.json(444, 'error path')
  40. token = request_dict.get('token', None)
  41. # 设备主键uid
  42. tko = TokenObject(token)
  43. tko.valid()
  44. response.lang = tko.lang
  45. if tko.code != 0:
  46. return response.json(tko.code)
  47. userID = tko.userID
  48. own_perm = ModelService.check_permission(userID, 50)
  49. if not own_perm:
  50. return response.json(404)
  51. if operation == 'add':
  52. return self.do_add(request_dict, response)
  53. elif operation == 'delete':
  54. return self.do_delete(request_dict, response)
  55. elif operation == 'update':
  56. return self.do_update(request_dict, response)
  57. elif operation == 'query':
  58. return self.do_query(response)
  59. else:
  60. return response.json(414)
  61. def do_add(self, request_dict, response):
  62. request_dict.pop('token')
  63. nowTime = int(time.time())
  64. try:
  65. VodBucketModel.objects.create(addTime=nowTime, updTime=nowTime, **request_dict)
  66. except Exception as e:
  67. return response.json(10, repr(e))
  68. res = list(VodBucketModel.objects.values())
  69. return response.json(0, res)
  70. def do_query(self, response):
  71. res = list(VodBucketModel.objects.values())
  72. return response.json(0, res)
  73. def do_update(self, request_dict, response):
  74. request_dict.pop('token')
  75. nowTime = int(time.time())
  76. id = request_dict.get('id', None)
  77. try:
  78. VodBucketModel.objects.filter(id=id).update(updTime=nowTime, **request_dict)
  79. except Exception as e:
  80. return response.json(10, repr(e))
  81. # res = list(VodBucketModel.objects.values())
  82. return response.json(0, {'updTime': nowTime})
  83. def do_delete(self, request, response):
  84. id = request.get('id', None)
  85. try:
  86. VodBucketModel.objects.filter(id=id).delete()
  87. except Exception as e:
  88. return response.json(10, repr(e))
  89. res = list(VodBucketModel.objects.values())
  90. return response.json(0, res)