UseRule.py 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  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.ForbbidenTime import ForbbidenTime
  6. from alipay.aop.api.domain.UseTime import UseTime
  7. class UseRule(object):
  8. def __init__(self):
  9. self._ext_info = None
  10. self._forbidden_time = None
  11. self._limit_rule = None
  12. self._min_consume = None
  13. self._pay_redirect_url = None
  14. self._suit_shops = None
  15. self._use_time = None
  16. @property
  17. def ext_info(self):
  18. return self._ext_info
  19. @ext_info.setter
  20. def ext_info(self, value):
  21. self._ext_info = value
  22. @property
  23. def forbidden_time(self):
  24. return self._forbidden_time
  25. @forbidden_time.setter
  26. def forbidden_time(self, value):
  27. if isinstance(value, ForbbidenTime):
  28. self._forbidden_time = value
  29. else:
  30. self._forbidden_time = ForbbidenTime.from_alipay_dict(value)
  31. @property
  32. def limit_rule(self):
  33. return self._limit_rule
  34. @limit_rule.setter
  35. def limit_rule(self, value):
  36. self._limit_rule = value
  37. @property
  38. def min_consume(self):
  39. return self._min_consume
  40. @min_consume.setter
  41. def min_consume(self, value):
  42. self._min_consume = value
  43. @property
  44. def pay_redirect_url(self):
  45. return self._pay_redirect_url
  46. @pay_redirect_url.setter
  47. def pay_redirect_url(self, value):
  48. self._pay_redirect_url = value
  49. @property
  50. def suit_shops(self):
  51. return self._suit_shops
  52. @suit_shops.setter
  53. def suit_shops(self, value):
  54. if isinstance(value, list):
  55. self._suit_shops = list()
  56. for i in value:
  57. self._suit_shops.append(i)
  58. @property
  59. def use_time(self):
  60. return self._use_time
  61. @use_time.setter
  62. def use_time(self, value):
  63. if isinstance(value, list):
  64. self._use_time = list()
  65. for i in value:
  66. if isinstance(i, UseTime):
  67. self._use_time.append(i)
  68. else:
  69. self._use_time.append(UseTime.from_alipay_dict(i))
  70. def to_alipay_dict(self):
  71. params = dict()
  72. if self.ext_info:
  73. if hasattr(self.ext_info, 'to_alipay_dict'):
  74. params['ext_info'] = self.ext_info.to_alipay_dict()
  75. else:
  76. params['ext_info'] = self.ext_info
  77. if self.forbidden_time:
  78. if hasattr(self.forbidden_time, 'to_alipay_dict'):
  79. params['forbidden_time'] = self.forbidden_time.to_alipay_dict()
  80. else:
  81. params['forbidden_time'] = self.forbidden_time
  82. if self.limit_rule:
  83. if hasattr(self.limit_rule, 'to_alipay_dict'):
  84. params['limit_rule'] = self.limit_rule.to_alipay_dict()
  85. else:
  86. params['limit_rule'] = self.limit_rule
  87. if self.min_consume:
  88. if hasattr(self.min_consume, 'to_alipay_dict'):
  89. params['min_consume'] = self.min_consume.to_alipay_dict()
  90. else:
  91. params['min_consume'] = self.min_consume
  92. if self.pay_redirect_url:
  93. if hasattr(self.pay_redirect_url, 'to_alipay_dict'):
  94. params['pay_redirect_url'] = self.pay_redirect_url.to_alipay_dict()
  95. else:
  96. params['pay_redirect_url'] = self.pay_redirect_url
  97. if self.suit_shops:
  98. if isinstance(self.suit_shops, list):
  99. for i in range(0, len(self.suit_shops)):
  100. element = self.suit_shops[i]
  101. if hasattr(element, 'to_alipay_dict'):
  102. self.suit_shops[i] = element.to_alipay_dict()
  103. if hasattr(self.suit_shops, 'to_alipay_dict'):
  104. params['suit_shops'] = self.suit_shops.to_alipay_dict()
  105. else:
  106. params['suit_shops'] = self.suit_shops
  107. if self.use_time:
  108. if isinstance(self.use_time, list):
  109. for i in range(0, len(self.use_time)):
  110. element = self.use_time[i]
  111. if hasattr(element, 'to_alipay_dict'):
  112. self.use_time[i] = element.to_alipay_dict()
  113. if hasattr(self.use_time, 'to_alipay_dict'):
  114. params['use_time'] = self.use_time.to_alipay_dict()
  115. else:
  116. params['use_time'] = self.use_time
  117. return params
  118. @staticmethod
  119. def from_alipay_dict(d):
  120. if not d:
  121. return None
  122. o = UseRule()
  123. if 'ext_info' in d:
  124. o.ext_info = d['ext_info']
  125. if 'forbidden_time' in d:
  126. o.forbidden_time = d['forbidden_time']
  127. if 'limit_rule' in d:
  128. o.limit_rule = d['limit_rule']
  129. if 'min_consume' in d:
  130. o.min_consume = d['min_consume']
  131. if 'pay_redirect_url' in d:
  132. o.pay_redirect_url = d['pay_redirect_url']
  133. if 'suit_shops' in d:
  134. o.suit_shops = d['suit_shops']
  135. if 'use_time' in d:
  136. o.use_time = d['use_time']
  137. return o