AlgorithmShopManageController.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. # -*- encoding: utf-8 -*-
  2. """
  3. @File : AlgorithmShopManageController.py
  4. @Time : 2023/7/25 9:48
  5. @Author : stephen
  6. @Email : zhangdongming@asj6.wecom.work
  7. @Software: PyCharm
  8. """
  9. from django.views import View
  10. from Model.models import DeviceAlgorithmExplain
  11. from Object.ResponseObject import ResponseObject
  12. from Object.TokenObject import TokenObject
  13. class AlgorithmShopManageView(View):
  14. def get(self, request, *args, **kwargs):
  15. request.encoding = 'utf-8'
  16. operation = kwargs.get('operation')
  17. api_version = kwargs.get('apiVersion')
  18. return self.validation(request.GET, request, operation, api_version)
  19. def post(self, request, *args, **kwargs):
  20. request.encoding = 'utf-8'
  21. operation = kwargs.get('operation')
  22. api_version = kwargs.get('apiVersion')
  23. return self.validation(request.POST, request, operation, api_version)
  24. def validation(self, request_dict, request, operation, api_version='v1'):
  25. token = TokenObject(request.META.get('HTTP_AUTHORIZATION'))
  26. response = ResponseObject()
  27. if token.code != 0:
  28. return response.json(token.code)
  29. ''' 后台管理'''
  30. response = ResponseObject(returntype='pc')
  31. if operation == 'save':
  32. pass
  33. if operation == 'update':
  34. return self.algorithm_update(request_dict, response, api_version)
  35. else:
  36. return response.json(404)
  37. @classmethod
  38. def algorithm_add(cls, request_dict, response):
  39. pass
  40. return response.json(0)
  41. @classmethod
  42. def algorithm_update(cls, request_dict, response, api_version):
  43. try:
  44. a_id = request_dict.get('aId', None)
  45. lang = request_dict.get('lang', None)
  46. title = request_dict.get('title', None)
  47. subtitle = request_dict.get('subtitle', None)
  48. introduction = request_dict.get('introduction', None)
  49. install_explain = request_dict.get('installExplain', None)
  50. concerning = request_dict.get('concerning', None)
  51. risk_warning = request_dict.get('riskWarning', None)
  52. if not all([a_id, lang]):
  53. return response.json()
  54. a_explain_qs = DeviceAlgorithmExplain.objects.filter(algorithm_type_id=int(a_id), lang=lang)
  55. if not a_explain_qs.exists():
  56. return response.json(173)
  57. data = {}
  58. if title:
  59. data['title'] = title
  60. if subtitle:
  61. data['subtitle'] = subtitle
  62. if introduction:
  63. data['introduction'] = introduction
  64. if install_explain:
  65. data['install_explain'] = install_explain
  66. if concerning:
  67. data['concerning'] = concerning
  68. if risk_warning:
  69. data['risk_warning'] = risk_warning
  70. a_explain_qs.update(**data)
  71. return response.json(0)
  72. except Exception as e:
  73. print(repr(e))
  74. return response.json(500)