AlipayOfflineMaterialImageUploadRequest.py 4.9 KB

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