EmailUserController.py 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import boto3
  2. from boto3 import Session
  3. from django.views import View
  4. from model.models import EmailSortModel, EmailConfigModel
  5. from Utils.NeteaseMail import NeteaseMail
  6. from django.views.generic import TemplateView
  7. from object.ResponseObject import ResponseObject
  8. from model.models import EmailConfigModel
  9. class EmailUserView(TemplateView):
  10. def get(self, request, *args, **kwargs):
  11. request.encoding = 'utf-8'
  12. operation = kwargs.get('operation')
  13. return self.validation(request.GET, request, operation)
  14. def post(self, request, *args, **kwargs):
  15. request.encoding = 'utf-8'
  16. operation = kwargs.get('operation')
  17. return self.validation(request.POST, request, operation)
  18. def validation(self, request_dict, request, operation):
  19. response = ResponseObject()
  20. if operation is None:
  21. return response.json(444, 'error path')
  22. else:
  23. if operation == 'do_add':
  24. return self.do_add(request_dict, response)
  25. elif operation == 'do_delete':
  26. return self.do_delete(request_dict, response)
  27. elif operation == 'do_update':
  28. return self.do_update(request_dict, response)
  29. elif operation == 'do_query':
  30. return self.do_query(request_dict, response)
  31. def do_add(self, request_dict, response):
  32. fromaddr = request_dict.get('fromaddr', None)
  33. password = request_dict.get('password', None)
  34. emailservername = request_dict.get('emailservername', None)
  35. emailserver = request_dict.get('emailserver', None)
  36. emailserverport = request_dict.get('emailserverport', None)
  37. emailserverportagreement = request_dict.get('emailserverportagreement', None)
  38. emailtag = request_dict.get('emailtag', None)
  39. emailproject_id = request_dict.get('emailproject_id', None)
  40. emailsort_id = request_dict.get('emailsort_id', None)
  41. EmailConfigModel.objects.create(fromaddr=fromaddr, password=password, emailservername=emailservername,
  42. emailserver=emailserver, emailserverport=emailserverport,
  43. emailserverportagreement=emailserverportagreement,
  44. emailtag=emailtag, emailproject_id=emailproject_id,
  45. emailsort_id=emailsort_id)
  46. return response.json(0)
  47. def do_delete(self, request_dict, response):
  48. emailid = request_dict.get('emailid', None)
  49. if emailid:
  50. EmailConfigModel.objects.filter(emailid=emailid).delete()
  51. return response.json(0)
  52. else:
  53. return response.json(444, 'id does not exist')
  54. def do_update(self, request_dict, response):
  55. emailid = request_dict.get('emailid', None)
  56. fromaddr = request_dict.get('fromaddr', None)
  57. password = request_dict.get('password', None)
  58. emailservername = request_dict.get('emailservername', None)
  59. emailserver = request_dict.get('emailserver', None)
  60. emailserverport = request_dict.get('emailserverport', None)
  61. emailserverportagreement = request_dict.get('emailserverportagreement', None)
  62. emailtag = request_dict.get('emailtag', None)
  63. emailproject_id = request_dict.get('emailproject_id', None)
  64. emailsort_id = request_dict.get('emailsort_id', None)
  65. EmailConfigModel.objects.filter(emailid=emailid).update(
  66. fromaddr=fromaddr, password=password,
  67. emailservername=emailservername,
  68. emailserver=emailserver, emailserverport=emailserverport,
  69. emailserverportagreement=emailserverportagreement,
  70. emailtag=emailtag, emailproject_id=emailproject_id,
  71. emailsort_id=emailsort_id)
  72. return response.json(0)
  73. def do_query(self, request_dict, response):
  74. a = EmailConfigModel.objects.all()
  75. b = {}
  76. c = []
  77. for i in a:
  78. b['emailid'] = i.emailid
  79. b['fromaddr'] = i.fromaddr
  80. b['password'] = i.password
  81. b['emailservername'] = i.emailservername
  82. b['emailserver'] = i.emailserver
  83. b['emailserverport'] = i.emailserverport
  84. b['emailserverportagreement'] = i.emailserverportagreement
  85. b['emailtag'] = i.emailtag
  86. b['emailproject_id'] = i.emailproject_id
  87. b['emailsort_id'] = i.emailsort_id
  88. c.append(b.copy())
  89. return response.json(0, c)