UserSubscriptionController.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. # -*- encoding: utf-8 -*-
  2. """
  3. @File : UserSubscriptionController.py
  4. @Time : 2024/5/21 16:31
  5. @Author : stephen
  6. @Email : zhangdongming@asj6.wecom.work
  7. @Software: PyCharm
  8. """
  9. from django.http import QueryDict
  10. from django.views import View
  11. from Model.models import Device_User
  12. from Object.ResponseObject import ResponseObject
  13. from Object.YotpoCoreObject import YotpoCoreObject
  14. from Ansjer.config import LOGGER
  15. class UserSubscriptionControllerView(View):
  16. def get(self, request, *args, **kwargs):
  17. request.encoding = 'utf-8'
  18. operation = kwargs.get('operation')
  19. return self.validation(request.GET, request, operation)
  20. def post(self, request, *args, **kwargs):
  21. request.encoding = 'utf-8'
  22. operation = kwargs.get('operation')
  23. return self.validation(request.POST, request, operation)
  24. def delete(self, request, *args, **kwargs):
  25. request.encoding = 'utf-8'
  26. operation = kwargs.get('operation')
  27. delete = QueryDict(request.body)
  28. if not delete:
  29. delete = request.GET
  30. return self.validation(delete, request, operation)
  31. def put(self, request, *args, **kwargs):
  32. request.encoding = 'utf-8'
  33. operation = kwargs.get('operation')
  34. put = QueryDict(request.body)
  35. return self.validation(put, request, operation)
  36. def validation(self, request_dict, request, operation):
  37. response = ResponseObject('cn')
  38. if operation == 'subscription':
  39. return self.subscription(request_dict, response)
  40. @staticmethod
  41. def subscription(request_dict, response):
  42. user_id = request_dict.get('userId', '')
  43. if not user_id:
  44. return response.json(444)
  45. user_qs = Device_User.objects.filter(userID=user_id).values('username', 'userEmail')
  46. if not user_qs.exists():
  47. return response.json(703)
  48. yotpo = YotpoCoreObject()
  49. email = '1920098158@qq.com'
  50. customer = {
  51. "email": email, "first_name": "test", "last_name": "22",
  52. 'address': {
  53. "country_code": 'GB',
  54. }
  55. }
  56. result = yotpo.creat_and_update_customers(customer)
  57. list_id = 8589406
  58. subscribers_result = yotpo.create_subscribers(customer, list_id)
  59. print()
  60. LOGGER.info(f'创建客户:{result},订阅:{subscribers_result}')