MPromoInfo.py 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  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.MBudgetInfo import MBudgetInfo
  6. from alipay.aop.api.domain.MPromoConstraint import MPromoConstraint
  7. from alipay.aop.api.domain.MEquityInfo import MEquityInfo
  8. from alipay.aop.api.domain.MExtInfo import MExtInfo
  9. class MPromoInfo(object):
  10. def __init__(self):
  11. self._budget = None
  12. self._constraint = None
  13. self._equity_info = None
  14. self._ext_info = None
  15. self._out_promo_id = None
  16. @property
  17. def budget(self):
  18. return self._budget
  19. @budget.setter
  20. def budget(self, value):
  21. if isinstance(value, MBudgetInfo):
  22. self._budget = value
  23. else:
  24. self._budget = MBudgetInfo.from_alipay_dict(value)
  25. @property
  26. def constraint(self):
  27. return self._constraint
  28. @constraint.setter
  29. def constraint(self, value):
  30. if isinstance(value, MPromoConstraint):
  31. self._constraint = value
  32. else:
  33. self._constraint = MPromoConstraint.from_alipay_dict(value)
  34. @property
  35. def equity_info(self):
  36. return self._equity_info
  37. @equity_info.setter
  38. def equity_info(self, value):
  39. if isinstance(value, MEquityInfo):
  40. self._equity_info = value
  41. else:
  42. self._equity_info = MEquityInfo.from_alipay_dict(value)
  43. @property
  44. def ext_info(self):
  45. return self._ext_info
  46. @ext_info.setter
  47. def ext_info(self, value):
  48. if isinstance(value, list):
  49. self._ext_info = list()
  50. for i in value:
  51. if isinstance(i, MExtInfo):
  52. self._ext_info.append(i)
  53. else:
  54. self._ext_info.append(MExtInfo.from_alipay_dict(i))
  55. @property
  56. def out_promo_id(self):
  57. return self._out_promo_id
  58. @out_promo_id.setter
  59. def out_promo_id(self, value):
  60. self._out_promo_id = value
  61. def to_alipay_dict(self):
  62. params = dict()
  63. if self.budget:
  64. if hasattr(self.budget, 'to_alipay_dict'):
  65. params['budget'] = self.budget.to_alipay_dict()
  66. else:
  67. params['budget'] = self.budget
  68. if self.constraint:
  69. if hasattr(self.constraint, 'to_alipay_dict'):
  70. params['constraint'] = self.constraint.to_alipay_dict()
  71. else:
  72. params['constraint'] = self.constraint
  73. if self.equity_info:
  74. if hasattr(self.equity_info, 'to_alipay_dict'):
  75. params['equity_info'] = self.equity_info.to_alipay_dict()
  76. else:
  77. params['equity_info'] = self.equity_info
  78. if self.ext_info:
  79. if isinstance(self.ext_info, list):
  80. for i in range(0, len(self.ext_info)):
  81. element = self.ext_info[i]
  82. if hasattr(element, 'to_alipay_dict'):
  83. self.ext_info[i] = element.to_alipay_dict()
  84. if hasattr(self.ext_info, 'to_alipay_dict'):
  85. params['ext_info'] = self.ext_info.to_alipay_dict()
  86. else:
  87. params['ext_info'] = self.ext_info
  88. if self.out_promo_id:
  89. if hasattr(self.out_promo_id, 'to_alipay_dict'):
  90. params['out_promo_id'] = self.out_promo_id.to_alipay_dict()
  91. else:
  92. params['out_promo_id'] = self.out_promo_id
  93. return params
  94. @staticmethod
  95. def from_alipay_dict(d):
  96. if not d:
  97. return None
  98. o = MPromoInfo()
  99. if 'budget' in d:
  100. o.budget = d['budget']
  101. if 'constraint' in d:
  102. o.constraint = d['constraint']
  103. if 'equity_info' in d:
  104. o.equity_info = d['equity_info']
  105. if 'ext_info' in d:
  106. o.ext_info = d['ext_info']
  107. if 'out_promo_id' in d:
  108. o.out_promo_id = d['out_promo_id']
  109. return o