SkuRuleName.py 4.5 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,skuSuitModel,skuRuleModel,skuConditionModel
  18. import time
  19. from object.TokenObject import TokenObject
  20. class skuRuleView(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. rs_id = request_dict.get('id', None)
  57. if name:
  58. nowTime = int(time.time())
  59. create_dict = {
  60. 'rs_id': rs_id,
  61. 'ruleName': name,
  62. 'addTime': nowTime,
  63. 'updTime': nowTime
  64. }
  65. try:
  66. skuRuleModel.objects.create(**create_dict)
  67. except Exception as e:
  68. return response.json(404, repr(e))
  69. else:
  70. sr_qs = skuRuleModel.objects.filter(ruleName=name).values('ruleName', 'id')
  71. return response.json(0, list(sr_qs))
  72. else:
  73. return response.json(414)
  74. def do_update(self, request_dict, response):
  75. name = request_dict.get('name', None)
  76. id = request_dict.get('id', None)
  77. nowTime = int(time.time())
  78. update_dict = {
  79. 'ruleName': name,
  80. 'updTime': nowTime
  81. }
  82. try:
  83. skuRuleModel.objects.filter(id=id).update(**update_dict)
  84. except Exception as e:
  85. return response.json(404, repr(e))
  86. else:
  87. return response.json(0)
  88. def do_delete(self, request_dict, response):
  89. id = request_dict.get('id', None)
  90. try:
  91. skuConditionModel.objects.filter(cr__id=id).delete()
  92. skuRuleModel.objects.filter(id=id).delete()
  93. except Exception as e:
  94. return response.json(404, repr(e))
  95. else:
  96. return response.json(0)
  97. def do_query(self, request_dict, response, userID):
  98. user_qs = UserModel.objects.filter(id=userID)
  99. if not user_qs.exists():
  100. return response.json(403)
  101. la_qs = skuRuleModel.objects.filter().values('ruleName', 'id')
  102. return response.json(0, list(la_qs))
  103. def do_query_all(self, request_dict, response, userID):
  104. user_qs = UserModel.objects.filter(id=userID)
  105. id = request_dict.get('id', None)
  106. if not user_qs.exists():
  107. return response.json(403)
  108. sr_qs = skuRuleModel.objects.filter(rs__id=id).values('ruleName', 'id').order_by("id")
  109. for SR in sr_qs:
  110. try:
  111. cr_qs = skuConditionModel.objects.filter(cr_id=SR['id']).values('numName', 'conditionName',
  112. 'id').order_by("id")
  113. SR['cr_qs'] = list(cr_qs)
  114. except Exception:
  115. pass
  116. return response.json(0, list(sr_qs))