AlipaySecurityProdSignatureFileUploadRequest.py 4.0 KB

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