AlipayOpenPublicLifeMsgSendRequest.py 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313
  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 AlipayOpenPublicLifeMsgSendRequest(object):
  7. def __init__(self, biz_model=None):
  8. self._biz_model = biz_model
  9. self._category = None
  10. self._content = None
  11. self._desc = None
  12. self._msg_type = None
  13. self._source_ext_info = None
  14. self._title = None
  15. self._unique_msg_id = None
  16. self._video_length = None
  17. self._video_samples = None
  18. self._video_size = None
  19. self._video_source = None
  20. self._video_temporary_url = None
  21. self._video_url = None
  22. self._cover = None
  23. self._version = "1.0"
  24. self._terminal_type = None
  25. self._terminal_info = None
  26. self._prod_code = None
  27. self._notify_url = None
  28. self._return_url = None
  29. self._udf_params = None
  30. self._need_encrypt = False
  31. @property
  32. def biz_model(self):
  33. return self._biz_model
  34. @biz_model.setter
  35. def biz_model(self, value):
  36. self._biz_model = value
  37. @property
  38. def category(self):
  39. return self._category
  40. @category.setter
  41. def category(self, value):
  42. self._category = value
  43. @property
  44. def content(self):
  45. return self._content
  46. @content.setter
  47. def content(self, value):
  48. self._content = value
  49. @property
  50. def desc(self):
  51. return self._desc
  52. @desc.setter
  53. def desc(self, value):
  54. self._desc = value
  55. @property
  56. def msg_type(self):
  57. return self._msg_type
  58. @msg_type.setter
  59. def msg_type(self, value):
  60. self._msg_type = value
  61. @property
  62. def source_ext_info(self):
  63. return self._source_ext_info
  64. @source_ext_info.setter
  65. def source_ext_info(self, value):
  66. self._source_ext_info = value
  67. @property
  68. def title(self):
  69. return self._title
  70. @title.setter
  71. def title(self, value):
  72. self._title = value
  73. @property
  74. def unique_msg_id(self):
  75. return self._unique_msg_id
  76. @unique_msg_id.setter
  77. def unique_msg_id(self, value):
  78. self._unique_msg_id = value
  79. @property
  80. def video_length(self):
  81. return self._video_length
  82. @video_length.setter
  83. def video_length(self, value):
  84. self._video_length = value
  85. @property
  86. def video_samples(self):
  87. return self._video_samples
  88. @video_samples.setter
  89. def video_samples(self, value):
  90. if isinstance(value, list):
  91. self._video_samples = list()
  92. for i in value:
  93. self._video_samples.append(i)
  94. @property
  95. def video_size(self):
  96. return self._video_size
  97. @video_size.setter
  98. def video_size(self, value):
  99. self._video_size = value
  100. @property
  101. def video_source(self):
  102. return self._video_source
  103. @video_source.setter
  104. def video_source(self, value):
  105. self._video_source = value
  106. @property
  107. def video_temporary_url(self):
  108. return self._video_temporary_url
  109. @video_temporary_url.setter
  110. def video_temporary_url(self, value):
  111. self._video_temporary_url = value
  112. @property
  113. def video_url(self):
  114. return self._video_url
  115. @video_url.setter
  116. def video_url(self, value):
  117. self._video_url = value
  118. @property
  119. def cover(self):
  120. return self._cover
  121. @cover.setter
  122. def cover(self, value):
  123. if not isinstance(value, FileItem):
  124. return
  125. self._cover = value
  126. @property
  127. def version(self):
  128. return self._version
  129. @version.setter
  130. def version(self, value):
  131. self._version = value
  132. @property
  133. def terminal_type(self):
  134. return self._terminal_type
  135. @terminal_type.setter
  136. def terminal_type(self, value):
  137. self._terminal_type = value
  138. @property
  139. def terminal_info(self):
  140. return self._terminal_info
  141. @terminal_info.setter
  142. def terminal_info(self, value):
  143. self._terminal_info = value
  144. @property
  145. def prod_code(self):
  146. return self._prod_code
  147. @prod_code.setter
  148. def prod_code(self, value):
  149. self._prod_code = value
  150. @property
  151. def notify_url(self):
  152. return self._notify_url
  153. @notify_url.setter
  154. def notify_url(self, value):
  155. self._notify_url = value
  156. @property
  157. def return_url(self):
  158. return self._return_url
  159. @return_url.setter
  160. def return_url(self, value):
  161. self._return_url = value
  162. @property
  163. def udf_params(self):
  164. return self._udf_params
  165. @udf_params.setter
  166. def udf_params(self, value):
  167. if not isinstance(value, dict):
  168. return
  169. self._udf_params = value
  170. @property
  171. def need_encrypt(self):
  172. return self._need_encrypt
  173. @need_encrypt.setter
  174. def need_encrypt(self, value):
  175. self._need_encrypt = value
  176. def add_other_text_param(self, key, value):
  177. if not self.udf_params:
  178. self.udf_params = dict()
  179. self.udf_params[key] = value
  180. def get_params(self):
  181. params = dict()
  182. params[P_METHOD] = 'alipay.open.public.life.msg.send'
  183. params[P_VERSION] = self.version
  184. if self.biz_model:
  185. params[P_BIZ_CONTENT] = json.dumps(obj=self.biz_model.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  186. if self.category:
  187. if hasattr(self.category, 'to_alipay_dict'):
  188. params['category'] = json.dumps(obj=self.category.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  189. else:
  190. params['category'] = self.category
  191. if self.content:
  192. if hasattr(self.content, 'to_alipay_dict'):
  193. params['content'] = json.dumps(obj=self.content.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  194. else:
  195. params['content'] = self.content
  196. if self.desc:
  197. if hasattr(self.desc, 'to_alipay_dict'):
  198. params['desc'] = json.dumps(obj=self.desc.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  199. else:
  200. params['desc'] = self.desc
  201. if self.msg_type:
  202. if hasattr(self.msg_type, 'to_alipay_dict'):
  203. params['msg_type'] = json.dumps(obj=self.msg_type.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  204. else:
  205. params['msg_type'] = self.msg_type
  206. if self.source_ext_info:
  207. if hasattr(self.source_ext_info, 'to_alipay_dict'):
  208. params['source_ext_info'] = json.dumps(obj=self.source_ext_info.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  209. else:
  210. params['source_ext_info'] = self.source_ext_info
  211. if self.title:
  212. if hasattr(self.title, 'to_alipay_dict'):
  213. params['title'] = json.dumps(obj=self.title.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  214. else:
  215. params['title'] = self.title
  216. if self.unique_msg_id:
  217. if hasattr(self.unique_msg_id, 'to_alipay_dict'):
  218. params['unique_msg_id'] = json.dumps(obj=self.unique_msg_id.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  219. else:
  220. params['unique_msg_id'] = self.unique_msg_id
  221. if self.video_length:
  222. if hasattr(self.video_length, 'to_alipay_dict'):
  223. params['video_length'] = json.dumps(obj=self.video_length.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  224. else:
  225. params['video_length'] = self.video_length
  226. if self.video_samples:
  227. if isinstance(self.video_samples, list):
  228. for i in range(0, len(self.video_samples)):
  229. element = self.video_samples[i]
  230. if hasattr(element, 'to_alipay_dict'):
  231. self.video_samples[i] = element.to_alipay_dict()
  232. params['video_samples'] = json.dumps(obj=self.video_samples, ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  233. if self.video_size:
  234. if hasattr(self.video_size, 'to_alipay_dict'):
  235. params['video_size'] = json.dumps(obj=self.video_size.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  236. else:
  237. params['video_size'] = self.video_size
  238. if self.video_source:
  239. if hasattr(self.video_source, 'to_alipay_dict'):
  240. params['video_source'] = json.dumps(obj=self.video_source.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  241. else:
  242. params['video_source'] = self.video_source
  243. if self.video_temporary_url:
  244. if hasattr(self.video_temporary_url, 'to_alipay_dict'):
  245. params['video_temporary_url'] = json.dumps(obj=self.video_temporary_url.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  246. else:
  247. params['video_temporary_url'] = self.video_temporary_url
  248. if self.video_url:
  249. if hasattr(self.video_url, 'to_alipay_dict'):
  250. params['video_url'] = json.dumps(obj=self.video_url.to_alipay_dict(), ensure_ascii=False, sort_keys=True, separators=(',', ':'))
  251. else:
  252. params['video_url'] = self.video_url
  253. if self.terminal_type:
  254. params['terminal_type'] = self.terminal_type
  255. if self.terminal_info:
  256. params['terminal_info'] = self.terminal_info
  257. if self.prod_code:
  258. params['prod_code'] = self.prod_code
  259. if self.notify_url:
  260. params['notify_url'] = self.notify_url
  261. if self.return_url:
  262. params['return_url'] = self.return_url
  263. if self.udf_params:
  264. params.update(self.udf_params)
  265. return params
  266. def get_multipart_params(self):
  267. multipart_params = dict()
  268. if self.cover:
  269. multipart_params['cover'] = self.cover
  270. return multipart_params