OssCrd.py 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. """
  4. @Copyright (C) ansjer cop Video Technology Co.,Ltd.All rights reserved.
  5. @AUTHOR: ASJRD019
  6. @NAME: AnsjerFormal
  7. @software: PyCharm
  8. @DATE: 2019/12/17 15:50
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: AliPayObject.py
  12. @Contact: pzb3076@163.com
  13. """
  14. import re
  15. import time
  16. import simplejson as json
  17. from django.utils.decorators import method_decorator
  18. from django.views.decorators.csrf import csrf_exempt
  19. from django.views.generic.base import View
  20. from Model.models import UID_Bucket, UID_Preview, OssCrdModel
  21. from Object.ResponseObject import ResponseObject
  22. from Object.TokenObject import TokenObject
  23. from Service.CommonService import CommonService
  24. from Service.ModelService import ModelService
  25. from django.conf import settings
  26. OSS_STS_ACCESS_KEY = settings.OSS_STS_ACCESS_KEY
  27. OSS_STS_ACCESS_SECRET = settings.OSS_STS_ACCESS_SECRET
  28. # 设备证书
  29. class OssCrdView(View):
  30. @method_decorator(csrf_exempt)
  31. def dispatch(self, *args, **kwargs):
  32. return super(OssCrdView, self).dispatch(*args, **kwargs)
  33. def get(self, request, *args, **kwargs):
  34. request.encoding = 'utf-8'
  35. operation = kwargs.get('operation')
  36. return self.validation(request.GET, request, operation)
  37. def post(self, request, *args, **kwargs):
  38. request.encoding = 'utf-8'
  39. operation = kwargs.get('operation')
  40. return self.validation(request.POST, request, operation)
  41. def validation(self, request_dict, request, operation):
  42. response = ResponseObject()
  43. if operation is None:
  44. return response.json(444, 'error path')
  45. token = request_dict.get('token', None)
  46. # 设备主键uid
  47. tko = TokenObject(token)
  48. response.lang = tko.lang
  49. if tko.code != 0:
  50. return response.json(tko.code)
  51. userID = tko.userID
  52. if operation == 'adminDelete':
  53. return self.do_admin_delete(request_dict, userID, response)
  54. elif operation == 'adminQuery':
  55. return self.do_admin_query(request_dict, userID, response)
  56. else:
  57. return response.json(444, 'error path')
  58. # 管理员删除
  59. def do_admin_delete(self, request_dict, userID, response):
  60. own_perm = ModelService.check_perm(userID, 10)
  61. if own_perm is True:
  62. id = request_dict.getlist('id', None)
  63. uid_user_qs = OssCrdModel.objects.filter(id__in=id)
  64. if uid_user_qs.exists():
  65. uid_user_qs.delete()
  66. return response.json(0)
  67. else:
  68. return response.json(173)
  69. else:
  70. return response.json(404)
  71. # 管理员查询接口
  72. def do_admin_query(self, request_dict, userID, response):
  73. own_perm = ModelService.check_perm(userID, 20)
  74. if own_perm is True:
  75. page = request_dict.get('page', None)
  76. line = request_dict.get('line', None)
  77. page = int(page)
  78. line = int(line)
  79. deviceContent = request_dict.get('content', None)
  80. if deviceContent:
  81. try:
  82. searchCondition = json.loads(deviceContent)
  83. except Exception as e:
  84. return response.json(10, repr(e))
  85. else:
  86. kwargs = CommonService.get_kwargs(data=searchCondition)
  87. omqs = OssCrdModel.objects.filter(**kwargs).order_by('-id')
  88. if not omqs.exists():
  89. return response.json(0, [])
  90. count = omqs.count()
  91. order_ql = omqs[(page - 1) * line:page * line]
  92. uidset_json = CommonService.qs_to_dict(order_ql)
  93. uidset_json['count'] = count
  94. return response.json(0, uidset_json)
  95. else:
  96. omqs = OssCrdModel.objects.all().order_by('-id')
  97. if not omqs.exists():
  98. return response.json(0, [])
  99. count = omqs.count()
  100. order_ql = omqs[(page - 1) * line:page * line]
  101. uidset_json = CommonService.qs_to_dict(order_ql)
  102. uidset_json['count'] = count
  103. return response.json(0, uidset_json)
  104. else:
  105. return response.json(404)