AsImg.py 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  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: langer
  7. @software: PyCharm
  8. @DATE: 2019/6/3 17:29
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: User.py
  12. @Contact: chanjunkai@163.com
  13. """
  14. import json
  15. import time
  16. from django.views.generic import TemplateView
  17. from model.models import AsImgModel
  18. from object.ResponseObject import ResponseObject
  19. from object.TokenObject import TokenObject
  20. from service.CommonService import CommonService
  21. class addView(TemplateView):
  22. def post(self, request, *args, **kwargs):
  23. request.encoding = 'utf-8'
  24. request_dict = json.loads(request.body.decode('utf-8'))
  25. return self.validate(request_dict)
  26. def get(self, request, *args, **kwargs):
  27. request.encoding = 'utf-8'
  28. request_dict = request.GET
  29. return self.validate(request_dict)
  30. def validate(self, request_dict):
  31. response = ResponseObject()
  32. token = request_dict.get('token', None)
  33. url = request_dict.get('url', None)
  34. asin = request_dict.get('asin', None)
  35. tko = TokenObject(token)
  36. if tko.code == 0:
  37. img_md5 = CommonService.get_remote_md5_sum(url=url)
  38. nowTime = int(time.time())
  39. create_dict = {
  40. 'asin': asin,
  41. 'md5': img_md5,
  42. 'url': url,
  43. 'addTime': nowTime,
  44. 'updTime': nowTime
  45. }
  46. AsImgModel.objects.create(**create_dict)
  47. return response.json(0)
  48. else:
  49. return response.json(tko.code)
  50. class queryView(TemplateView):
  51. def post(self, request, *args, **kwargs):
  52. request.encoding = 'utf-8'
  53. request_dict = json.loads(request.body.decode('utf-8'))
  54. return self.validate(request_dict)
  55. def get(self, request, *args, **kwargs):
  56. request.encoding = 'utf-8'
  57. request_dict = request.GET
  58. return self.validate(request_dict)
  59. def validate(self, request_dict):
  60. response = ResponseObject()
  61. token = request_dict.get('token', None)
  62. searchAsin = request_dict.get('searchAsin', None)
  63. page = int(request_dict.get('page', None))
  64. line = int(request_dict.get('line', None))
  65. tko = TokenObject(token)
  66. if tko.code == 0:
  67. userID = tko.userID
  68. ai_qs = AsImgModel.objects.filter()
  69. if searchAsin:
  70. ai_qs = ai_qs.filter(asin__contains=searchAsin)
  71. count = ai_qs.count()
  72. ai_qs = ai_qs[(page - 1) * line:page * line]
  73. if ai_qs.exists():
  74. res = list(ai_qs.values('id', 'addTime', 'updTime', 'asin', 'md5', 'url'))
  75. return response.json(0, res, extra={'count': count})
  76. else:
  77. return response.json(0)
  78. else:
  79. return response.json(tko.code)
  80. class updateView(TemplateView):
  81. def post(self, request, *args, **kwargs):
  82. request.encoding = 'utf-8'
  83. request_dict = json.loads(request.body.decode('utf-8'))
  84. return self.validate(request_dict)
  85. def get(self, request, *args, **kwargs):
  86. request.encoding = 'utf-8'
  87. request_dict = request.GET
  88. return self.validate(request_dict)
  89. def validate(self, request_dict):
  90. response = ResponseObject()
  91. token = request_dict.get('token', None)
  92. id = request_dict.get('id', None)
  93. asin = request_dict.get('asin', None)
  94. url = request_dict.get('url', None)
  95. nowTime = int(time.time())
  96. tko = TokenObject(token)
  97. if tko.code == 0:
  98. ai_qs = AsImgModel.objects.filter(id=id)
  99. update_dict = {'updTime': nowTime}
  100. if asin:
  101. update_dict['asin'] = asin
  102. if url:
  103. update_dict['url'] = url
  104. img_md5 = CommonService.get_remote_md5_sum(url=url)
  105. update_dict['md5'] = img_md5
  106. ai_qs.update(**update_dict)
  107. return response.json(0)
  108. else:
  109. return response.json(tko.code)
  110. class deleteView(TemplateView):
  111. def post(self, request, *args, **kwargs):
  112. request.encoding = 'utf-8'
  113. request_dict = json.loads(request.body.decode('utf-8'))
  114. return self.validate(request_dict)
  115. def get(self, request, *args, **kwargs):
  116. request.encoding = 'utf-8'
  117. request_dict = request.GET
  118. return self.validate(request_dict)
  119. def validate(self, request_dict):
  120. response = ResponseObject()
  121. token = request_dict.get('token', None)
  122. tko = TokenObject(token)
  123. if tko.code == 0:
  124. id = request_dict.get('id', None)
  125. if id:
  126. AsImgModel.objects.filter(id=id).delete()
  127. return response.json(0)
  128. else:
  129. return response.json(0)
  130. else:
  131. return response.json(tko.code)