MPromoConstraint.py 5.1 KB

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