LanguageController.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. import time
  4. from django.views import View
  5. from Model.models import LanguageModel
  6. from Object.uidManageResponseObject import uidManageResponseObject
  7. from Object.TokenObject import TokenObject
  8. from Service.ModelService import ModelService
  9. class LanguageView(View):
  10. def get(self, request, *args, **kwargs):
  11. request.encoding = 'utf-8'
  12. operation = kwargs.get('operation', None)
  13. request_dict = request.GET
  14. return self.validate(request_dict, operation)
  15. def post(self, request, *args, **kwargs):
  16. request.encoding = 'utf-8'
  17. operation = kwargs.get('operation', None)
  18. request_dict = request.POST
  19. return self.validate(request_dict, operation)
  20. def validate(self, request_dict, operation):
  21. token = TokenObject(request_dict.get('token', None))
  22. response = uidManageResponseObject()
  23. if token.code != 0:
  24. return response.json(token.code)
  25. if operation == 'add':
  26. return self.do_add(token.userID, request_dict, response)
  27. elif operation == 'update':
  28. return self.do_update(token.userID, request_dict, response)
  29. elif operation == 'getLanguage':
  30. return self.do_get(request_dict, response)
  31. else:
  32. return response.json(404)
  33. def do_add(self, userID, request_dict, response):
  34. # perm = ModelService.check_perm_uid_manage(userID, 0)
  35. # if not perm:
  36. # return response.json(309)
  37. lang = request_dict.get('lang', None)
  38. lang_youdao = request_dict.get('lang_youdao', None)
  39. if lang:
  40. now_time = int(time.time())
  41. language = LanguageModel(lang=lang, lang_youdao=lang_youdao, add_time=now_time, update_time=now_time)
  42. language.save()
  43. return response.json(0)
  44. else:
  45. return response.json(444)
  46. def do_update(self, userID, request_dict, response):
  47. # perm = ModelService.check_perm_uid_manage(userID, 0)
  48. # if not perm:
  49. # return response.json(309)
  50. id = request_dict.get('id', None)
  51. if id:
  52. lang = request_dict.get('lang', None)
  53. lang_youdao = request_dict.get('lang_youdao', None)
  54. update = {
  55. }
  56. if lang:
  57. update['lang'] = lang
  58. if lang_youdao:
  59. update['lang_youdao'] = lang_youdao
  60. LanguageModel.objects.filter(id=id).update(**update)
  61. return response.json(0)
  62. else:
  63. return response.json(444)
  64. def do_get(self, request_dict, response):
  65. type = request_dict.get('type', None)
  66. if type:
  67. lang_qs = LanguageModel.objects.filter(lang=type)
  68. if lang_qs.exists():
  69. lang = lang_qs.values('id', 'lang', 'lang_youdao')
  70. return response.json(0, lang)
  71. else:
  72. return response.json(173)
  73. else:
  74. return response.json(444)