AlipayMarketingMaterialImageUploadRequest.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.FileItem import FileItem
  5. from alipay.aop.api.constant.ParamConstants import *
  6. class AlipayMarketingMaterialImageUploadRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._file_content = None
  10. self._version = "1.0"
  11. self._terminal_type = None
  12. self._terminal_info = None
  13. self._prod_code = None
  14. self._notify_url = None
  15. self._return_url = None
  16. self._udf_params = None
  17. self._need_encrypt = False
  18. @property
  19. def biz_model(self):
  20. return self._biz_model
  21. @biz_model.setter
  22. def biz_model(self, value):
  23. self._biz_model = value
  24. @property
  25. def file_content(self):
  26. return self._file_content
  27. @file_content.setter
  28. def file_content(self, value):
  29. if not isinstance(value, FileItem):
  30. return
  31. self._file_content = value
  32. @property
  33. def version(self):
  34. return self._version
  35. @version.setter
  36. def version(self, value):
  37. self._version = value
  38. @property
  39. def terminal_type(self):
  40. return self._terminal_type
  41. @terminal_type.setter
  42. def terminal_type(self, value):
  43. self._terminal_type = value
  44. @property
  45. def terminal_info(self):
  46. return self._terminal_info
  47. @terminal_info.setter
  48. def terminal_info(self, value):
  49. self._terminal_info = value
  50. @property
  51. def prod_code(self):
  52. return self._prod_code
  53. @prod_code.setter
  54. def prod_code(self, value):
  55. self._prod_code = value
  56. @property
  57. def notify_url(self):
  58. return self._notify_url
  59. @notify_url.setter
  60. def notify_url(self, value):
  61. self._notify_url = value
  62. @property
  63. def return_url(self):
  64. return self._return_url
  65. @return_url.setter
  66. def return_url(self, value):
  67. self._return_url = value
  68. @property
  69. def udf_params(self):
  70. return self._udf_params
  71. @udf_params.setter
  72. def udf_params(self, value):
  73. if not isinstance(value, dict):
  74. return
  75. self._udf_params = value
  76. @property
  77. def need_encrypt(self):
  78. return self._need_encrypt
  79. @need_encrypt.setter
  80. def need_encrypt(self, value):
  81. self._need_encrypt = value
  82. def add_other_text_param(self, key, value):
  83. if not self.udf_params:
  84. self.udf_params = dict()
  85. self.udf_params[key] = value
  86. def get_params(self):
  87. params = dict()
  88. params[P_METHOD] = 'alipay.marketing.material.image.upload'
  89. params[P_VERSION] = self.version
  90. if self.biz_model:
  91. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  92. if self.terminal_type:
  93. params['terminal_type'] = self.terminal_type
  94. if self.terminal_info:
  95. params['terminal_info'] = self.terminal_info
  96. if self.prod_code:
  97. params['prod_code'] = self.prod_code
  98. if self.notify_url:
  99. params['notify_url'] = self.notify_url
  100. if self.return_url:
  101. params['return_url'] = self.return_url
  102. if self.udf_params:
  103. params.update(self.udf_params)
  104. return params
  105. def get_multipart_params(self):
  106. multipart_params = dict()
  107. if self.file_content:
  108. multipart_params['file_content'] = self.file_content
  109. return multipart_params