SkuSuitName.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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: langer
  7. @software: PyCharm
  8. @DATE: 2019/11/14 11:44
  9. @Version: python3.6
  10. @MODIFY DECORD:ansjer dev
  11. @file: LangArea.py
  12. @Contact: pzb3076@163.com
  13. """
  14. import json
  15. from django.views.generic import TemplateView
  16. from object.ResponseObject import ResponseObject
  17. from model.models import UserModel, skuConditionModel, skuRuleModel,skuSuitModel
  18. import time
  19. from object.TokenObject import TokenObject
  20. class skuSuitView(TemplateView):
  21. def post(self, request, *args, **kwargs):
  22. request.encoding = 'utf-8'
  23. operation = kwargs.get('operation', None)
  24. request_dict = json.loads(request.body.decode('utf-8'))
  25. return self.validate(request_dict, operation)
  26. def get(self, request, *args, **kwargs):
  27. request.encoding = 'utf-8'
  28. request_dict = request.GET
  29. operation = kwargs.get('operation', None)
  30. return self.validate(request_dict, operation)
  31. def validate(self, request_dict, operation):
  32. response = ResponseObject()
  33. token = request_dict.get('token', None)
  34. tko = TokenObject(token)
  35. if tko.code == 0:
  36. userID = tko.userID
  37. user_qs = UserModel.objects.filter(id=userID)
  38. if not user_qs.exists():
  39. return response.json(403)
  40. if operation == 'add':
  41. return self.do_add(request_dict, response)
  42. elif operation == 'update':
  43. return self.do_update(request_dict, response)
  44. elif operation == 'delete':
  45. return self.do_delete(request_dict, response)
  46. elif operation == 'query':
  47. return self.do_query(request_dict, response, userID)
  48. elif operation == 'query_all':
  49. return self.do_query_all(request_dict, response, userID)
  50. else:
  51. return response.json(414)
  52. else:
  53. return response.json(tko.code)
  54. def do_add(self, request_dict, response):
  55. name = request_dict.get('name', None)
  56. if name:
  57. nowTime = int(time.time())
  58. create_dict = {
  59. 'suitName': name,
  60. 'addTime': nowTime,
  61. 'updTime': nowTime
  62. }
  63. try:
  64. skuSuitModel.objects.create(**create_dict)
  65. except Exception as e:
  66. return response.json(404, repr(e))
  67. else:
  68. sr_qs = skuSuitModel.objects.filter(suitName=name).values('suitName', 'id')
  69. return response.json(0, list(sr_qs))
  70. else:
  71. return response.json(414)
  72. def do_update(self, request_dict, response):
  73. name = request_dict.get('name', None)
  74. id = request_dict.get('id', None)
  75. nowTime = int(time.time())
  76. update_dict = {
  77. 'suitName': name,
  78. 'updTime': nowTime
  79. }
  80. try:
  81. skuSuitModel.objects.filter(id=id).update(**update_dict)
  82. except Exception as e:
  83. return response.json(404, repr(e))
  84. else:
  85. return response.json(0)
  86. def do_delete(self, request_dict, response):
  87. id = request_dict.get('id', None)
  88. try:
  89. skuSuitModel.objects.filter(id=id).delete()
  90. except Exception as e:
  91. return response.json(404, repr(e))
  92. else:
  93. return response.json(0)
  94. def do_query(self, request_dict, response, userID):
  95. user_qs = UserModel.objects.filter(id=userID)
  96. if not user_qs.exists():
  97. return response.json(403)
  98. la_qs = skuSuitModel.objects.filter().values('suitName', 'id').order_by("id")
  99. return response.json(0, list(la_qs))
  100. def do_query_all(self, request_dict, response, userID):
  101. user_qs = UserModel.objects.filter(id=userID)
  102. if not user_qs.exists():
  103. return response.json(403)
  104. la_qs = skuSuitModel.objects.filter().values('suitName', 'id').order_by("id")
  105. for lk in la_qs:
  106. try:
  107. sr_qs = skuRuleModel.objects.filter(rs_id=lk['id']).values('ruleName', 'id').order_by("id")
  108. lk['sr_qs'] = list(sr_qs)
  109. for SR in sr_qs:
  110. try:
  111. cr_qs = skuConditionModel.objects.filter(cr_id=SR['id']).values('numName','conditionName', 'id').order_by("id")
  112. SR['cr_qs'] = list(cr_qs)
  113. except Exception:
  114. pass
  115. except Exception:
  116. pass
  117. return response.json(0, list(la_qs))