VersionControl.py 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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: 2020/3/2 10:45
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: VersionControl.py
  12. @Contact: pzb3076@163.com
  13. """
  14. import time
  15. from django.views.generic.base import View
  16. from Model.models import versionControlModel
  17. from Object.ResponseObject import ResponseObject
  18. from Object.TokenObject import TokenObject
  19. from Service.ModelService import ModelService
  20. class VersionControlView(View):
  21. def get(self, request, *args, **kwargs):
  22. request.encoding = 'utf-8'
  23. operation = kwargs.get('operation', None)
  24. return self.validation(request.GET, operation)
  25. def post(self, request, *args, **kwargs):
  26. request.encoding = 'utf-8'
  27. operation = kwargs.get('operation', None)
  28. return self.validation(request.POST, operation)
  29. def validation(self, request_dict, operation):
  30. response = ResponseObject()
  31. token = request_dict.get('token', None)
  32. tko = TokenObject(token)
  33. if tko.code == 0:
  34. userID = tko.userID
  35. if operation == 'query':
  36. return self.do_query(userID, request_dict, response)
  37. elif operation == 'update':
  38. return self.do_update(userID, request_dict, response)
  39. else:
  40. return response.json(414)
  41. else:
  42. return response.json(tko.code)
  43. def do_query(self, userID, request_dict, response):
  44. # 查询和添加权限
  45. own_perm = ModelService.check_perm(userID, 40)
  46. if not own_perm:
  47. return response.json(404)
  48. appBundleId = request_dict.get('appBundleId', None)
  49. sm_qs = versionControlModel.objects.filter(appBundleId=appBundleId)
  50. count = sm_qs.count()
  51. nowTime = int(time.time())
  52. if count>0:
  53. sm_qs = sm_qs.values('id', 'appBundleId', 'content', 'addTime', 'updTime')
  54. return response.json(0, {'data': list(sm_qs), 'count': count})
  55. else:
  56. versionControlModel.objects.create(
  57. appBundleId=appBundleId,
  58. addTime=nowTime,
  59. updTime=nowTime
  60. )
  61. return response.json(0)
  62. def do_update(self, userID, request_dict, response):
  63. # 修改的权限
  64. own_perm = ModelService.check_perm(userID, 50)
  65. if not own_perm:
  66. return response.json(404)
  67. appBundleId = request_dict.get('appBundleId', None)
  68. content = request_dict.get('content', None)
  69. nowTime = int(time.time())
  70. sm_qs = versionControlModel.objects.filter(appBundleId=appBundleId)
  71. if sm_qs.exists():
  72. sm_qs.update(content=content, updTime=nowTime)
  73. return response.json(0)
  74. else:
  75. return response.json(173)