Voucher.py 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. from alipay.aop.api.domain.ClauseTerm import ClauseTerm
  6. from alipay.aop.api.domain.DelayInfo import DelayInfo
  7. from alipay.aop.api.domain.VoucherDescDetail import VoucherDescDetail
  8. from alipay.aop.api.domain.DisplayConfig import DisplayConfig
  9. from alipay.aop.api.domain.ItemInfo import ItemInfo
  10. from alipay.aop.api.domain.UseRule import UseRule
  11. class Voucher(object):
  12. def __init__(self):
  13. self._allow_split = None
  14. self._available_amount = None
  15. self._brand_name = None
  16. self._clause_terms = None
  17. self._delay_info = None
  18. self._desc = None
  19. self._desc_detail_list = None
  20. self._display_config = None
  21. self._donate_flag = None
  22. self._effect_type = None
  23. self._end_time = None
  24. self._ext_info = None
  25. self._item_info = None
  26. self._logo = None
  27. self._max_amount = None
  28. self._multi_use_mode = None
  29. self._name = None
  30. self._rate = None
  31. self._relative_time = None
  32. self._rounding_rule = None
  33. self._start_time = None
  34. self._type = None
  35. self._use_instructions = None
  36. self._use_rule = None
  37. self._validate_type = None
  38. self._verify_mode = None
  39. self._voucher_img = None
  40. self._voucher_note = None
  41. self._worth_value = None
  42. @property
  43. def allow_split(self):
  44. return self._allow_split
  45. @allow_split.setter
  46. def allow_split(self, value):
  47. self._allow_split = value
  48. @property
  49. def available_amount(self):
  50. return self._available_amount
  51. @available_amount.setter
  52. def available_amount(self, value):
  53. self._available_amount = value
  54. @property
  55. def brand_name(self):
  56. return self._brand_name
  57. @brand_name.setter
  58. def brand_name(self, value):
  59. self._brand_name = value
  60. @property
  61. def clause_terms(self):
  62. return self._clause_terms
  63. @clause_terms.setter
  64. def clause_terms(self, value):
  65. if isinstance(value, list):
  66. self._clause_terms = list()
  67. for i in value:
  68. if isinstance(i, ClauseTerm):
  69. self._clause_terms.append(i)
  70. else:
  71. self._clause_terms.append(ClauseTerm.from_alipay_dict(i))
  72. @property
  73. def delay_info(self):
  74. return self._delay_info
  75. @delay_info.setter
  76. def delay_info(self, value):
  77. if isinstance(value, DelayInfo):
  78. self._delay_info = value
  79. else:
  80. self._delay_info = DelayInfo.from_alipay_dict(value)
  81. @property
  82. def desc(self):
  83. return self._desc
  84. @desc.setter
  85. def desc(self, value):
  86. self._desc = value
  87. @property
  88. def desc_detail_list(self):
  89. return self._desc_detail_list
  90. @desc_detail_list.setter
  91. def desc_detail_list(self, value):
  92. if isinstance(value, list):
  93. self._desc_detail_list = list()
  94. for i in value:
  95. if isinstance(i, VoucherDescDetail):
  96. self._desc_detail_list.append(i)
  97. else:
  98. self._desc_detail_list.append(VoucherDescDetail.from_alipay_dict(i))
  99. @property
  100. def display_config(self):
  101. return self._display_config
  102. @display_config.setter
  103. def display_config(self, value):
  104. if isinstance(value, DisplayConfig):
  105. self._display_config = value
  106. else:
  107. self._display_config = DisplayConfig.from_alipay_dict(value)
  108. @property
  109. def donate_flag(self):
  110. return self._donate_flag
  111. @donate_flag.setter
  112. def donate_flag(self, value):
  113. self._donate_flag = value
  114. @property
  115. def effect_type(self):
  116. return self._effect_type
  117. @effect_type.setter
  118. def effect_type(self, value):
  119. self._effect_type = value
  120. @property
  121. def end_time(self):
  122. return self._end_time
  123. @end_time.setter
  124. def end_time(self, value):
  125. self._end_time = value
  126. @property
  127. def ext_info(self):
  128. return self._ext_info
  129. @ext_info.setter
  130. def ext_info(self, value):
  131. self._ext_info = value
  132. @property
  133. def item_info(self):
  134. return self._item_info
  135. @item_info.setter
  136. def item_info(self, value):
  137. if isinstance(value, ItemInfo):
  138. self._item_info = value
  139. else:
  140. self._item_info = ItemInfo.from_alipay_dict(value)
  141. @property
  142. def logo(self):
  143. return self._logo
  144. @logo.setter
  145. def logo(self, value):
  146. self._logo = value
  147. @property
  148. def max_amount(self):
  149. return self._max_amount
  150. @max_amount.setter
  151. def max_amount(self, value):
  152. self._max_amount = value
  153. @property
  154. def multi_use_mode(self):
  155. return self._multi_use_mode
  156. @multi_use_mode.setter
  157. def multi_use_mode(self, value):
  158. self._multi_use_mode = value
  159. @property
  160. def name(self):
  161. return self._name
  162. @name.setter
  163. def name(self, value):
  164. self._name = value
  165. @property
  166. def rate(self):
  167. return self._rate
  168. @rate.setter
  169. def rate(self, value):
  170. self._rate = value
  171. @property
  172. def relative_time(self):
  173. return self._relative_time
  174. @relative_time.setter
  175. def relative_time(self, value):
  176. self._relative_time = value
  177. @property
  178. def rounding_rule(self):
  179. return self._rounding_rule
  180. @rounding_rule.setter
  181. def rounding_rule(self, value):
  182. self._rounding_rule = value
  183. @property
  184. def start_time(self):
  185. return self._start_time
  186. @start_time.setter
  187. def start_time(self, value):
  188. self._start_time = value
  189. @property
  190. def type(self):
  191. return self._type
  192. @type.setter
  193. def type(self, value):
  194. self._type = value
  195. @property
  196. def use_instructions(self):
  197. return self._use_instructions
  198. @use_instructions.setter
  199. def use_instructions(self, value):
  200. if isinstance(value, list):
  201. self._use_instructions = list()
  202. for i in value:
  203. self._use_instructions.append(i)
  204. @property
  205. def use_rule(self):
  206. return self._use_rule
  207. @use_rule.setter
  208. def use_rule(self, value):
  209. if isinstance(value, UseRule):
  210. self._use_rule = value
  211. else:
  212. self._use_rule = UseRule.from_alipay_dict(value)
  213. @property
  214. def validate_type(self):
  215. return self._validate_type
  216. @validate_type.setter
  217. def validate_type(self, value):
  218. self._validate_type = value
  219. @property
  220. def verify_mode(self):
  221. return self._verify_mode
  222. @verify_mode.setter
  223. def verify_mode(self, value):
  224. self._verify_mode = value
  225. @property
  226. def voucher_img(self):
  227. return self._voucher_img
  228. @voucher_img.setter
  229. def voucher_img(self, value):
  230. self._voucher_img = value
  231. @property
  232. def voucher_note(self):
  233. return self._voucher_note
  234. @voucher_note.setter
  235. def voucher_note(self, value):
  236. self._voucher_note = value
  237. @property
  238. def worth_value(self):
  239. return self._worth_value
  240. @worth_value.setter
  241. def worth_value(self, value):
  242. self._worth_value = value
  243. def to_alipay_dict(self):
  244. params = dict()
  245. if self.allow_split:
  246. if hasattr(self.allow_split, 'to_alipay_dict'):
  247. params['allow_split'] = self.allow_split.to_alipay_dict()
  248. else:
  249. params['allow_split'] = self.allow_split
  250. if self.available_amount:
  251. if hasattr(self.available_amount, 'to_alipay_dict'):
  252. params['available_amount'] = self.available_amount.to_alipay_dict()
  253. else:
  254. params['available_amount'] = self.available_amount
  255. if self.brand_name:
  256. if hasattr(self.brand_name, 'to_alipay_dict'):
  257. params['brand_name'] = self.brand_name.to_alipay_dict()
  258. else:
  259. params['brand_name'] = self.brand_name
  260. if self.clause_terms:
  261. if isinstance(self.clause_terms, list):
  262. for i in range(0, len(self.clause_terms)):
  263. element = self.clause_terms[i]
  264. if hasattr(element, 'to_alipay_dict'):
  265. self.clause_terms[i] = element.to_alipay_dict()
  266. if hasattr(self.clause_terms, 'to_alipay_dict'):
  267. params['clause_terms'] = self.clause_terms.to_alipay_dict()
  268. else:
  269. params['clause_terms'] = self.clause_terms
  270. if self.delay_info:
  271. if hasattr(self.delay_info, 'to_alipay_dict'):
  272. params['delay_info'] = self.delay_info.to_alipay_dict()
  273. else:
  274. params['delay_info'] = self.delay_info
  275. if self.desc:
  276. if hasattr(self.desc, 'to_alipay_dict'):
  277. params['desc'] = self.desc.to_alipay_dict()
  278. else:
  279. params['desc'] = self.desc
  280. if self.desc_detail_list:
  281. if isinstance(self.desc_detail_list, list):
  282. for i in range(0, len(self.desc_detail_list)):
  283. element = self.desc_detail_list[i]
  284. if hasattr(element, 'to_alipay_dict'):
  285. self.desc_detail_list[i] = element.to_alipay_dict()
  286. if hasattr(self.desc_detail_list, 'to_alipay_dict'):
  287. params['desc_detail_list'] = self.desc_detail_list.to_alipay_dict()
  288. else:
  289. params['desc_detail_list'] = self.desc_detail_list
  290. if self.display_config:
  291. if hasattr(self.display_config, 'to_alipay_dict'):
  292. params['display_config'] = self.display_config.to_alipay_dict()
  293. else:
  294. params['display_config'] = self.display_config
  295. if self.donate_flag:
  296. if hasattr(self.donate_flag, 'to_alipay_dict'):
  297. params['donate_flag'] = self.donate_flag.to_alipay_dict()
  298. else:
  299. params['donate_flag'] = self.donate_flag
  300. if self.effect_type:
  301. if hasattr(self.effect_type, 'to_alipay_dict'):
  302. params['effect_type'] = self.effect_type.to_alipay_dict()
  303. else:
  304. params['effect_type'] = self.effect_type
  305. if self.end_time:
  306. if hasattr(self.end_time, 'to_alipay_dict'):
  307. params['end_time'] = self.end_time.to_alipay_dict()
  308. else:
  309. params['end_time'] = self.end_time
  310. if self.ext_info:
  311. if hasattr(self.ext_info, 'to_alipay_dict'):
  312. params['ext_info'] = self.ext_info.to_alipay_dict()
  313. else:
  314. params['ext_info'] = self.ext_info
  315. if self.item_info:
  316. if hasattr(self.item_info, 'to_alipay_dict'):
  317. params['item_info'] = self.item_info.to_alipay_dict()
  318. else:
  319. params['item_info'] = self.item_info
  320. if self.logo:
  321. if hasattr(self.logo, 'to_alipay_dict'):
  322. params['logo'] = self.logo.to_alipay_dict()
  323. else:
  324. params['logo'] = self.logo
  325. if self.max_amount:
  326. if hasattr(self.max_amount, 'to_alipay_dict'):
  327. params['max_amount'] = self.max_amount.to_alipay_dict()
  328. else:
  329. params['max_amount'] = self.max_amount
  330. if self.multi_use_mode:
  331. if hasattr(self.multi_use_mode, 'to_alipay_dict'):
  332. params['multi_use_mode'] = self.multi_use_mode.to_alipay_dict()
  333. else:
  334. params['multi_use_mode'] = self.multi_use_mode
  335. if self.name:
  336. if hasattr(self.name, 'to_alipay_dict'):
  337. params['name'] = self.name.to_alipay_dict()
  338. else:
  339. params['name'] = self.name
  340. if self.rate:
  341. if hasattr(self.rate, 'to_alipay_dict'):
  342. params['rate'] = self.rate.to_alipay_dict()
  343. else:
  344. params['rate'] = self.rate
  345. if self.relative_time:
  346. if hasattr(self.relative_time, 'to_alipay_dict'):
  347. params['relative_time'] = self.relative_time.to_alipay_dict()
  348. else:
  349. params['relative_time'] = self.relative_time
  350. if self.rounding_rule:
  351. if hasattr(self.rounding_rule, 'to_alipay_dict'):
  352. params['rounding_rule'] = self.rounding_rule.to_alipay_dict()
  353. else:
  354. params['rounding_rule'] = self.rounding_rule
  355. if self.start_time:
  356. if hasattr(self.start_time, 'to_alipay_dict'):
  357. params['start_time'] = self.start_time.to_alipay_dict()
  358. else:
  359. params['start_time'] = self.start_time
  360. if self.type:
  361. if hasattr(self.type, 'to_alipay_dict'):
  362. params['type'] = self.type.to_alipay_dict()
  363. else:
  364. params['type'] = self.type
  365. if self.use_instructions:
  366. if isinstance(self.use_instructions, list):
  367. for i in range(0, len(self.use_instructions)):
  368. element = self.use_instructions[i]
  369. if hasattr(element, 'to_alipay_dict'):
  370. self.use_instructions[i] = element.to_alipay_dict()
  371. if hasattr(self.use_instructions, 'to_alipay_dict'):
  372. params['use_instructions'] = self.use_instructions.to_alipay_dict()
  373. else:
  374. params['use_instructions'] = self.use_instructions
  375. if self.use_rule:
  376. if hasattr(self.use_rule, 'to_alipay_dict'):
  377. params['use_rule'] = self.use_rule.to_alipay_dict()
  378. else:
  379. params['use_rule'] = self.use_rule
  380. if self.validate_type:
  381. if hasattr(self.validate_type, 'to_alipay_dict'):
  382. params['validate_type'] = self.validate_type.to_alipay_dict()
  383. else:
  384. params['validate_type'] = self.validate_type
  385. if self.verify_mode:
  386. if hasattr(self.verify_mode, 'to_alipay_dict'):
  387. params['verify_mode'] = self.verify_mode.to_alipay_dict()
  388. else:
  389. params['verify_mode'] = self.verify_mode
  390. if self.voucher_img:
  391. if hasattr(self.voucher_img, 'to_alipay_dict'):
  392. params['voucher_img'] = self.voucher_img.to_alipay_dict()
  393. else:
  394. params['voucher_img'] = self.voucher_img
  395. if self.voucher_note:
  396. if hasattr(self.voucher_note, 'to_alipay_dict'):
  397. params['voucher_note'] = self.voucher_note.to_alipay_dict()
  398. else:
  399. params['voucher_note'] = self.voucher_note
  400. if self.worth_value:
  401. if hasattr(self.worth_value, 'to_alipay_dict'):
  402. params['worth_value'] = self.worth_value.to_alipay_dict()
  403. else:
  404. params['worth_value'] = self.worth_value
  405. return params
  406. @staticmethod
  407. def from_alipay_dict(d):
  408. if not d:
  409. return None
  410. o = Voucher()
  411. if 'allow_split' in d:
  412. o.allow_split = d['allow_split']
  413. if 'available_amount' in d:
  414. o.available_amount = d['available_amount']
  415. if 'brand_name' in d:
  416. o.brand_name = d['brand_name']
  417. if 'clause_terms' in d:
  418. o.clause_terms = d['clause_terms']
  419. if 'delay_info' in d:
  420. o.delay_info = d['delay_info']
  421. if 'desc' in d:
  422. o.desc = d['desc']
  423. if 'desc_detail_list' in d:
  424. o.desc_detail_list = d['desc_detail_list']
  425. if 'display_config' in d:
  426. o.display_config = d['display_config']
  427. if 'donate_flag' in d:
  428. o.donate_flag = d['donate_flag']
  429. if 'effect_type' in d:
  430. o.effect_type = d['effect_type']
  431. if 'end_time' in d:
  432. o.end_time = d['end_time']
  433. if 'ext_info' in d:
  434. o.ext_info = d['ext_info']
  435. if 'item_info' in d:
  436. o.item_info = d['item_info']
  437. if 'logo' in d:
  438. o.logo = d['logo']
  439. if 'max_amount' in d:
  440. o.max_amount = d['max_amount']
  441. if 'multi_use_mode' in d:
  442. o.multi_use_mode = d['multi_use_mode']
  443. if 'name' in d:
  444. o.name = d['name']
  445. if 'rate' in d:
  446. o.rate = d['rate']
  447. if 'relative_time' in d:
  448. o.relative_time = d['relative_time']
  449. if 'rounding_rule' in d:
  450. o.rounding_rule = d['rounding_rule']
  451. if 'start_time' in d:
  452. o.start_time = d['start_time']
  453. if 'type' in d:
  454. o.type = d['type']
  455. if 'use_instructions' in d:
  456. o.use_instructions = d['use_instructions']
  457. if 'use_rule' in d:
  458. o.use_rule = d['use_rule']
  459. if 'validate_type' in d:
  460. o.validate_type = d['validate_type']
  461. if 'verify_mode' in d:
  462. o.verify_mode = d['verify_mode']
  463. if 'voucher_img' in d:
  464. o.voucher_img = d['voucher_img']
  465. if 'voucher_note' in d:
  466. o.voucher_note = d['voucher_note']
  467. if 'worth_value' in d:
  468. o.worth_value = d['worth_value']
  469. return o