EquipmentVersionLimit.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. import time
  4. from django.views import View
  5. from Model.models import EquipmentVersionLimitModel, UidSetModel
  6. from Object.RedisObject import RedisObject
  7. from Object.ResponseObject import ResponseObject
  8. from Object.TokenObject import TokenObject
  9. class EquipmentVersionLimitView(View):
  10. def get(self, request, *args, **kwargs):
  11. request.encoding = 'utf-8'
  12. operation = kwargs.get('operation', None)
  13. request_dict = request.GET
  14. return self.validate(request_dict, operation)
  15. def post(self, request, *args, **kwargs):
  16. request.encoding = 'utf-8'
  17. operation = kwargs.get('operation', None)
  18. request_dict = request.POST
  19. return self.validate(request_dict, operation)
  20. def validate(self, request_dict, operation):
  21. token = request_dict.get('token', None)
  22. token = TokenObject(token)
  23. print('ind')
  24. response = ResponseObject()
  25. if token.code != 0:
  26. return response.json(token.code)
  27. if operation == 'add':
  28. return self.do_add(request_dict, response)
  29. elif operation == 'update':
  30. return self.do_update(request_dict, response)
  31. elif operation == 'delete':
  32. return self.do_delete(request_dict, response)
  33. elif operation == 'uid':
  34. return self.do_query(request_dict, response)
  35. else:
  36. return response.json(404)
  37. def do_add(self, request_dict, response):
  38. type = request_dict.get('type', None)
  39. content = request_dict.get('content', None)
  40. eid = request_dict.get('eid', None)
  41. if type and content and eid:
  42. now_time = int(time.time())
  43. data = EquipmentVersionLimitModel()
  44. data.type = type
  45. data.content = content
  46. data.equipment_version_id = eid
  47. data.status = 1
  48. data.add_time = now_time
  49. data.update_time = now_time
  50. data.save()
  51. return response.json(0)
  52. else:
  53. return response.json(444)
  54. def do_update(self, request_dict, response):
  55. print('in ')
  56. id = request_dict.get('id', None)
  57. content = request_dict.get('content', None)
  58. status = request_dict.get('status', None)
  59. if id is None:
  60. return response.json(444)
  61. update = {}
  62. if content:
  63. update['content'] = content
  64. if status:
  65. update['status'] = status
  66. evl_qs = EquipmentVersionLimitModel.objects.filter(id=id)
  67. if evl_qs.exists():
  68. eid = evl_qs[0].equipment_version_id
  69. evl_qs.update(**update)
  70. redisObject = RedisObject()
  71. redisObject.del_data(key='limit_{eid}'.format(eid=eid))
  72. return response.json(0)
  73. def do_delete(self, request_dict, response):
  74. id = request_dict.get('id', None)
  75. if id is None:
  76. return response.json(0)
  77. evl_qs = EquipmentVersionLimitModel.objects.filter(id=id)
  78. if evl_qs.exists():
  79. eid = evl_qs[0].equipment_version_id
  80. redisObject = RedisObject()
  81. redisObject.del_data(key='limit_{eid}'.format(eid=eid))
  82. evl_qs.delete()
  83. return response.json(0)
  84. def do_query(self, request_dict, response):
  85. uid_qs = UidSetModel.objects.filter()[0:5000].values('uid')
  86. data = []
  87. for uid in uid_qs:
  88. data.append(uid['uid'])
  89. data.append(uid['uid'])
  90. data.append(uid['uid'])
  91. return response.json(0, data)