SkuSuitName.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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 user_qs[0].role_id == "admin":
  39. if operation == 'add':
  40. return self.do_add(request_dict, response)
  41. elif operation == 'update':
  42. return self.do_update(request_dict, response)
  43. elif operation == 'delete':
  44. return self.do_delete(request_dict, response)
  45. elif operation == 'query':
  46. return self.do_query(request_dict, response, userID)
  47. elif operation == 'query_all':
  48. return self.do_query_all(request_dict, response, userID)
  49. else:
  50. return response.json(414)
  51. else:
  52. if operation == 'query':
  53. return self.do_query(request_dict, response, userID)
  54. elif operation == 'query_all':
  55. return self.do_query_all(request_dict, response, userID)
  56. else:
  57. return response.json(414)
  58. if not user_qs.exists():
  59. return response.json(403)
  60. else:
  61. return response.json(tko.code)
  62. def do_add(self, request_dict, response):
  63. name = request_dict.get('name', None)
  64. if name:
  65. nowTime = int(time.time())
  66. create_dict = {
  67. 'suitName': name,
  68. 'addTime': nowTime,
  69. 'updTime': nowTime
  70. }
  71. try:
  72. skuSuitModel.objects.create(**create_dict)
  73. except Exception as e:
  74. return response.json(404, repr(e))
  75. else:
  76. sr_qs = skuSuitModel.objects.filter(suitName=name).values('suitName', 'id')
  77. return response.json(0, list(sr_qs))
  78. else:
  79. return response.json(414)
  80. def do_update(self, request_dict, response):
  81. name = request_dict.get('name', None)
  82. id = request_dict.get('id', None)
  83. nowTime = int(time.time())
  84. update_dict = {
  85. 'suitName': name,
  86. 'updTime': nowTime
  87. }
  88. try:
  89. skuSuitModel.objects.filter(id=id).update(**update_dict)
  90. except Exception as e:
  91. return response.json(404, repr(e))
  92. else:
  93. return response.json(0)
  94. def do_delete(self, request_dict, response):
  95. id = request_dict.get('id', None)
  96. try:
  97. skuSuitModel.objects.filter(id=id).delete()
  98. except Exception as e:
  99. return response.json(404, repr(e))
  100. else:
  101. return response.json(0)
  102. def do_query(self, request_dict, response, userID):
  103. user_qs = UserModel.objects.filter(id=userID)
  104. if not user_qs.exists():
  105. return response.json(403)
  106. la_qs = skuSuitModel.objects.filter().values('suitName', 'id').order_by("id")
  107. return response.json(0, list(la_qs))
  108. def do_query_all(self, request_dict, response, userID):
  109. user_qs = UserModel.objects.filter(id=userID)
  110. if not user_qs.exists():
  111. return response.json(403)
  112. la_qs = skuSuitModel.objects.filter().values('suitName', 'id').order_by("id")
  113. for lk in la_qs:
  114. try:
  115. sr_qs = skuRuleModel.objects.filter(rs_id=lk['id']).values('ruleName', 'id').order_by("id")
  116. lk['sr_qs'] = list(sr_qs)
  117. for SR in sr_qs:
  118. try:
  119. cr_qs = skuConditionModel.objects.filter(cr_id=SR['id']).values('numName','conditionName', 'id').order_by("id")
  120. SR['cr_qs'] = list(cr_qs)
  121. except Exception:
  122. pass
  123. except Exception:
  124. pass
  125. return response.json(0, list(la_qs))