AlipayCommerceAppUploadRequest.py 5.1 KB

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