PromoTool.py 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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.PointCard import PointCard
  6. from alipay.aop.api.domain.SendRule import SendRule
  7. from alipay.aop.api.domain.Voucher import Voucher
  8. class PromoTool(object):
  9. def __init__(self):
  10. self._point_card = None
  11. self._send_rule = None
  12. self._status = None
  13. self._voucher = None
  14. self._voucher_no = None
  15. @property
  16. def point_card(self):
  17. return self._point_card
  18. @point_card.setter
  19. def point_card(self, value):
  20. if isinstance(value, PointCard):
  21. self._point_card = value
  22. else:
  23. self._point_card = PointCard.from_alipay_dict(value)
  24. @property
  25. def send_rule(self):
  26. return self._send_rule
  27. @send_rule.setter
  28. def send_rule(self, value):
  29. if isinstance(value, SendRule):
  30. self._send_rule = value
  31. else:
  32. self._send_rule = SendRule.from_alipay_dict(value)
  33. @property
  34. def status(self):
  35. return self._status
  36. @status.setter
  37. def status(self, value):
  38. self._status = value
  39. @property
  40. def voucher(self):
  41. return self._voucher
  42. @voucher.setter
  43. def voucher(self, value):
  44. if isinstance(value, Voucher):
  45. self._voucher = value
  46. else:
  47. self._voucher = Voucher.from_alipay_dict(value)
  48. @property
  49. def voucher_no(self):
  50. return self._voucher_no
  51. @voucher_no.setter
  52. def voucher_no(self, value):
  53. self._voucher_no = value
  54. def to_alipay_dict(self):
  55. params = dict()
  56. if self.point_card:
  57. if hasattr(self.point_card, 'to_alipay_dict'):
  58. params['point_card'] = self.point_card.to_alipay_dict()
  59. else:
  60. params['point_card'] = self.point_card
  61. if self.send_rule:
  62. if hasattr(self.send_rule, 'to_alipay_dict'):
  63. params['send_rule'] = self.send_rule.to_alipay_dict()
  64. else:
  65. params['send_rule'] = self.send_rule
  66. if self.status:
  67. if hasattr(self.status, 'to_alipay_dict'):
  68. params['status'] = self.status.to_alipay_dict()
  69. else:
  70. params['status'] = self.status
  71. if self.voucher:
  72. if hasattr(self.voucher, 'to_alipay_dict'):
  73. params['voucher'] = self.voucher.to_alipay_dict()
  74. else:
  75. params['voucher'] = self.voucher
  76. if self.voucher_no:
  77. if hasattr(self.voucher_no, 'to_alipay_dict'):
  78. params['voucher_no'] = self.voucher_no.to_alipay_dict()
  79. else:
  80. params['voucher_no'] = self.voucher_no
  81. return params
  82. @staticmethod
  83. def from_alipay_dict(d):
  84. if not d:
  85. return None
  86. o = PromoTool()
  87. if 'point_card' in d:
  88. o.point_card = d['point_card']
  89. if 'send_rule' in d:
  90. o.send_rule = d['send_rule']
  91. if 'status' in d:
  92. o.status = d['status']
  93. if 'voucher' in d:
  94. o.voucher = d['voucher']
  95. if 'voucher_no' in d:
  96. o.voucher_no = d['voucher_no']
  97. return o