AlipayOfflineMarketingVoucherCodeUploadRequest.py 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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 AlipayOfflineMarketingVoucherCodeUploadRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._extend_params = None
  10. self._file_charset = None
  11. self._file_content = None
  12. self._version = "1.0"
  13. self._terminal_type = None
  14. self._terminal_info = None
  15. self._prod_code = None
  16. self._notify_url = None
  17. self._return_url = None
  18. self._udf_params = None
  19. self._need_encrypt = False
  20. @property
  21. def biz_model(self):
  22. return self._biz_model
  23. @biz_model.setter
  24. def biz_model(self, value):
  25. self._biz_model = value
  26. @property
  27. def extend_params(self):
  28. return self._extend_params
  29. @extend_params.setter
  30. def extend_params(self, value):
  31. self._extend_params = value
  32. @property
  33. def file_charset(self):
  34. return self._file_charset
  35. @file_charset.setter
  36. def file_charset(self, value):
  37. self._file_charset = value
  38. @property
  39. def file_content(self):
  40. return self._file_content
  41. @file_content.setter
  42. def file_content(self, value):
  43. if not isinstance(value, FileItem):
  44. return
  45. self._file_content = value
  46. @property
  47. def version(self):
  48. return self._version
  49. @version.setter
  50. def version(self, value):
  51. self._version = value
  52. @property
  53. def terminal_type(self):
  54. return self._terminal_type
  55. @terminal_type.setter
  56. def terminal_type(self, value):
  57. self._terminal_type = value
  58. @property
  59. def terminal_info(self):
  60. return self._terminal_info
  61. @terminal_info.setter
  62. def terminal_info(self, value):
  63. self._terminal_info = value
  64. @property
  65. def prod_code(self):
  66. return self._prod_code
  67. @prod_code.setter
  68. def prod_code(self, value):
  69. self._prod_code = value
  70. @property
  71. def notify_url(self):
  72. return self._notify_url
  73. @notify_url.setter
  74. def notify_url(self, value):
  75. self._notify_url = value
  76. @property
  77. def return_url(self):
  78. return self._return_url
  79. @return_url.setter
  80. def return_url(self, value):
  81. self._return_url = value
  82. @property
  83. def udf_params(self):
  84. return self._udf_params
  85. @udf_params.setter
  86. def udf_params(self, value):
  87. if not isinstance(value, dict):
  88. return
  89. self._udf_params = value
  90. @property
  91. def need_encrypt(self):
  92. return self._need_encrypt
  93. @need_encrypt.setter
  94. def need_encrypt(self, value):
  95. self._need_encrypt = value
  96. def add_other_text_param(self, key, value):
  97. if not self.udf_params:
  98. self.udf_params = dict()
  99. self.udf_params[key] = value
  100. def get_params(self):
  101. params = dict()
  102. params[P_METHOD] = 'alipay.offline.marketing.voucher.code.upload'
  103. params[P_VERSION] = self.version
  104. if self.biz_model:
  105. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  106. if self.extend_params:
  107. if hasattr(self.extend_params, 'to_alipay_dict'):
  108. params['extend_params'] = json.dumps(obj=self.extend_params.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  109. else:
  110. params['extend_params'] = self.extend_params
  111. if self.file_charset:
  112. if hasattr(self.file_charset, 'to_alipay_dict'):
  113. params['file_charset'] = json.dumps(obj=self.file_charset.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  114. else:
  115. params['file_charset'] = self.file_charset
  116. if self.terminal_type:
  117. params['terminal_type'] = self.terminal_type
  118. if self.terminal_info:
  119. params['terminal_info'] = self.terminal_info
  120. if self.prod_code:
  121. params['prod_code'] = self.prod_code
  122. if self.notify_url:
  123. params['notify_url'] = self.notify_url
  124. if self.return_url:
  125. params['return_url'] = self.return_url
  126. if self.udf_params:
  127. params.update(self.udf_params)
  128. return params
  129. def get_multipart_params(self):
  130. multipart_params = dict()
  131. if self.file_content:
  132. multipart_params['file_content'] = self.file_content
  133. return multipart_params