ZhimaDataBatchFeedbackRequest.py 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  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 ZhimaDataBatchFeedbackRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._biz_ext_params = None
  10. self._columns = None
  11. self._file_charset = None
  12. self._file_description = None
  13. self._file_type = None
  14. self._primary_key_columns = None
  15. self._records = None
  16. self._file = None
  17. self._version = "1.0"
  18. self._terminal_type = None
  19. self._terminal_info = None
  20. self._prod_code = None
  21. self._notify_url = None
  22. self._return_url = None
  23. self._udf_params = None
  24. self._need_encrypt = False
  25. @property
  26. def biz_model(self):
  27. return self._biz_model
  28. @biz_model.setter
  29. def biz_model(self, value):
  30. self._biz_model = value
  31. @property
  32. def biz_ext_params(self):
  33. return self._biz_ext_params
  34. @biz_ext_params.setter
  35. def biz_ext_params(self, value):
  36. self._biz_ext_params = value
  37. @property
  38. def columns(self):
  39. return self._columns
  40. @columns.setter
  41. def columns(self, value):
  42. self._columns = value
  43. @property
  44. def file_charset(self):
  45. return self._file_charset
  46. @file_charset.setter
  47. def file_charset(self, value):
  48. self._file_charset = value
  49. @property
  50. def file_description(self):
  51. return self._file_description
  52. @file_description.setter
  53. def file_description(self, value):
  54. self._file_description = value
  55. @property
  56. def file_type(self):
  57. return self._file_type
  58. @file_type.setter
  59. def file_type(self, value):
  60. self._file_type = value
  61. @property
  62. def primary_key_columns(self):
  63. return self._primary_key_columns
  64. @primary_key_columns.setter
  65. def primary_key_columns(self, value):
  66. self._primary_key_columns = value
  67. @property
  68. def records(self):
  69. return self._records
  70. @records.setter
  71. def records(self, value):
  72. self._records = value
  73. @property
  74. def file(self):
  75. return self._file
  76. @file.setter
  77. def file(self, value):
  78. if not isinstance(value, FileItem):
  79. return
  80. self._file = value
  81. @property
  82. def version(self):
  83. return self._version
  84. @version.setter
  85. def version(self, value):
  86. self._version = value
  87. @property
  88. def terminal_type(self):
  89. return self._terminal_type
  90. @terminal_type.setter
  91. def terminal_type(self, value):
  92. self._terminal_type = value
  93. @property
  94. def terminal_info(self):
  95. return self._terminal_info
  96. @terminal_info.setter
  97. def terminal_info(self, value):
  98. self._terminal_info = value
  99. @property
  100. def prod_code(self):
  101. return self._prod_code
  102. @prod_code.setter
  103. def prod_code(self, value):
  104. self._prod_code = value
  105. @property
  106. def notify_url(self):
  107. return self._notify_url
  108. @notify_url.setter
  109. def notify_url(self, value):
  110. self._notify_url = value
  111. @property
  112. def return_url(self):
  113. return self._return_url
  114. @return_url.setter
  115. def return_url(self, value):
  116. self._return_url = value
  117. @property
  118. def udf_params(self):
  119. return self._udf_params
  120. @udf_params.setter
  121. def udf_params(self, value):
  122. if not isinstance(value, dict):
  123. return
  124. self._udf_params = value
  125. @property
  126. def need_encrypt(self):
  127. return self._need_encrypt
  128. @need_encrypt.setter
  129. def need_encrypt(self, value):
  130. self._need_encrypt = value
  131. def add_other_text_param(self, key, value):
  132. if not self.udf_params:
  133. self.udf_params = dict()
  134. self.udf_params[key] = value
  135. def get_params(self):
  136. params = dict()
  137. params[P_METHOD] = 'zhima.data.batch.feedback'
  138. params[P_VERSION] = self.version
  139. if self.biz_model:
  140. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  141. if self.biz_ext_params:
  142. if hasattr(self.biz_ext_params, 'to_alipay_dict'):
  143. params['biz_ext_params'] = json.dumps(obj=self.biz_ext_params.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  144. else:
  145. params['biz_ext_params'] = self.biz_ext_params
  146. if self.columns:
  147. if hasattr(self.columns, 'to_alipay_dict'):
  148. params['columns'] = json.dumps(obj=self.columns.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  149. else:
  150. params['columns'] = self.columns
  151. if self.file_charset:
  152. if hasattr(self.file_charset, 'to_alipay_dict'):
  153. params['file_charset'] = json.dumps(obj=self.file_charset.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  154. else:
  155. params['file_charset'] = self.file_charset
  156. if self.file_description:
  157. if hasattr(self.file_description, 'to_alipay_dict'):
  158. params['file_description'] = json.dumps(obj=self.file_description.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  159. else:
  160. params['file_description'] = self.file_description
  161. if self.file_type:
  162. if hasattr(self.file_type, 'to_alipay_dict'):
  163. params['file_type'] = json.dumps(obj=self.file_type.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  164. else:
  165. params['file_type'] = self.file_type
  166. if self.primary_key_columns:
  167. if hasattr(self.primary_key_columns, 'to_alipay_dict'):
  168. params['primary_key_columns'] = json.dumps(obj=self.primary_key_columns.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  169. else:
  170. params['primary_key_columns'] = self.primary_key_columns
  171. if self.records:
  172. if hasattr(self.records, 'to_alipay_dict'):
  173. params['records'] = json.dumps(obj=self.records.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  174. else:
  175. params['records'] = self.records
  176. if self.terminal_type:
  177. params['terminal_type'] = self.terminal_type
  178. if self.terminal_info:
  179. params['terminal_info'] = self.terminal_info
  180. if self.prod_code:
  181. params['prod_code'] = self.prod_code
  182. if self.notify_url:
  183. params['notify_url'] = self.notify_url
  184. if self.return_url:
  185. params['return_url'] = self.return_url
  186. if self.udf_params:
  187. params.update(self.udf_params)
  188. return params
  189. def get_multipart_params(self):
  190. multipart_params = dict()
  191. if self.file:
  192. multipart_params['file'] = self.file
  193. return multipart_params